外观
02. Tick、认知轮与每日循环
本章回答什么
Agent 同时活在三个时间尺度中:
- Tick:身体和房间持续运行;
- 认知轮:遇到真正选择点时决定继续还是改变;
- 慢整合循环:回顾较长时期,调整认识和未来方向。
三种循环必须共享状态,但只有一个主控制循环有权真正修改状态。大模型和反思只返回建议。
一、MVP 的时间契约
以下是首轮验证用配置,不是最终调优值:
| 项目 | 起始配置 | 目的 |
|---|---|---|
| 模拟 Tick | 每 0.1 模拟秒一次 | 推进房间、身体和技能 |
| 感官采样 | 每 Tick | 短事件不会穿过采样间隙 |
| 普通事件合并窗 | 1 模拟秒 | 合并连续说话、灯光抖动等重复输入 |
| 每轮注意容量 | 普通事件 Top 3 | 防止一次处理整个房间 |
| 普通认知请求 | 同一时刻最多 1 个 | 防止并发思考互相覆盖 |
| 模型等待上限 | 5 秒真实时间 | 超时后进入确定性回退 |
| 普通意图最短驻留 | 30 模拟秒 | 防止频繁改变主意 |
| 慢整合最短间隔 | 6 模拟小时 | 防止重大事件连续触发反思风暴 |
| 慢整合最长间隔 | 24 模拟小时 | 即使不睡觉也不会永远不整理 |
模拟时间与真实时间分开。暂停时模拟时间不前进;加速只增加模拟 Tick 的处理速度,不改变状态变化的“每模拟分钟”速率。渲染掉帧不能改变同一模拟时刻的结果。
二、每个 Tick:让事实发生
每个 Tick 固定按以下顺序:
- 推进房间和对象状态;
- 积分精力、饥饿等连续状态;
- 根据方向、遮挡、距离、声音和触觉产生感觉候选;
- 由注意机制选出当前观察;
- 推进唯一一个正在执行的身体技能;
- 产生进度、成功、失败或中断事件;
- 合并和锁存尚未处理的重要事件;
- 检查是否触发认知轮;
- 在 Tick 边界统一提交所有合法状态变化。
Tick 不等待大模型。瞬时事件至少保存到被认知轮消费,不能因为只出现半秒就丢失。
三、什么会触发认知轮
触发门由稳定规则粗判,不先问大模型:
- 当前任务完成;
- 技能失败、超时或没有进展;
- 身体缺口跨过进入阈值;
- 碰撞、疼痛、物品滑落等强制事件;
- 可见对象发生明显版本变化;
- 人类开始请求、说完一段话或移动关键对象;
- 当前计划依赖的条件失效;
- 到达检查点或 Agent 空闲。
同一个对象、同一种属性、同一个版本只生成一次事件。稳定重复刺激会逐渐习惯化;真正变化会重新获得注意。危险与系统停止绕过普通队列,在一个 Tick 内生效。
普通事件队列首轮上限为 32。超出时合并同类并丢弃最低优先的重复项,同时留下“发生过溢出”的审计记录;安全事件永不因队列满而丢弃。
四、候选行为从哪里来
认知轮不是先问大模型“你想干什么”。系统从七个固定来源产生少量主观可计划候选:
- 当前承诺:继续、恢复或做当前目标的下一任务;
- 身体调节:进食、休息、避险等;
- 长期承诺:目标、承诺、照护、义务和禁止事项;
- 生活实践:由时间、地点、对象或关系线索触发的习惯/仪式;
- 当前观察:调查变化、处理障碍、利用新机会;
- 人类互动:回应、接受、拒绝、协商、延后或结束互动;
- 空闲候选:探索、恢复、等待或推进长期作品。
每个候选带有:来源、想得到的结果、依据的认识、预计收益、成本、风险、需要的对象,以及可使用的任务模板。
候选只依据 Agent 当前认识生成。杯子在视野外被移走后,“去原位置拿杯子”仍可成为候选;只有执行到现场,世界系统才判定它是否成功。
五、认知轮怎样选择
第一步:硬约束
只有两类具有绝对优先权:
- 身体/世界硬安全;
- 白名单系统控制,如暂停和安全停止。
第二步:Agent 受保护立场
已激活的明确禁忌、关系边界、禁止事项和义务不进入普通分数相加。它们先产生 Agent 侧否决或“规则冲突事项”。
- 没有冲突时,只保留遵守边界的候选;
- 两条受保护立场冲突时,候选只能是遵守其中一方、协商、延后,或明确承担后果地改例/违背;
- 人类高收益请求、重复请求或便利性不能静默冲掉已经建立的禁触与静音边界。
这不是世界硬约束:Agent 仍可能改变或违背自己的规则,但必须成为一次有原因、有后果、可记忆的显式决定。
第三步:统一权衡软候选
其余候选使用同一个简单框架:
text
吸引力 =
身体缺口缓解
+ 目标或承诺进展
+ 价值与情境规则匹配
+ 关系/实践意义
+ 预期成功
- 时间与精力成本
- 风险
- 打断当前承诺的切换代价1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
大模型可以判断复杂的“意义是否匹配”,但基础缺口、时间、风险和切换代价由稳定系统给出。
最终裁决权固定如下:
- 稳定系统先把总吸引力归一化为
0..1; - 若第一名比第二名高出至少
0.15,稳定系统直接选择,大模型不能改选; - 只有差距小于
0.15的近似并列候选会交给大模型; - 大模型只能在这组并列候选中选择,并引用角色、关系、物品或场合证据;
- 若大模型失败,则用固定种子的低温随机在并列组中选择。
新候选仍需越过相对于当前承诺的切换阈值才抢占。
第四步:提交下一行为
认知轮最终只能得到一种结果:
- 继续当前技能;
- 提交一个新任务;
- 保存当前进度并暂停;
- 等待/观察;
- 拒绝、协商、延后或结束互动;
- 进入安全或故障状态。
纯内心独白不算完成一轮。
六、一次认知轮的固定顺序
text
1. 冻结本轮相关状态
2. 消费 Top-3 事件并更新认识
3. 处理硬安全与系统控制
4. 激活相关需要、承诺、关系、情境规则和实践
5. 从七个来源生成候选
6. 取回少量相关经历与反证
7. 计算基础吸引力,必要时让大模型处理语义冲突
8. 选择继续、切换、拒绝、等待或求助
9. 把意图拆成有界的近期任务
10. 检查任务模板与主观前置条件
11. 提交唯一下一技能或明确状态1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
七、异步大模型怎样安全加入循环
同一决策领域只能有一个请求在等待。新普通事件先合并进下一轮;危险可以取消当前请求。
每个模型建议都标明:
- 它属于哪次认知轮;
- 基于哪个目标、对象和关键认识版本;
- 最迟何时仍有效;
- 它选择了哪个已有候选或任务模板。
模型返回时,只检查它真正依赖的字段。无关的饥饿小幅变化不会让地点选择永久过期;关键杯子、目标或人类请求已改变则必须丢弃。
只有主循环能在 Tick 边界一次性提交建议。重复回调只提交一次;过期、非法或超时答案零副作用。
确定性回退
- 当前技能仍安全:继续到可暂停点;
- 当前技能结束且身体需要紧迫:选择最高紧迫的可用自我照顾;
- 其他情况:短暂观察或等待;
- 危险:立即由安全规则接管。
八、控制状态与故障恢复
Agent 始终处于一个明确控制状态:
| 状态 | 含义 |
|---|---|
| RUNNING | 正常执行技能 |
| WAITING_DECISION | 安全等待慢决策,但房间仍运行 |
| SAFE_HOLD | 停在不会继续造成副作用的位置 |
| PAUSED | 系统暂停,模拟时间不推进 |
| DEGRADED | 关键资源、传感或模型不可用,采用有限生活方式 |
| FAULT | 无法保证安全或一致性,停止普通行为等待处理 |
技能没有进度心跳、模型反复失败、队列持续溢出或状态非法时,进入相应降级/故障状态,而不是无限重试。
安全暂停只冻结执行,不修改记忆、关系和意图。重置、回滚或删除记忆属于管理员操作:必须先快照、留下审计记录,也不能被记成 Agent 自己的选择。
九、不可满足需要怎样处理
负反馈只有在房间存在调节手段时才闭合。若食物耗尽:
- 进食候选失败并得到可感知原因;
- 在配置的同方法重试上限内重新观察;
- 尝试替代、求助或等待补给;
- 锁定为“当前不可达”,进入退避;
- 缺口保持有界,不再每 Tick 触发认知;
- 新补给出现后解除锁定。
这种保护同样用于人类长期缺席、工具损坏和目标对象永久不可达。
十、慢整合循环
慢整合可由睡眠、日落、饭后实践或阶段结束触发,但必须遵守最短/最长间隔。
重大事件只标记“待整合”,不会立刻连续运行多次反思。
慢整合依次:
- 汇总真实完成、失败、放弃和外部干预;
- 合并重复经历,保留原始证据与争议;
- 更新对物、人、区域和实践的认识;
- 检查长期承诺的进展与可行性;
- 在每日变化预算内调整少量目标和关系结论;
- 产生下一阶段的几个粗时间块。
慢建议基于一个一致快照,返回时只合并仍有效部分,不能覆盖刚刚发生的短期承诺。
十一、三个循环怎样闭合
text
慢整合给出方向与承诺
→ 认知轮从固定来源生成并选择候选
→ Tick 把唯一技能变成身体结果
→ 结果更新状态、认识、目标和记忆
→ 新事件触发下一认知轮
→ 多轮经历再次进入慢整合1
2
3
4
5
6
2
3
4
5
6
十二、观察与回放
每条因果链共享一个编号:
text
外部事件
→ Agent 观察
→ 状态变化
→ 认知触发
→ 候选集
→ 选择与拒绝原因
→ 技能
→ 世界结果1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
玩家界面至少显示视线/手部目标、当前意图与进度、最近一次改变主意的简短原因。开发视图才显示完整参数与日志,且不能泄露给 Agent。
固定事件序列、随机种子和已录制模型回答后,模拟应能重放出相同关键轨迹。
本章的设计检查
三个循环只有在以下问题都有明确答案时才算可运行:
- 时间按什么基准推进;
- 哪些事件触发认知,重复事件如何合并;
- 候选从哪些固定来源产生;
- 主观可计划与物理可执行在哪里分开;
- 谁能抢占当前承诺;
- 模型等待、过期、非法和重复答案如何处理;
- 每轮怎样保证落到唯一技能、等待、拒绝或安全状态;
- 资源不可达时怎样停止积分饱和与调用风暴;
- 慢整合怎样避免饿死、自激和覆盖新状态;
- 因果是否可见、可记录和可重放。