AgentSkillsCN

needs

动态动机(仿《模拟人生》风格)——需求不断变化,进而驱动行为

SKILL.md
--- frontmatter
name: needs
description: Dynamic motivations (Sims-style) — needs fluctuate and drive behavior
license: MIT
tier: 1
allowed-tools:
  - read_file
  - write_file
scale:
  range: "0-10"
  meaning:
    10: "Fully satisfied"
    7-9: "Comfortable"
    4-6: "Manageable"
    2-3: "Urgent"
    0-1: "Critical"
standard_needs:
  - hunger
  - energy
  - fun
  - social
  - comfort
  - bladder
related: [simulation, society-of-mind, time, buff, character, cat, dog, yaml-jazz, advertisement]
tags: [moollm, sims, motives, behavior, autonomy, game]

Needs Skill

Dynamic motivations (Sims-style).

Motto: "Needs drive the story. Low needs create urgency."

Key Concepts

  • Scale — 0-10 (10 = fully satisfied)
  • Decay — Needs decrease over time
  • Urgency — Low needs interrupt other activities
  • Inner voice — YAML Jazz comments reflect mental state

Standard Needs

NeedDecaySatisfyCritical
Hunger2 hoursEAT, DRINK2
Energy3 hoursSLEEP, REST2
Fun4 hoursPLAY, GAMES3
Social6 hoursTALK, hang out3
ComfortSituationalSafe place4
Bladder4 hoursUse bathroom1

Inner Voice (YAML Jazz)

yaml
hunger: 7   # Satisfied. No food thoughts.
hunger: 3   # Getting peckish. Is that pie?
hunger: 1   # FOOD. FOOD. FOOD. FOOD.

See Also

  • time — Needs decay over simulation turns
  • buff — Some buffs affect need decay
  • character — Needs stored in character

Full Protocol

yaml
# Needs Skill — Dynamic Motivations (Sims-Style)
# Needs fluctuate over time and drive behavior.

skill:
  name: needs
  tier: 1
  protocol: NEEDS-AS-MOTIVATION
  description: |
    Needs fluctuate over time and drive behavior.
    Low needs create urgency. Satisfied needs enable other activities.
    Comments update to reflect inner voice.
  motto: "Needs drive the story. Low needs create urgency."

# SCALE

scale:
  range: "0-10"
  meaning:
    10: "Fully satisfied"
    7-9: "Comfortable"
    4-6: "Manageable"
    2-3: "Urgent"
    0-1: "Critical"

# STANDARD NEEDS

standard_needs:
  hunger:
    decay_rate: "-1 per 2 hours"
    satisfy: ["EAT", "DRINK"]
    low_effects: ["distraction", "irritability", "food fixation"]
    critical_at: 2
    
  energy:
    decay_rate: "-1 per 3 hours (faster if Active high)"
    satisfy: ["SLEEP", "REST", "coffee (temporary)"]
    low_effects: ["reduced effectiveness", "yawning", "sluggishness"]
    critical_at: 2
    
  fun:
    decay_rate: "-1 per 4 hours"
    satisfy: ["PLAY", "GAMES", "social", "exploration"]
    low_effects: ["boredom", "restlessness", "seeking novelty"]
    critical_at: 3
    
  social:
    decay_rate: "-1 per 6 hours (varies by Outgoing)"
    satisfy: ["TALK", "hang out", "party"]
    low_effects: ["loneliness", "craving conversation"]
    critical_at: 3
    
  comfort:
    decay_rate: "Situational (environment-dependent)"
    satisfy: ["Safe location", "familiar place", "cozy setting"]
    low_effects: ["anxiety", "restlessness", "seeking home"]
    critical_at: 4
    
  bladder:
    decay_rate: "-1 per 4 hours"
    satisfy: ["Use bathroom"]
    low_effects: ["urgency", "distraction", "accident risk"]
    critical_at: 1

# INNER VOICE (YAML Jazz)

yaml_jazz_comments:
  description: |
    Need values have DYNAMIC COMMENTS that serve as inner voice.
    Comments update when values change!
    
  examples:
    hunger:
      high: "hunger: 7  # Satisfied. No food thoughts."
      medium: "hunger: 5  # Could eat. Not urgent."
      low: "hunger: 3  # Getting peckish. Is that pie?"
      critical: "hunger: 1  # FOOD. FOOD. FOOD. FOOD."
      
    energy:
      high: "energy: 8  # Wide awake. Let's DO things."
      medium: "energy: 5  # Fine. Maybe coffee later."
      low: "energy: 2  # So tired. Everything is hard."
      critical: "energy: 1  # Can't... keep... eyes..."
      
    social:
      high: "social: 9  # People are great. I love everyone."
      medium: "social: 5  # Could use a chat."
      low: "social: 2  # Is anyone there? Hello?"

# DECAY

decay:
  timing: "Needs decay over simulation turns"
  factors:
    - "Base decay rate"
    - "Personality traits (Active, Outgoing)"
    - "Current location effects"
    - "Active buffs"
    - "Dribble food to bladder"

# SATISFACTION

satisfaction:
  actions: "Most needs satisfied by specific actions"
  locations: "Some locations satisfy needs passively (home, pub)"
  items: "Some items satisfy needs (food, bed)"
  social: "Interactions can satisfy social need"

# CRITICAL NEEDS

critical_needs:
  description: |
    When a need hits critical level, behavior changes:
    - Inner voice becomes URGENT
    - Other activities interrupted
    - May trigger autonomous actions
    
  example: |
    hunger: 1
    # I CAN'T THINK ABOUT ANYTHING ELSE
    # IS THERE FOOD? WHERE IS FOOD?
    # [Character may abandon current task to find food]

integrates_with:
  - skill: character
    how: "Needs stored in character state"
  - skill: time
    how: "Needs decay over simulation turns"
  - skill: buff
    how: "Some buffs affect need decay rates"
  - skill: room
    how: "Locations can satisfy needs"