外观
04. 转译为最小单房间 Agent
本章目的
前面三章解释《模拟人生 4》怎样把角色状态、短期选择与身体执行接成循环。本章不复刻整款游戏,而是回答:
对“2D 单房间、一个有眼睛和手、会思考、可被人干预的 Agent”,最少需要保留什么,才能真的跑起来?
核心答案是一个混合系统:
text
结构化世界负责真值
感知负责有限观察
效用系统负责日常选择
小型目标层负责持续性
动作系统负责身体与失败
记忆负责让过去留下后效
大模型只处理含义、冲突、语言和少量慢思考1
2
3
4
5
6
7
2
3
4
5
6
7
核心玩家体验先于系统清单
主幻想是:
与一个有自己承诺、会受房间约束、能被理解但不被完全占有的房间生命共同生活。
一次约十分钟的体验循环是:
text
看见 Agent 正在关注什么、想完成什么、哪里不确定
→ 玩家形成判断
→ 选择改变环境、提供帮助、提出请求或取得实验直控
→ Agent 接受、协商、拒绝,或在外部强制下被动执行
→ 身体和世界给出真实结果
→ 房间、关系、承诺、能力或未来 Affordance 发生可见变化
→ 玩家据此决定下一次怎样相处1
2
3
4
5
6
7
2
3
4
5
6
7
玩家得到的是“理解—干预—承担后果”的乐趣,不是最高效地替 Agent 排满队列。会话开始前二选一:
- Coexistence Mode:核心体验;关闭普通 Operator Lease,只保留不可连续续租的一次性紧急辅助。身体调节拥有受保护时间;
- Lab Mode:实验与故障注入;可持续直控,但整段不进入人格、核心体验或玩家盲测,相关动作不署名为 Agent 自选。
中途不能为了方便悄悄切换模式。这样直控不会成为完成项目最快、最稳、代价最低的常规玩法。
最小可读界面只显示六件事:
- 当前意图和一个结构化短理由;
- 当前注意目标;
- 动作来源 / 身体控制所有者;
- Doing、Waiting、Blocked、Unsafe、Recovering 等状态;
- 成功、失败、拒绝、中断与外部强制的不同反馈;
- Agent 对关键对象或陈述的不确定提示。
这些信号以视线、姿态、图标和短句表达,不要求 Agent 为每个小动作发表长篇心理独白。
每个 UI 字段还标来源:Agent belief / public world feedback / Lab-only authority overlay。Normal Mode 不显示 Agent 未合法感知的权威危险原因;若产品 Safety 接管,只显示“外部 Safety 正在保护身体”,原因只在 Lab Overlay。玩家可读性测试分 behavior-only 与 minimal-UI 两组,不能靠把答案写成一句理由轻松过关。
一、继承、补足与暂时舍弃
| 处理方式 | 机制 | 理由 |
|---|---|---|
| 直接继承 | 物体声明 Affordances | 房间内容可扩展,不重写 Agent 总逻辑 |
| 直接继承 | 先 Tests、再 Utility | 不让“很想”突破物理与规则 |
| 直接继承 | 高分候选中的有限随机 | 避免机械唯一解 |
| 直接继承 | 玩家 / 自主 / 反应的优先级 Queue | 解决共享控制 |
| 直接继承 | 身体资源与兼容约束的思想 | 手、姿态、视线不再是假装;v0 不直接复刻通用多任务 |
| 直接继承 | 预期收益与真实结果分离 | 允许失败、误判与学习 |
| 直接继承 | Cooldown、饱和与重复惩罚 | 防止单一行为垄断 |
| 必须补足 | 真实的有限观察与错误认识 | 原作主要查询结构化世界,不是真正“眼睛” |
| 必须补足 | 当前意图的承诺与恢复 | 原作每轮活在当下,长行为容易失去连贯性 |
| 必须补足 | 三层记忆与来源 | 原作过去的后效分散,没有统一情节记忆循环 |
| 必须补足 | 很薄的每日前馈 | 让角色能为已知未来事件准备 |
| 必须补足 | 人类干预的多种权限与控制权状态机 | 环境变化、社会请求、直控和系统编辑不能混在一起 |
| 必须补足 | 情境角色、规范、物权与社会行为框架 | 文化和关系义务必须改变候选与 Outcome,不只换台词 |
| 暂时舍弃 | 大社区、职业经济、繁殖、全生命周期 | 与单房间单体闭环无关 |
| 暂时舍弃 | 数十种 Needs、情绪与 Traits | 参数多不等于行为深 |
| 暂时舍弃 | 详细全天日程、任意长 GOAP、左右手和通用并发 | 难以传达、容易失效、扩大死锁面 |
| 暂时舍弃 | 每 Tick 调用 LLM | 慢、贵、抖动且越权 |
SimSim 已经证明“单 Agent + 单房间 + Needs 衰减 + 找物体 + 移动 + 交互”的最小生存循环很容易成立;但它让 Agent 全知、只有泛化交互、没有手、记忆和人类干预。S17 本设计从它的可运行基线出发,重点补上这些缺口,而不是直接堆更多家具。
二、系统只有六个高阶模块
text
┌─────────────── 房间真值 ───────────────┐
│ 物体、位置、状态、时间、物理、事件 │
└───────────────┬───────────────────────┘
│ 有限感知
▼
┌──────────── Agent 状态 ────────────────┐
│ 身份 / Needs / Affect / Goals / Memory │
│ 身体 / 当前认识 / 人类关系 │
└───────────────┬───────────────────────┘
│ 产生与评价候选
▼
┌──────────── 决策与承诺 ────────────────┐
│ Tests → Utility → 选择 / 继续 / 放弃 │
└───────────────┬───────────────────────┘
│ Interaction Request
▼
┌──────────── 队列与动作执行 ────────────┐
│ 优先级、约束、转场、手、状态机、失败 │
└───────────────┬───────────────────────┘
│ 真实 Outcome
▼
┌──────────── 反馈与记忆 ────────────────┐
│ Needs / Affect / Belief / Goal / Event │
└───────────────┬───────────────────────┘
└──────── 回到下一轮 ────┘
人类干预与 LLM 都从侧面进入,但都不能直接越过世界真值和动作执行。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
六个模块分别是:
- 房间真值;
- 感知与当前认识;
- Agent 内部状态;
- 决策与承诺;
- Queue 与身体执行;
- 反馈与记忆。
大模型不是第七个统治模块,只是第 3、4、6 模块在少数慢速时刻使用的一种推理工具。
三项横切契约不算新“大脑”,但每层都必须遵守:
- Safety Supervisor:危险进入/退出、迟滞、响应时限和不可控退化;
- Control Ownership:任一时刻唯一身体控制所有者,外部强制正确归责;
- Event Reducer:同一事件只归约一次,事实、评价、关系与学习不重复计分。
三、房间真值:唯一能确认“发生了什么”的地方
最小房间状态
- 时间和昼夜;
- Agent 的位置、朝向、姿态;
- v0 一只抽象手的占用;
- 物体的位置、容器关系和可见状态;
- 物体的功能状态:开 / 关、锁 / 解锁、完整 / 损坏、空 / 有内容;
- 物体唯一父级、版本、预约与原子交接状态;
- 必要对象的持有者、所有者/群体、保管责任和分开的查看/使用/修改/转让权;
- 当前活动 Interactions;
- 由人类造成的环境变化;
- 结构化事件:声音、碰撞、温度变化、物体进入视野等。
三条硬规则
- LLM 不能直接设置“杯子已拿起”;
- 高层目标不能绕过路径、手与物体状态;
- 只有执行器确认的 Outcome 才能写进“已经发生”的记忆。
物理事实与制度事实都可以由结构化世界保存,但 Agent 只能通过合法观察、已知规则和社会互动认识它们。世界知道柜门上锁,不等于 Agent 在视野外自动知道;世界记录操作者强制移动杯子,也不等于 Agent 能看见幕后操作者。
开源 LLM 模组已经反复遇到这条边界:游戏内适配器必须负责收集真实状态和执行受限工具,外部模型负责提议;语言承诺只有在游戏完成动作后才能变成事实。S18 S19
四、眼睛不是“获得整个房间 JSON”
1. 视觉
视觉只返回:
- 视野范围和遮挡内的对象;
- 粗略类别、位置、显著状态和变化;
- 当前被注意对象的更多细节;
- 不确定或部分可见标记。
第一版无需计算机视觉。可以用结构化视锥、距离和遮挡模拟“眼睛”,但 Agent 不能绕过它读取全局对象表。
2. 听觉
听觉是事件流:
- 声源方向和大致距离;
- 强度、类别与开始 / 结束;
- 是否能识别人类语音;
- 被墙、物体或噪声影响后的置信度。
声音可以吸引视线和注意,但不自动把声源完整加入世界认识。
3. 触觉与本体感觉
触觉确认:
- 手是否接触目标;
- 是否抓稳、受阻、滑落或碰撞;
- 所持物体的粗略属性;
- 身体姿态和手是否可用。
“眼睛以为杯子在那里,手却摸空”是一个有价值的认知事件,不是系统 Bug。
4. 内感知
Agent 直接感到自己的 Energy、Nourishment、不适、唤醒水平等内部变化,但未必知道精确数值。决策层可以使用结构化值,表现层只需输出“有点饿”“非常疲惫”等区间。
5. 什么时候主动观察
观察本身是一种 Interaction,会占用视线、注意和时间。以下情况提高观察价值:
- 目标的最后已知位置已经过时;
- 行为前需要确认危险或对象状态;
- 预期结果与身体反馈不一致;
- 人类刚在视野外改变房间;
- 新声音或显著运动出现;
- 当前没有紧迫任务,Stimulation 较低;
- 某个重要记忆与现场线索匹配。
这样“眼睛”才进入决策循环,而不是装饰性摄像头。
主动观察还必须有终点:记录已覆盖区域、可取得的信息增益、时间成本和最大扫描次数;在有限次数后收敛到“确认、仍未知、询问/求助、放弃”之一。确认与撤销使用不同置信阈值,避免杯子在遮挡边缘时让 WalkTo ↔ Scan 每 Tick 翻转。高认知负荷下低显著事件可以延迟或漏检,高危险信号仍由 Safety 通路抢占。
五、最小内部参数
A. 慢变身份
第一版只需:
- 3—5 条具体事实;
- 2—3 个能改变行为的倾向;
- 1—2 项价值 / 关系义务;
- 1—2 个长期方向;
- 能力与禁限清单;
- 对房间和人类的初始认识。
坏例子:
“Mira 很复杂、敏感、有梦想。”
好例子:
“Mira 遇到陌生变化先观察再接触;她不愿破坏仍可修复的物体;她答应人类的事会至少重试一次,但连续两次失败后会说明原因并重新协商。”
后者直接接入候选、承诺与失败循环。
v0 固定两个参考身份,不允许实现者临时挑“容易显差异”的 Trait:
| 身份 | 结构化 Trait / Value | 只影响 | 明确不影响 |
|---|---|---|---|
| Mira | Methodical:不确定对象的 Inspect 候选 +0.10;Preserve:可修物先生成 Repair,再考虑 Discard | Tier 3 候选、项目方式、表现 | Safety、Tier 1、物理成功率、Trust |
| Niko | HandsOn:信念已足够时直接操作候选 +0.10;FinishWhatStarted:活动项目继续 +0.10 | Tier 3 候选、项目方式、表现 | Safety、Tier 1、权威、Objective Skill |
修正都受 Tier 3 总上限。相同世界与 Needs 下应产生预注册的非紧急频率差,危险时差异消失;关闭 LLM 后仍存在。
身份之外还要初始化一个可为空的 RelationalContext,并明确身份的 claimed / ascribed / recognized / currently-active 状态。Agent 自称照护者,不等于人类或当前情境承认这一角色。
B. Safety:独立模式,不是 Need
Safety 保存可信危险、后果、最迟响应时间、可用避险方法和当前模式 CLEAR / ALERT / EVACUATING / RECOVERY / UNCONTROLLABLE。它不与舒服、好奇、Trait 或承诺相加;具体进入、退出与迟滞见第 02、05 章。
C. 快速调节量:少量 UI 分组,内部不相互抵消
| 分组 | 内部来源 | 常见调节行为 |
|---|---|---|
| Energy | 清醒储备、短时耗竭 | 睡、坐、降低耗能 |
| Nourishment | Hydration、Calories 独立 | 饮水、进食、请求补给 |
| Comfort | ThermalComfort、PainComfort=1-pain、PostureComfort,取最低值 | 调温、换姿态、处理痛苦 |
| Engagement | 期望刺激与当前负荷的差 | 探索、创作、降负荷、Idle |
| Social Contact(可选) | 接触需求、社交负荷、伙伴可用性 | 交流、退出互动、带退避的求助 |
Safety、脱水、疼痛等取最紧迫来源,不能用平均值掩盖。Social Contact 只有在房间提供可控途径时启用;伙伴永久不在时进入明确不可控状态,不让“求助”垄断全部生活。
D. 慢速心理与关系状态
Autonomy、Competence、Relatedness 是理论启发的体验摘要,不是每分钟掉格的 Need,也不直接等于 Trust 或好感。S22
- Autonomy 分开记录选择来源、自我认可、强迫/依赖与合法权威;
- Skill、特定行动 Self-efficacy 和 Competence Experience 分开;
- Trust 只含领域化信息可靠性、承诺兑现、善意/安全预期;关系温暖只属于 Relationship;
- Relationship 另存角色、依赖、权威范围、边界史、互惠与未清义务;
- 所有慢变量由唯一 Reducer 小幅、有界更新,单次事件不改 Trait。
为保持 v0 最小,先记录 agency、Skill、Self-efficacy、Trust 和 Relationship 的直接事件;SDT Experience 聚合推迟到黄金切片通过后,不作为 v0 Gate。Impulse 同样推迟。这样不让尚无内容载体的心理字段抢占垂直切片。
E. Affect 与 Appraisal
- Valence:愉快 ↔ 不愉快;
- Arousal:平静 ↔ 激活;
- 一个或多个 Appraisal Episodes:目标影响、意外、可控性、候选原因、责任置信度、规范关系和结论置信度;
- 一个有显示迟滞的主要标签,仅供可读性。
Valence/Arousal 来自 Circumplex 的理论启发,S23 不是完整人类情绪模型。事件冲击、回落、习惯化/敏化和标签阈值都是待实验调参。
F. 目标与承诺
- 最多 2 个长期方向;
- 每日最多 3 个通过容量、可行性、期限和生存预算检查的承诺;
- 同时只有 1 个主意图;
- 最多 3 个已确定 Queue 项;
- 每个承诺保存来源/受益者、形成方式、同意/强制、义务、期限窗口、进度、剩余成本、prospective cues、恢复线索、失败预算和需重议条件。
G. 身体、注意与 Habit
- 位置、朝向、姿态;
- 一只抽象手和对象唯一归属;
- 一个活动身体 Interaction;
- 当前焦点与有限显著性缓冲;
- 活动注意占用、解析延迟、漏检和任务恢复线索;
- 少量有情境线索、强度与衰减的 Habits;
- 一个串行决策事务和唯一身体控制所有者。
六、情绪不要直接命令行为
事件评价管线
同一事件先选择当前 RelationalContext / SituatedScript,再经过一组受 Appraisal 理论启发的结构化问题:S24
- 与哪个 Need、承诺、共同目标、角色义务或价值有关?
- 是帮助、阻碍、损失还是尚不确定,和预期差多少?
- Agent 有哪些应对,控制力和成本如何?
- 自己、环境、人类或其他对象分别可能造成了什么;证据和责任置信度多高?
- 当前受众、关系和地方规范怎样组织这件事;是否有例外或争议?
- 当前结论多确定,什么反证会改变它?
然后才更新 Affect、Appraisal 和行为权重:
text
事件
→ 评价
→ Valence / Arousal 改变
→ 产生一个或多个行动倾向偏置
→ 修改候选与分数
→ 实际行动仍由完整决策决定1
2
3
4
5
6
2
3
4
5
6
六类可用的行动倾向
这不是“六种普遍人类情绪”,只是适合游戏的行为归纳:
| 行动倾向 | 常见体验标签 | 候选偏置 |
|---|---|---|
| 接近 / 获取 | 兴趣、期待、喜悦 | 接近、探索、分享、继续 |
| 保护 / 远离 | 害怕、警觉、厌恶 | 后退、检查出口、求助、观察 |
| 对抗 / 清障 | 愤怒、挫败 | 质问、移除阻碍、换强硬方法 |
| 恢复 / 寻求支持 | 悲伤、失落、疲惫 | 休息、安慰、降低目标、联系人类 |
| 修复社会关系 | 尴尬、羞愧、内疚 | 道歉、解释、补偿、暂时退场 |
| 脱离 / 降负荷 | 无聊、过载、平静需求 | 换活动、Idle、整理、放空 |
文化和关系规则可以改变“内部体验如何外显”。情绪研究提示,情绪在互动、关系和文化中共同形成;感受到、表现出和实际采取什么行动不能绑死。S27
更准确地说,情境脚本不只改外显:它先改变“此刻究竟在发生什么”的评价。例如公开纠正可以被理解为关怀、合法指导、越权羞辱或地位威胁,从而让候选和关系后效都不同,而不只是换一套道歉动画。S30
回落、饱和与混合
- Arousal 与 Valence 按各自可调时常趋向个人基线,标签另有显示迟滞;
- 安全且重复的小刺激可以习惯化,升级危险则可以敏化;
- 重大事件形成持久 Appraisal / 记忆,而不是永久锁死底层情绪;
- 允许“难过但仍履行承诺”“害怕但因为信任而接近”;
- UI 只显示一个主要标签,内部可以保留冲突来源。
七、四层目标:只在必要处规划
text
长期方向
“理解人类为何反复移动我的物品”
↓
每日承诺
“今天在人类出现时询问一次”
↓
当前意图
“先确认人类是否在听”
↓
Interaction / 身体步骤
转身 → 看向人类 → 开口 → 等待回应1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
1. 长期方向
来自身份、价值、重要关系和少量重大记忆。变化慢,不直接占用 Queue。
2. 每日承诺
最多一到三个。接受前必须检查容量、运行时可控性、估计成本、期限和身体服务预算;无法合理完成时应拒绝或协商,不能先答应再无限延期。它们提供前馈和持续性,但不排满全天。例如:
- 在睡前完成画作的下一阶段;
- 人类出现时询问箱子;
- Energy 进入低区前结束高耗实验。
承诺生命周期是:
text
PROPOSED → ACCEPTED → ACTIVE
↘ SUSPENDED / BLOCKED / RENEGOTIATING
↘ FULFILLED / BROKEN / EXPIRED / CANCELED / ABANDONED1
2
3
2
3
每个状态有进入/退出、期限和必须通知人类的条件。完成、取消或明确违约后去活所有 prospective cues,避免旧线索再次执行。S33
BROKEN / EXPIRED 不是统一过错。社会后效必须读取当时的 control owner、可控性、是否及时通知、是否有重议机会和 agency attribution:Safety 抢占、Operator 强制、资源永久失效、及时重议,与 Agent 可控拖延且不说明,产生不同的承诺可靠性与关系 episode。
3. 当前意图
这是跨多个 Interaction 的最小承诺单位。它必须保存:
- 为什么现在做;
- 已完成哪一步;
- 当前下一步;
- 恢复线索、期限和预计剩余成本;
- 局部
(目标、对象版本、失败原因)与全局(目标、对象族、扰动类别)两级预算;时间、跨日和普通版本变化不自动重新武装; - 哪些事件可打断;
- 被打断后恢复、重排还是放弃。
继续当前意图有最小驻留时间和切换滞回;危险、失效、期限或真正改变优先层级的事件可以立即打断,普通小刺激必须超过切换边际。重建同义意图不会重置失败预算。
4. Interaction Queue
只放已经确定、能够近期执行的身体交互。不要把模糊的“成为更好的人”塞进 Queue。
什么时候启用浅层规划
仅当当前意图存在依赖:
- 目标 Interaction 不能直接执行;
- 需要获取工具或腾出手;
- 有 2—5 个清楚的中间条件;
- 失败后存在可枚举替代方法。
其他日常行为仍由效用系统直接选下一项。这样保留《模拟人生 4》的反应性,又补上必要连续性。S02
v0 不实现通用 GOAP,只为已定义垂直切片手写可审查的 2—5 步任务图。若某一步失败,替代方法只有在改变了失败前提时才算新策略。
八、三层记忆:只保存会改变未来的过去
1. 工作记忆
保存几分钟内必须保持的内容:
- 当前意图与理由;
- 正在执行和等待的 Interactions;
- 当前注意对象;
- 最近一次关键观察;
- 尚未解决的失败;
- 当前对话轮。
容量小,任务结束后大部分清除。
2. 近期事件
只记录有后效的结构化事件:
text
唯一 event_id、何时、世界/对象版本
从什么模态得知
看见 / 听见 / 触到 / 被告知了什么
涉及谁和什么对象
参与者、受众、公开/私人情境与活动角色
原话/手势、规范/交易框架、同意和双方主张
当时服务哪个意图
预期什么
physical_outcome 与 social_outcome 分别是什么
成功、部分成功、失败或中断
结构化 Appraisal、候选原因和责任置信度
证据来源、反证和结论置信度1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
其中“人类说杯子在抽屉里”是人类陈述,不是世界事实。
3. 当前信念、因果假设与长期摘要
这三者不合并:
- 当前信念保存 Agent 现在相信的对象位置、功能、权利和人类陈述可靠性,引用支持与反证;
- 因果假设保存多种候选解释及责任置信度;相关性不会自动升格为因果;
- 长期摘要只保留稳定知识、能力证据、关系模式、Habit、承诺和少量重要情节,且必须引用事件 ID。
工作记忆、近期事件和长期摘要各有容量与 TTL;近期事件使用有界环形集合,摘要有数量上限。固定日界线做幂等压缩:同一 event ID 只消费一次,重复运行不会增加置信度;新反证可以降低、替换或恢复旧结论。睡眠可提前触发,但不是唯一触发器。
关系数值、Trust、Habit、Skill、Self-efficacy 和承诺状态由确定性 Reducer 更新;LLM 只能提出带证据的解释或摘要草案。Trait、Value 与长期身份不能由普通摘要静默改写。
完整 AuditLog 属于研究工具,只读、可重放,但 Agent 永远不能检索它。Agent Memory 仍有严格上限:未决承诺、权利、义务和社会框架保存有上限/TTL 的 evidence receipt;摘要只保留验证结论所需的最小证据簇。原事件从近期账本淘汰时,引用必须迁移为凭证、降置信或使摘要失效,不能悬空,也不能靠无限 pin 破坏有界性。
记忆检索
决策时按四项取少量记忆:
- 与当前目标的相关性;
- 与现场对象 / 人类的关联;
- 重要度;
- 新近程度。
检索还受注意容量、来源绑定和相似事件干扰;输出包含证据 ID。遗忘首先降低可访问性、细节和置信度,不把关键 Outcome 随机改写成另一个来源。
检索结果只改变解释、候选和权重,不直接改变世界。
Generative Agents 提供了“经历—检索—反思—计划”的强参考,但其自然语言记忆不能替代身体真值与结构化 Outcome。S20
九、人类干预必须分成五条通道
| 通道 | 人类做了什么 | Agent 怎样接收 | 默认权限 |
|---|---|---|---|
| 环境干预 | 移动物体、开灯、制造声音 | 通过眼、耳、触觉发现 | 没有“命令”含义 |
| 具身交流 | 说话、指向、递物、敲门 | 作为可解释事件 | 提供信息或社交压力 |
| 请求 / 建议 | “请把杯子给我” | 形成带来源的候选目标 | Agent 可同意、拒绝或协商 |
| 操作者直控 | Player/Operator 显式取得身体租约 | 标记为外部控制的 Queue 项 | 可打断普通自主,但受 Safety、物理和安全中断点约束 |
| 研究/系统编辑 | Researcher/System 改参数、传送、重置实验 | 非具身实验操作 | 经静止屏障;写研究日志,不伪装成 Agent 选择 |
为什么必须分开
如果研究者在 UI 里把 Energy 调满,Agent 不应记成“房间内人类喂了我一顿饭”;如果人类在背后移动杯子,Agent 不应凭系统日志自动知道;如果房间内人类用了命令语气,它仍是社会请求,不能自动升级为操作者直控。
关系层还要判断说话者在什么领域具有被承认的权威。高 Trust 不等于有命令权,低好感也不消除已经自我认可的照护义务。服从合法且自我认可的义务,不自动计为自主损失;受威胁的顺从则需要不同的 consent / coercion / agency_attribution。
建议的共享控制规则
- Safety 可以从任何模式抢占,并作废致险旧命令;
- 任一时刻只有
Agent / Operator / Safety之一拥有身体控制; - 人类请求先进入
NEGOTIATING,不等于直控; - Agent 只有在容量、可控性、期限和权限检查后才能接受请求;
- 操作者直控使用有 ID、有期限、可取消的租约,并在安全中断点接管;
- 连续相反命令被合并或背压,停止干预后必须有限时恢复;
- 所有 Queue 和 Outcome 保存
initiator / decision_owner / consent / coercion / authority_scope / agency_attribution; - 外部强制的物理结果可以被 Agent 感知,但不能记成“我同意并选择”;
- 强制后效有上限、衰减和修复路径;重复传输不重复伤害关系;
- 系统编辑永远进入研究日志;只有 Agent 合法观察到的变化进入其事件记忆。
这既保留玩家权力,也让 Agent 的自主性有可观察含义。
十、大模型只在四个位置工作
1. 解释人类语言
把话语解析为:陈述、问题、请求、命令语气、承诺、玩笑或不确定内容,并保留说话者、原话、受众、活动框架、权限主张与置信度。命令语气不是控制权。
2. 评价有意义的事件
在身份、关系、目标冲突时,填充受约束的 Appraisal 字段:目标影响、意外、可控性、候选原因、责任证据、规范与不确定;不得直接裁定未知责任。
3. 选择高层意图或短计划
输入必须是结构化、已通过基础检查并枚举 ID 的候选;输出只能是:
- 选择哪个意图;
- 为什么;
- 需要哪几个中间条件;
- 哪些情况应重新考虑。
所有输出携带输入状态版本、TTL、取消令牌、候选 ID 与证据 ID;提交前重验。
4. 反思与压缩记忆
把多条真实事件提议为可修正的长期摘要,必须引用 event IDs。无引用修辞只可作为表达或假设,不能写事实、Trust、Trait、Value 或关系数值。
大模型不能做的事
- 每 Tick 控制移动;
- 凭空发明可用物体;
- 绕过 Tests;
- 直接改 Need、关系或物体;
- 在 Interaction 尚未确认时宣称成功;
- 把人类陈述自动升级为真相;
- 生成无限长的全天计划;
- 自行扩大工具权限。
- 把有限随机选择事后包装成不存在的价值理由;
- 让自由文本直接触发身份、Trust、Skill、Habit 或关系变化。
每次选择同时生成机器决策追踪:候选来源、认识空间 Tests、分层结果、分数贡献、检索证据、随机种子与控制所有者。“实际因果理由”来自该追踪。
v0 允许 LLM 在枚举的合法 AppraisalID / IntentID / TaskGraphID 中提案,因此不同模型可以走不同但合法的高层轨迹。它们不能改变事实、责任证据、Tier、Tests、Safety、权限、允许转换或 Reducer。对同一已确认 causal episode,Trust/Skill 等可诊断直接更新必须模型无关;不同合法行为造成不同真实 Outcome 时,后续状态当然可以不同。自由文本只负责表达,不能创造新理由 ID。
SimAI 的分级 Autonomy、玩家优先锁、工具白名单和游戏内 / sidecar 分离,是这类边界的可参考实例,但其目标文档不应被误当作成熟验证。S18
十一、完整运行循环
每个 Tick
text
按一个世界命令序列处理 Agent、人类和系统操作
→ 推进唯一活动身体 Interaction
→ 更新世界、身体、调节量、Affect 和计时
→ 生成去重的有限感知事件
→ Safety 检查并在必要时抢占
→ 检查进度、提交、失败、中断与清理1
2
3
4
5
6
2
3
4
5
6
每个决策点
text
1. 批处理同一时间窗触发,只开启一个状态版本 v 的决策事务
2. 按 Safety → 控制权 → Outcome → 身体服务期限 → 承诺 Cue → 普通机会仲裁
3. 当前意图按生命周期与切换滞回继续、暂停、阻塞或结束
4. 从身体调节、角色义务、共同目标、承诺、Habit、环境机会和人类请求产生候选
5. 认识空间 Tests;社会规范生成遵守、协商、例外或违规候选
6. Tier 0—4 分层;只在普通 Tier 内做归一化 Utility 与有限随机
7. 只有语言、意义或价值冲突时调用带版本、TTL 与证据 ID 的 LLM
8. 返回后重验 Safety、控制权、对象版本和权威开始条件
9. 只提交一次 Queue 变化,由有限状态 Interaction 执行1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
每个 Outcome
text
生成幂等 physical_outcome / social_outcome 与责任字段
→ 唯一 Event Reducer 做失败分类与 Appraisal
→ 只更新直接相关的调节量、预期、信念、承诺、Skill / Self-efficacy 或关系维度
→ 记录有 ID、来源、支持与反证的近期事件
→ 依据失败前提选择重新观察、释放资源、重路由、练习、协商、换法、求助或终止1
2
3
4
5
2
3
4
5
固定日界线;睡眠不是唯一入口
text
幂等压缩有证据的重要事件
→ 有界更新慢状态,不静默改 Trait / Value
→ 处理承诺完成、延期、阻塞、过期、违约或重议
→ 读取已知的明日事件
→ 在容量、可控性和生存预算内接受最多三个承诺
→ 清理短期噪声1
2
3
4
5
6
2
3
4
5
6
十二、示例:人类移动了 Agent 想拿的杯子
初始状态
- Energy 正常,Engagement 低于舒适带;
- Agent 的每日承诺是“练习把三个物体分类到架子上”;
- 杯子上次在桌上,置信度中等;
- 抽象手空闲,Safety=
CLEAR。
决策
- “继续分类”获得承诺加成;
- “随便看看”能调节 Engagement;
- “休息”当前分数较低;
- Agent 选择继续分类,下一 Interaction 是观察桌面。
感知与执行
- 视线确认杯子在桌上;
PickUpCup通过认识空间 Test,携带杯子版本入队;- Agent 走近时,人类通过同一世界命令序列从视野外拿走杯子,版本改变;
- 开始前权威 Test 发现预约/版本不匹配,只给出可感知的目标不可用,手摸空。
反馈
- 世界没有改变为“杯子在手”;
- Outcome =
target_missing; - 事件记为“看见杯子后,它在接近期间消失”,不是“人类偷走杯子”;
- Arousal 与意外/受阻 Appraisal 上升,候选原因保持“人类、环境、记错或未知”;
- 杯子位置认识被标成未知;
- 当前承诺仍有效,但
(分类、杯子、target_missing)共享预算与退避,不会因重建意图清零。
下一轮候选
- 环视搜索;
- 询问人类;
- 改拿另一个物体;
- 暂停分类;
- 若有多次独立证据,才提高“某个具体人会在此类情境移动物体”的有限范围假设;相关性不等于故意阻挠。
人类此时说:“杯子在抽屉里。”
- 记录为人类陈述;使用此人在“物体位置”领域的信息可靠性,而非全局 Trust;
- Agent 可同意检查抽屉;
- 抽屉里的真实杯子仍需眼睛或手确认;
- 若陈述为假,只在可归因时小幅更新该领域可靠性;不自动降低关系温暖、善意或合法权威。
这段循环同时检验了:有限观察、目标持续、手部执行、失败诚实、因果克制、语言来源和关系学习。
十三、第一版行为内容
不要一开始制作几百个动作。以下内容已经足以验证循环:
十分钟黄金会话
Coexistence Mode、关闭直控,从固定初态开始:
- Agent 已在修复一件完成后会开放音乐/互动 Affordance 的项目物;
- 一个必要工具不在预期位置,原因是非恶意的房间变化;
- Agent 显示“继续修复”意图和“工具位置不确定”;
- 玩家可选择:通过环境把可能工具放到可见处、提出检查某处的社会请求、或等待 Agent 自己搜索;
- Agent 依据认识、权限、Trait 和承诺接受、协商、拒绝或自行换法;
- 十分钟内至少形成一个持久结果:项目推进/完成、开放新 Affordance、更新有证据的协作关系,或作出有代价的明确放弃。
三条玩家路径都必须闭合,不能只有“故意移动物体让 Agent 失败”才产生故事。一个有意义 beat 指发现新信息、推进承诺、改变对象状态、完成调节、完成社会协商或作出有代价的放弃;Idle 不计 beat,也不能用来稀释无聊指标。
房间对象
- 床或休息椅;
- 有明确补给、耗尽和失效状态的食物 / 饮水来源;
- 桌子与可放置 Surface;
- 一个私人抽屉和一个共享容器,用来验证权限与紧急例外;
- 杯子、书、盒子、工具等 5—10 个可持物;其中一个可成为 gift / loan / shared-use;
- 一件三阶段可修复或创作的项目对象,完成后永久开放一个新 Affordance;
- 一个会升温、损坏并触发 Safety 的灯或设备;
- 人类可从外部操作的入口。
基础 Interactions
- LookAt、Scan、Listen、Inspect;
- WalkTo、TurnTo、Sit、Stand、Rest、Sleep;
- PickUp、PutDown、Give、Receive;
- Open、Close、SwitchOn、SwitchOff;
- Eat / Drink;
- 项目专用的 Inspect、Prepare、Repair/Create、Test;
- Speak、ListenToHuman、AskPermission、InvokeException、Negotiate、Agree、Refuse、RequestHelp;
- Wait 与 Idle。
Continue、Retry、Suspend、Recover、Abandon 是意图 / Interaction 生命周期转换,不作为会递归选择自身的泛化世界动作。
最小复杂任务
只做五个相互覆盖的垂直切片:
- 稳态:无人、无 LLM 时用可补给资源维持 Energy、Hydration/Calories 与 Comfort;资源失效则进入有界降级;
- 有限感知:找到并拿起一个可在视野外被移动、锁定、损坏或销毁的对象;
- 跨日项目:三阶段修复一件物体,中断后恢复,完成后真的新增未来 Affordance 与技能证据;
- 安全冲突:项目进行中设备升温,Safety 抢占、旧致险命令失效、恢复后继续或重议;
- 社会承诺:人类对一件物体提出 gift / loan / shared-use 中的一种框架,随后兑现或违背承诺,并混入真假位置陈述。
五个切片共同检验生存、感知、手、长期进度、前馈、信任分域、物权、角色规范和人类干预。它们跑稳之前,不需要社区、职业、通用 GOAP、第二只手或通用多任务。
v0 明确不做
- 同时两个身体 Interactions;
- 左右手和任意资源锁图;
- 通用行为树 / GOAP / 约束图编辑器;
- 自发形成民族或群体“文化”;
- LLM 直接学习数值或写人格;
- 大量泛化
UseObject来制造表面内容数。
十四、从基础闭环到“会思考”的顺序
阶段 0:无 LLM 的生命闭环
- Safety Supervisor 与调节量合同;
- 物体 Affordances;
- 认识空间 Tests、分层仲裁与普通 Utility;
- 一个身体 Interaction、短 Queue、提交/清理和 watchdog;
- 幂等 Outcome + 唯一 Reducer;
- pending effect、族级饱和、Cooldown 与有限 Habit。
验收:多种子长期运行中,资源可控时维持边界;不可控时有界降级;无死锁、无对象复制、无虚报成功。
阶段 1:眼睛、手与错误认识
- 视野、遮挡、注意;
- 手资源与抓取确认;
- 当前认识与世界事实分离;
- 决策 Test 与权威 Test 分离;
- 对象版本、预约、原子交接;
- 有界搜索、注意负荷、失败分类和重新观察。
验收:人类在视野外移动物体时,Agent 不会全知,也能恢复。
阶段 2:承诺、关系与记忆
- 当前意图持续;
- 承诺生命周期与 prospective cues;
- 事件、信念、假设、摘要分离且有证据/反证;
- 多维 Trust、RelationalContext、物权与 SocialActFrame;
- 跨日项目和真假陈述。
验收:被打断后能合理恢复或说明放弃;过去会改变未来,但不会永久锁死。
阶段 3:受限 LLM 思考
- 语言理解;
- 结构化 Appraisal / 归因;
- 价值冲突和 2—5 步浅计划;
- 带 event IDs 的摘要草案;
- 状态版本、TTL、输出校验、机器决策追踪;
- 工具白名单、权限分级和无 LLM 降级。
验收:LLM 关闭时底层仍能活;LLM 开启后增加含义和连续性,而不破坏身体真值。
十五、怎样判断它是否真的“活起来”
不要只看对话是否像人。至少观察十项:
| 指标 | 通过表现 |
|---|---|
| 生存闭环 | 无人干预时能长期调节基本 Needs |
| 因果诚实 | 未执行成功的事绝不进入事实记忆 |
| 感知诚实 | 视野外变化不会被立即知道 |
| 身体一致 | 手持、位置、姿态与物体状态永不互相矛盾 |
| 意图持续 | 普通新刺激不会每次都清空当前任务 |
| 可恢复失败 | 失败后能观察、换法、求助或放弃,不无限重试 |
| 个性可读 | 相同情境下,长期偏置能从行为频率和方式看出 |
| 行为多样 | 不被一个高收益物体或 Idle 动作永久垄断 |
| 人类可控 | 玩家能介入且明白自己使用了哪一种权限 |
| 过去有后效 | 重要经历改变未来选择,琐事会淡出 |
| 情绪有因 | Affect 变化能追到事件与 Appraisal,而非随机换脸 |
| 计划有边界 | 只为明确依赖做浅规划,不在每轮重写人生 |
| 社会意义不独裁 | 礼物/借用、许可/例外和责任归属可被认可或争议 |
| 玩家读得懂 | 不读内部日志也能区分意图、来源、失败、拒绝和外部强制 |
这些仍只是指标名称,不足以靠一次漂亮录像宣布通过。具体时长、种子数、故障注入、反事实、盲测阈值、可重放日志和失败条件统一见 05-validation.md。
十六、绝不能破坏的设计不变量
- 世界真值只有房间系统能写。
- 观察不到的变化不能自动成为 Agent 知识。
- 高层意图只能请求 Interaction,不能直接控制身体结果。
- 决策只用认识空间 Tests;权威世界 Tests 只返回合法失败证据。
- Safety 在 Utility 之外,有迟滞、时限和不可控退化。
- 任一时刻只有一个身体控制所有者;外部强制不署名为 Agent 选择。
- 每个 Interaction 都有时限、提交点、部分 Outcome、幂等结算和清理。
- 每个对象任一时刻只有一个父级;物理交接与权利转移分开。
- 重要承诺有生命周期、prospective cue、失败预算、放弃与重议出口。
- 规范能被协商或争议,不与物理不可能混写。
- 情绪修改选择,不独裁选择;未知原因不自动归责。
- 同一事件只由一个 Reducer 写状态,不重复计分。
- 记忆保存 event ID、来源、支持、反证、置信度和真实 Outcome。
- 大模型永远不能自证成功、扩大权限、自由改人格或把修辞写成事实。
- 每个正反馈都有饱和、衰减、反证和受保护恢复出口。
- 当解释系统关闭,底层生命循环仍能持续运行。
最终最小模型
若只保留一页设计,可用下面这版:
text
角色:少量 Trait/Value + 活动角色/义务 + Skill/Self-efficacy/Habit 分离
调节:Safety 独立;少量 UI Need 分组保留不可抵消来源与不可控状态
感知:视线 / 声音 / 触觉 / 内感知,带有限注意、版本、来源和置信度
世界:物体提供 Affordances、唯一父级与必要社会权利;真值独立于角色认识
选择:Safety → 服务期限 → 承诺/义务 → Habit/普通 Utility → 有限随机
检查:认识空间 Tests → 权威开始 Tests;地方规范可协商而非全硬删
持续:承诺/意图有生命周期、线索、进度、切换滞回、跨意图失败预算
执行:短 Queue → 离散转场 → 一个活动身体 Interaction → 提交/清理/幂等 Outcome
身体:一只抽象手、一个控制所有者,人类操作进入同一世界命令序列
反馈:physical/social Outcome → 唯一 Reducer → 归因后更新直接状态
记忆:事件 / 当前信念 / 因果假设 / 有证据摘要分开,支持反证与幂等压缩
一天:固定日界线 + 最多三个有容量承诺 + 日内 prospective cues
人类:环境、交流、请求、Operator 租约、System 编辑五通道,责任不混淆
文化:少量有来源的 SituatedScripts、ObjectSocialState、SocialActFrame,可争议
LLM:带状态版本和证据,只做语言、Appraisal 草案、冲突、浅计划与摘要草案
验证:固定种子、重放、故障注入、反事实和盲测;不得挑漂亮录像1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
它继承了《模拟人生 4》最强的部分——短期效用、对象交互、队列、约束和多状态执行——同时补上单房间研究真正需要的眼睛、手、目标持续、记忆和人类关系。