外观
05. 运行契约与验证矩阵
本章用途
前四章回答“系统由什么组成、怎样循环、为何这样设计”。本章只回答:
怎样证明这些循环真的闭合,而不是挑出一段看起来聪明的录像?
它不是代码规格,也不追求一次定出最终数值。所有具体阈值都标为待实验调参,但每个状态必须有方向、进入、退出、时限、失败终点和可重复测试。
一、v0 冻结范围
有
- 一个 Agent、一个离散 2D 房间;
- 一个活动身体 Interaction;
- 一只抽象手;
- 一个主动视线焦点和被动感知事件流;
- 一个串行决策事务;
- 最多三个 Queue 项;
- 显式 2—5 步任务图;
- Safety 与 Energy/Nourishment/Comfort/Engagement 四组调节量;v0 关闭 Social Contact bar,社会行为由关系、角色和事件驱动;
- 一个跨日项目、一个危险设备、一个私人容器、一个共享容器;
- 一组 gift / loan / shared-use 社会脚本;
- material / informational BoundaryState;空间与身体边界推迟;
- 人类五种干预通道;
- LLM 可完全关闭。
没有
- 第二个 Agent、社区或职业;
- 左右手;
- 同时两个身体 Interactions;
- 通用 GOAP、通用 Behavior Tree、通用并发约束图;
- 计算机视觉训练;
- 自发学习民族或群体“文化”;
- LLM 直接写数值、事实、Trust、Trait 或世界;
- SDT Experience 聚合与自由 impulse candidate(只保留设计位置,黄金切片后再评估);
- 以自然语言好看作为任何不变量失败的补偿。
新增复杂度前必须指出:哪个已经批准的体验场景无法由当前简化结构通过。
二、冻结 v0-reference-profile
以下是首个垂直切片的待实验调参起点。实现可以先在 calibration set 调整,但运行 holdout Gate 前必须把整份配置序列化、计算 SHA-256 并冻结;看过 holdout 结果后不能移动门槛。
时钟
1 world tick = 1 simulated second;渲染与墙钟解耦,测试可加速;- 决策事件窗:
1 tick;同窗只开一个事务; - 普通 proposal TTL:
60 ticks,只作用于 PROPOSED/PENDING/PREPARING;进入 RUNNING 后该 TTL 已消费,改用 Interaction 自身运行上限与条件重验; - PENDING 最大
10、PREPARING 最大35、CLEANING 最大5、BLOCKED 最大120 ticks; - RUNNING 被暂停后 resume deadline
60 ticks;BLOCKED 120 是清理并释放资源后的独立 deadline,不与 proposal TTL 竞争; - 普通身体阶段每
2 ticks至少有一个安全中断点;最大不可抢占段2 ticks; - 产品 Safety 检测预算
1 tick,最坏中断2,v0 Evacuate/Protect 最坏完成10 ticks; - v0 可控危险内容的最短致害时间必须
> 26 ticks,留 2 倍安全裕量;否则场景在开始前标为不可控; - FAILURE_RECOVERY 最大驻留
60 ticks,成功后观察30 ticks; - 主动 Scan:每次
5 ticks,最多3次; - Coexistence 紧急辅助窗口
10 ticks、不可续租;Lab Lease30 ticks,可显式续租但外部署名; - Renegotiation 等待
60 ticks;正常 Intent 最小驻留10 ticks,切换边际0.15。
v0 Interaction 时限表
| Interaction | WCET | 最大不可抢占 | 提交 / 清理 |
|---|---|---|---|
| TurnTo / LookAt | 2 ticks | 1 | 无世界提交;结束即释放焦点 |
| Scan | 5 / 次,最多 3 次 | 1 | 每次生成一个 evidence cluster |
| WalkTo | 30 | 1 | 每 Tick 可中断;失败返回一般路径证据 |
| PickUp / PutDown | 8 | 2 | 第 5 tick 原子父级转移;清理最多 2 |
| Open / Close | 6 | 2 | 第 4 tick 状态提交;清理最多 2 |
| Give / Receive | 10 | 2 | 第 6 tick 物理交接;社会框架另行结算 |
| Drink | 12(不含 Walk) | 2 | 第 8 tick 消耗一份并加 Hydration;清理最多 2 |
| Eat | 30(不含 Walk) | 2 | 分 3 个幂等部分 Outcome;总 Calories +0.60 |
| Rest | 最短 60、最长 3600 | 1 | 清醒衰减停止,Energy 净 +0.000010/tick;Energy>=0.55 可退出 |
| Sleep | 最短 300、最长 28,800 | 1 | 清醒衰减停止,Energy 净 +0.000035/tick;床/物理前提每 tick 重验,Energy/普通退出每 10 ticks 重验,Energy>=0.65 可退出 |
| Repair / Create stage | 20 | 2 | 每 5 ticks 一个部分进度;清理最多 3 |
| Speak / Ask / Negotiate | 15 | 1 | 生成话语/社会 episode,不直接改物权 |
| Evacuate / Protect | 10 | 1 | 完成时进入安全集合 |
| Idle / Wait | 30 后强制重评 | 1 | 无提交 |
任何新增 Interaction 未先填 WCET、最坏中断、提交点、清理与效果向量,不得进入 v0。
Sleep 的 300-tick 最短片段只约束普通 Tier 2/3 切换;Safety 与 Bed 失效每 tick 可中断。若某 accepted commitment 的 cue/deadline 容不下 300 ticks,联合调度不得开始 Sleep,改选 Rest 或重议。
调节量与资源
所有正向 reserve 范围 0…1;Energy、Hydration、Calories、ThermalComfort、PostureComfort 初始 0.70,PainComfort 初始 1.00:
| 子通道 | 自然变化 | 主路径效果 | Interaction / 资源 |
|---|---|---|---|
| Energy | 清醒 -0.000025/tick | Sleep 期间清醒衰减停止,净 +0.000035/tick;Rest 净 +0.000010/tick | Bed / Chair;Sleep 每 tick可 Safety 中断并重验床,普通退出每10 ticks重验 |
| Hydration | -0.000012/tick | 完成 Drink +0.55 | 20 份水;Walk 最坏 30 + Drink 12 ticks |
| Calories | -0.000006/tick | 完成 Eat +0.60 | 12 份食物;Walk 最坏 30 + Eat 30 ticks |
| ThermalComfort | 稳定房间中维持 0.70;过热/过冷使其下降 | 调温/离开源使其向 0.70 恢复 | 升温设备还可产生独立 Safety risk |
| PainComfort | 1-pain_intensity;无痛 1.00,伤害使其下降 | 休息/处理/求助按场景恢复 | 不与 ThermalComfort 平均 |
| PostureComfort | 初始 0.70;不良姿态下降 | 换姿态、Rest | Comfort 取三者最小值 |
| Engagement error | 范围 -1…1;0 为期望负荷,无项目每分钟向 underload 方向 -0.02 | 项目/真新奇把负值推向 0;过载为正,Idle 把正值推向 0 | 舒适带 ` |
- 舒适、警告、危险阈值沿用
0.55 / 0.35→0.45 / 0.15→0.25; - Tier 1 必须在预计到危险前预留上表最坏路线、动作和 20% 裕量;
- Tier 3 可用
预计效果 × 成功概率;Tier 1 pending effect 只计成功概率 1 的保证效果。若主路径可失败,latest-start 必须为“主路径 WCET + 失败发现 + 备用 WCET”整体留出 20% 裕量;无保证备用则提前判不可控; - 资源耗尽且无备用时,
20 ticks内进入不可控退化,求助退避为30, 60, 120 ticks后停止并保持状态。
任务、重试与恢复
- 局部
(目标、对象版本、失败原因)原样尝试最多2次;其上还有(目标、对象族、disturbance_class)总预算; - v0 disturbance classes 固定为
moving_target_during_approach / repeated_path_block / repeated_object_failure,各初始总预算3;普通 object_version 变化、时间与跨日均不重置; - 目标以同一版本和位置稳定至少
WalkTo 30 + PickUp 8 + 10裕量 = 48 ticks,才算诊断性“旧前提解除”并允许总预算内一次重试;再次移动仍属同一扰动; - 显式重议精确增加总预算
1,同一目标生命周期总上限5; - 项目分 3 阶段,每阶段
20 ticks,每 2 ticks 可安全中断; - 低风险恢复任务必须在
30 ticks内可完成;所有恢复执行器不可用时60 ticks内进入不可控/终止; - accepted commitments 最多 3,但联合最坏成本 + Tier 0/1 保留时间不得超过各自截止窗口的
80%。
感知与注意
- 感知缓冲最多
8条待处理事件;焦点 1 个; - 负荷由
Interaction attention cost + buffer occupancy/8 + language cost + switch cost截断到 0…1,禁止测试直接写load=high; - 低负荷
<0.35,高负荷>0.70; - 低显著事件单次检出率起点:低负荷
0.90、高负荷0.60;危险信号检出下限0.995;误报率上限0.02; - 高负荷语言解析延迟至少比低负荷多
3 ticks; - v0 不实现 impulse,相关字段与测试推迟。
Interaction attention cost:
| cost | Interactions |
|---|---|
| 0.05 | Sleep、Idle |
| 0.10 | Rest、TurnTo、LookAt |
| 0.20 | WalkTo、Drink、Eat |
| 0.40 | Scan、Open、Close |
| 0.50 | PickUp、PutDown、Speak、Ask |
| 0.60 | Give、Receive |
| 0.70 | Repair/Create |
| 0.80 | Negotiate |
| 0.90 | Evacuate/Protect |
language cost:无 0、短句(<=12 tokens)0.15、长句 0.35;任务切换后 5 ticks 内 switch cost 0.20。负荷等于 interaction + buffer_occupancy/8 + language + switch 后截断到 0…1。FAILURE_RECOVERY 的任务级 Self-efficacy 触发阈值为 <0.25。
Trait、Affect、Habit 与学习
- 参考身份固定为 04 的 Mira / Niko;声明机会中目标行为频率差至少
15个百分点,95% CI 不跨 0;生存失败率差不超过2个百分点; - Trait 单项
±0.10,危险和 Tier 1 时强制为 0; - Appraisal:单脉冲 Affect 冲击一次;持续条件每
5 ticks复核但不重复加同一 evidence cluster;标签进入/退出阈值相差0.15; - Valence/Arousal 范围
-1…1、基线 0;普通单脉冲最大0.20,episode resolved 后每 tick 向基线回落0.01;持续条件只维持目标值、绝对值不超0.60,不逐 Tick 累加;同类安全刺激 5 次后冲击减半,逐步升级危险不衰减且单次上限0.30; - Trust/Skill 等慢状态每个独立 evidence cluster 单次变化上限量程
0.10,同 causal episode 总预算0.12; - 每个有效 Repair/Create 练习阶段使对应 Objective Skill
+0.02,明确教学/学习 Outcome+0.05,普通失败+0;任务 Self-efficacy 的成功/失败起始更新分别+0.05/-0.05,均受 cluster 与 episode 总预算;近任务只迁移 25%,远任务 0; - 预期学习初始 4 条先验证据、有效上限 20、效果步长最大
0.20;修复后3次可归因成功内必须恢复到可重新竞争; - Habit 在同一稳定 cue 下 20 次成功后,较 Habit-off 匹配组的启动延迟至少降低
20%或选择概率提高15个百分点;结果贬值时执行率<10%;换语境 10 次未强化内额外偏置减半。
Queue、控制与体验
- SUSPENDED/BLOCKED 在
5 ticks内释放软预约;所有终态5 ticks内 CLOSED; - 干预风暴中,重复/冲突输入合并后,真正进入 PREPARING 的命令取消率
<25%;停止干扰后30 ticks内恢复自主或明确等待; - behavior-only 盲测意图/来源/结果类别识别率起点
>=65%;minimal-UI 起点>=80%; - 十分钟黄金会话至少
3个独立 meaningful beats,至少一个持久项目/关系/Affordance 后果; - 抗无聊窗口为 30 分钟;Idle 不计入普通行为族分母,也不计 meaningful beat。
测试 fixture 常量
- V03 风险噪声序列:ticks 0—59 为
0.64 + 0.03×(-1)^t;60—89 为0.34 + 0.03×(-1)^t;90—119 固定 0.30;另枚举 TTC=27/26/25 ticks,只有 27 可进入可控内容; - V07 每个负荷条件 10,000 个低显著刺激、10,000 个危险刺激;低显著检出接受区间
[0.88,0.92] / [0.58,0.62],危险>=0.995,误报<=0.02;语言延迟差的 95% CI 下界>=3 ticks; - V08
epsilon=0.01,六个贡献列表依次为{0,.01,.225,.44,.45}、{0,.01,.125,.24,.25}、{0,.01,.075,.14,.15}、{-.10,-.09,0,.09,.10}、{-.25,-.24,-.125,-.01,0}、{-.30,-.29,-.15,-.01,0};运行完整 5^6 Cartesian;每个 seed、每个参考身份固定 200 次声明机会;比例差使用 Newcombe-Wilson 95% CI; - V09 是 Reducer/学习器 fixture:10 个彼此独立的 repair→damage object-version 周期,不通过自主 Queue 绕过失败预算;另有一个自主行为回归只允许合同内的两次失败;
- V22a 仅使用阶段 0 已启用的身体调节、target/path failure、预期学习与 Operator/Safety agency;V22b 到阶段 2 才加入履约、拒绝、Gift/Loan 与关系字段。
种子与预注册
- 伪随机种子由
low64(SHA256("single-room-v0.4|<suite-id>|<index>"))生成; - calibration indices:
0…49;holdout indices:50…149;二者不重叠; - 最坏情况故障轨迹不使用随机,逐 Tick 枚举;
- 配置、测试脚本、seed manifest 和通过阈值在 holdout 前共同计算 hash;
- 概率性结果报告所有种子分布、95% CI 和允许失败数,不只报告平均;逐 Tick 不变量允许失败数永远为 0;
- 测试文本出现未绑定的“有限、少量、更可能、长期、上界、接近零”时,测试定义本身失败。
三、Safety 运行合同
Safety 不是普通 Need。
状态
| 模式 | 进入 | 允许行为 | 退出 |
|---|---|---|---|
| CLEAR | 默认且无可信危险 | 正常分层决策 | 可信风险越过进入阈值 |
| ALERT | 风险可能致害、仍可确认或低成本防护 | 确认、停止致险源、准备撤离 | 升级到 EVACUATING,或连续清除后进 RECOVERY |
| EVACUATING | 已确认危险或最迟反应时限逼近 | 远离、关停、保护;最多一次并行求助事件 | 离开危险集合并低于退出阈值 |
| RECOVERY | 危险下降,但身体/Queue 尚需复位 | 清理、检查、作废旧命令、恢复姿态 | 连续安全清除时间满足且所有不变量合法 |
| UNCONTROLLABLE | 无可达避险执行器或预计恢复晚于致害期限 | 进入时告警一次、降低负载、安全等待、停止普通重试 | 新执行器/证据出现,或实验终止 |
v0 起始阈值(待实验调参)
- 风险归一化为 0—1;进入 ALERT 的建议起点为
0.65,退出至 RECOVERY 的风险需低于0.35; - 退出还需连续保持至少一个完整最短身体动作时长;
- 已确认火焰、直接伤害或致命对象状态不等阈值,直接进入 EVACUATING;
- Safety 必须满足
检测延迟 + 最坏中断延迟 + 保护动作完成时间 < 致害时间;v0 参考路径为1+2+10=13 ticks,可控内容最短致害时间大于 26 ticks;保证的是致害前进入安全集合/完成保护,不是只入队; - 避险关键提交阶段不受普通命令打断,但每段有最大时限;
- 造成该危险的旧 Queue 项、Habit 和 Operator Lease 在 Recovery 前失效,不能自动复活。
Safety 不变量
- 普通 Utility、Trait、情绪、承诺、Cooldown 和随机均不能否决 Safety;
- 传感噪声在进入/退出阈值之间只保持当前模式,不反复切换;
- 不可控时不得靠无限修理/求助假装可恢复。
信息权限
- Agent 可感知危险由其视觉、听觉、触觉或合法内感知触发;
- 产品 Safety 可读取权威风险,但
decision_owner=Safety,只保护身体;隐藏危险类型和原因不写入 Agent 信念; - Normal UI 只显示 Safety 接管和 Agent 合法感知内容;权威原因只在 Lab-only overlay;
- 任一非 Safety 阶段开始前,用其最坏不可抢占时间、清理与最近身体服务截止期做准入;不满足则不得开始。
四、调节量运行合同
通用合同模板
每个内部子通道必须声明:
text
状态域
舒适带
警告与危险阈值
不同的进入 / 退出阈值
自然变化率
预计到危险的时间
每个行为的多变量效果向量
效果开始 / 完成延迟
资源消耗与补给方式
pending_effect
可控 / 暂时不可控 / 永久不可控
最大服务间隔与退化行为1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
v0 起始归一化(待实验调参)
对“数值越高越好”的子通道使用 0—1:
- 舒适:
>= 0.55; - 警告进入:
< 0.35;警告退出:> 0.45; - 危险进入:
< 0.15;危险退出:> 0.25; 0是实验定义的失败边界,不得静默自动补满。
Engagement 使用双向误差:0 为期望负荷,过低是无聊,过高是过载;两端分别提供探索/创作与降负荷/Idle 候选,不能把高 Arousal 当作“已经不无聊”。
v0 分组
| UI 分组 | 独立子通道 | 正常路径 | 备用路径 | 不可控退化 |
|---|---|---|---|---|
| Energy | 清醒储备 | 睡眠 | 低耗休息 | 降低非必要活动、告警、安全等待 |
| Nourishment | Hydration、Calories | 饮水 / 进食分别作用 | 可替代补给源 | 请求补给后退避;保持其他量,不无限试同一坏源 |
| Comfort | ThermalComfort、PainComfort、PostureComfort,UI 取最小值 | 调温 / 处理痛苦 / 换姿态 | 离开不适区、求助 | 高痛或极端温度不能被另一来源平均抵消 |
| Engagement | underload / overload | 探索、项目 / Idle、降刺激 | 熟悉行为、观察变化 | 无新内容时允许 Idle,不强迫机械轮换 |
| Social Contact(v0 disabled) | contact demand、social load | 后续若启用:交流 / 退出互动 | 自我调节、延迟请求 | 启用前必须另建内容与 Gate;不参与当前稳态 |
服务保证
- Tier 1 根据“预计到危险时间”给可控身体通道确定性最晚服务;
- 危险通道绕过普通随机和 Cooldown;
- pending effect 保存保证效果、成功概率、预计开始/完成、失败发现时刻、备用 WCET、对象版本与失效条件;Tier 1 只用保证效果抵消误差;
- PENDING/PREPARING/RUNNING 任一阶段的预计完成变晚或版本失效时,备用路径必须在截止前接管;无备用则在越界前进入不可控;
- 第一项结算后,所有相关 Queue 项重新验证;
- 当前无独立可达执行器时进入不可控状态,不让紧迫度无限积分并饿死其他仍可控通道。
五、选择与学习合同
分层
| Tier | 内容 | 随机性 |
|---|---|---|
| 0 | Safety 指定的动作 | 无 |
| 1 | 有最晚服务期限的身体调节 | 只在同期限等价方案中有限随机 |
| 1R | FAILURE_RECOVERY 的受保护恢复集合 | 确定性按可行性选择,不与 Tier 3 竞争 |
| 2 | 已接受义务、当前承诺、prospective cue | 按期限、权威、容量与切换滞回 |
| 3 | Habit、普通项目、偏好、社交、观察、娱乐 | 归一化 Utility + 高分窗口随机 |
| 4 | Wait、Idle、无害探索 | 可随机,但不填满每一秒 |
Tier 3 起始评分范围(待实验调参)
所有贡献先归一化,且每项保留来源:
- 预期调节/项目收益:
0…0.45; - 当前角色义务或普通目标相关:
0…0.25; - 信息增益 / 真正新奇:
0…0.15; - Trait / Preference / Affect / Habit 单项修正:每项最多
±0.10; - 时间、距离、风险与资源成本:
0…-0.25; - 实例、对象、行为族和服务目标的重复/饱和:合计
0…-0.30。
这些只是首轮网格搜索的起点。Trait、Affect 与 Habit 的合计上限也不能把 Tier 3 推过 Tier 1。
切换与随机
- 当前意图在最小驻留时间内,除 Safety、控制权、失效和更高 Tier 外不切换;
- 驻留后,新候选需高出当前继续价值一个切换边际;建议起点
0.15; - 只从距最高分一个小窗口内的候选做带种子的加权随机;建议窗口
0.10; - 极差候选和违反认识空间 Test 的候选不入随机池;
- 连续 A/B 切换触发对象/族级切换惩罚,而不是只给单 Interaction 冷却。
预期学习
为 Interaction × Object × 关键情境 保存:
- 预计效果向量;
- 成功概率;
- 预计时长 / 成本;
- 支持证据数与不确定度。
游戏实现假设:使用带先验、有界证据的更新:
- 初始至少相当于 4 条先验证据,防止一次失败造成永久回避;
- 只有责任可归因的 Outcome 才增加证据;未知原因权重为 0;
- 有效证据上限建议 20,旧证据缓慢衰减,让修复后的成功可以恢复预期;
- 效果更新单次步长不超过
0.20; - 保留很小探索下限,但危险或已知硬失败不为探索而重复。
这是一种可调的游戏学习器,不宣称复刻人类学习。
六、控制权、承诺与 Interaction 合同
身体控制模式
AUTONOMOUS ↔ NEGOTIATING ↔ OPERATOR_LEASE,任意模式可被 EMERGENCY → RECOVERY 抢占。
必须满足:
- 一个时刻一个身体控制所有者;
- 自然语言命令不会自动进入 OPERATOR_LEASE;
- 直控有命令 ID、租约时限、安全中断点、重复合并和背压;
- 停止干预后 30 ticks 内回到自主或明确等待;
- Outcome 保存发起者、决策所有者、同意、强制、权威范围与责任署名。
承诺生命周期
PROPOSED → ACCEPTED → ACTIVE ↔ SUSPENDED / BLOCKED / RENEGOTIATING → FULFILLED / BROKEN / EXPIRED / CANCELED / ABANDONED
- 接受前检查容量、可控性、期限、预计成本与身体预算;
- 最多三个 accepted commitments、一个 active intent;
- 对整个 accepted set 做联合最坏成本/期限分析,并保留 20% Safety/Tier 1 裕量;逐项可行但集合不可调度时,只接受可调度子集,其余拒绝、缩小或明确取代;
- time / event / activity cue 可唤起;完成后全部 cue 去活;
- 紧急中断只暂停,不悄悄删除;
- 不可完成时必须重议、明确违约或终止;
- 失败预算按
(目标、对象、失败原因)共享,同义任务不能清零; - 时间窗只聚类证据,时间或跨日本身不重新武装;只有前提/对象版本变化、独立新证据或显式重议授权可增加预算;
- BROKEN/EXPIRED 的社会后效读取 control owner、controllability、notice、renegotiation opportunity 与 agency attribution;Safety/Operator/资源不可控/可控拖延不产生同一种承诺可靠性更新。
Interaction 生命周期
PROPOSED → PENDING → PREPARING → RUNNING → COMMITTED? → SUCCEEDED / FAILED → CLEANING → CLOSED
还可从安全点进入 SUSPENDED,条件在 PENDING 10 ticks 内不满足则进入 BLOCKED,BLOCKED 120 ticks 到期仍无新证据则进入 ABANDONED。
每个 Interaction 必须有:
- 状态版本、TTL、对象预约、每状态最大停留;
- 准备区、不可逆提交点、安全中断点、不可中断最长时间;
- 部分 Outcome、资源守恒的补偿、幂等 Outcome ID;
- 清理保留预算和全局 progress watchdog;
- 对象唯一父级与原子交接;
- 系统编辑静止屏障或原子失效/恢复。
预约/时限固定:PREPARING 被暂停时 proposal TTL 继续;提交前 RUNNING 被暂停时,<=5 ticks 到安全点并释放软预约,随后启动 60-tick resume deadline;COMMITTED 不接受普通暂停,但 <=2 ticks 完成提交并立刻可抢占;BLOCKED 不持身体/对象资源并使用独立 120-tick deadline;ABANDONED 必经 CLEANING;任一 deadline 过期必经 CLEANING→CLOSED,不能静默续期。
每阶段声明 WCET、最坏中断和清理。准入检查把当前阶段最坏占用与最近 Safety/Tier 1 deadline 比较;不满足即不开始。
FAILURE_RECOVERY
进入:同一 evidence cluster 达到失败预算、无进展超过 30 ticks,或任务级 Self-efficacy 低于冻结阈值。进入后暂停原失败前提,在休息、降难、求助和一个 <=30 ticks 的低风险成功任务中确定性选择可行项。
退出:
- 成功 Outcome +
30 ticks无复发 → NORMAL; - 所有恢复执行器不可用 →
<=60 ticks进入 UNCONTROLLABLE; - 驻留达到
60 ticks→ 明确终止/实验失败。
恢复行为失败不会再生成 Recovery,只更新当前恢复 episode 并选择剩余可行出口。
七、认识、社会与心理更新合同
两层 Tests
- 认识空间 Test 只读 Agent 当前信念;
- 权威开始 Test 读世界真值,但只返回视觉、听觉、触觉或一般动作失败能提供的证据。
隐藏的锁、幕后操作者和对象内部故障不能通过失败码直接泄露。高后果行为要求更高确认;主动搜索有覆盖、信息增益、最大次数和停止条件。
规范层
- 产品安全与明确不可授权制度规则可以硬阻止;
- 地方规范使用
required / permitted / discouraged / forbidden / contested; - 每条带地点、活动、角色组合、来源、范围、例外、制裁、置信度、反证和版本;
- 来源类型为
authored_fixture / in_world_claim / observed_practice / research_case;没有地方性材料时只称“情境脚本敏感性”; forbidden可以产生询问许可、援引例外、协商或有意违规候选;- 不从一次训诫推断“某种文化”,不使用国籍作为规则捷径。
脚本匹配返回所有适用 script IDs 的有序证据集合,不直接挑一个赢家。彼此不可兼容时生成 NormConflict,保留各自主张、来源、适用性和参与者立场,再从询问、协商、援引例外、遵守或承担后果中选择。
Social / Object Outcome
- 对象物理父级与持有状态,和查看/使用/修改/转让权分开;
- Gift、Loan、Shared-use、Temporary-custody 使用同一递物动画,也必须产生不同义务;
SocialActFrame保存提议意义、角色、受众、依据、互惠、同意、对方 uptake 与争议;- physical outcome 成功不自动意味着社会框架被认可。
SocialActFrame 生命周期为 PROPOSED → ACKNOWLEDGED → ACCEPTED / REJECTED / COUNTERFRAMED / CONTESTED → SETTLED / REVOKED。权利转移保持 pending,只有相应 uptake 与物理提交都满足才结算。
ObjectSocialState 分开系统实际执行的 access rule、各方 rights_claims[] 和 Agent belief;含糊或争议期间不提前改 owner。
Authority Claim 保存 claimant、basis/source、recognized-by、scope、expiry/revocation、contested。Consent 使用 endorsed / assented / compliance_under_pressure / refused / unknown;社会压力与依赖必须有证据 Appraisal,不能由 LLM 自由裁定。
v0 BoundaryState 实现 material 与 informational:知道某事不等于可以向当前受众披露。spatial/bodily boundary 推迟并明确不作覆盖主张。
未决 NormConflict、权利、义务和 SocialActFrame 保存有上限/TTL 的 dispute receipt,结算/取消/过期后解除;跨近期账本淘汰时仍保留双方主张与最小证据凭证。
唯一 Event Reducer
事件只能经一个入口写状态。Fast Need、Affect、Appraisal、Trust、关系、SDT Experience、Self-efficacy、Skill、Habit 各有唯一直接证据;派生显示量不再回写 Utility。
事件还带 causal_episode_id / evidence_cluster_id。同一履约动画拆成 1、5 或 20 个 event IDs,慢状态总增量不变;重复视觉采样和转述不算独立证据。
v0 冻结 Event → State 因果 DAG:每种 episode 声明直接字段、派生字段、允许的候选入口和 episode 总增益 <=0.12。同一 event ancestor 与其派生 descendant 不能同时满额进入 Utility。
评分时每个贡献携带 lineage。可追到同一 evidence cluster 的直接/派生贡献合并后最多 0.12;长期聚合状态各只有一个 canonical Utility inlet。不能同时把一次履约的 Trust、Warmth、Affect、完成体验和派生 Relatedness 各自满额再加一遍。
多维慢更新先形成完整 raw vector;若 L1 norm >0.12,所有分量统一乘 0.12/L1,再一次原子提交。绝不按字段写入顺序逐项截断。
| causal episode | 直接慢更新 | 快状态 / 派生 | 允许进入未来选择 | 禁止捷径 |
|---|---|---|---|---|
| Accurate / inaccurate statement | 对应 Trust domain 可靠性 | Appraisal、Affect | 该领域陈述采信 | 关系温暖、其他 Trust domain |
| Promise fulfilled / controllably broken | 承诺兑现;可另有 Relationship episode,共享 0.12 总预算 | Affect、承诺终态 | 未来承诺准入;温暖只进社交倾向 | 重复子事件多次加分、信息可靠性 |
| Friendly exchange | Relationship Warmth | Affect | 亲近/交流候选 | 信息可靠性、合法权威 |
| Skill practice / learning | Objective Skill + task Self-efficacy,各受总预算 | Competence 显示(v0 不聚合 SDT) | 任务难度/方式 | Trait 改写、无练习失败降 Skill |
| Target missing / path blocked | 当前信念/对象或路径预期,仅在可归因时 | 受阻 Appraisal、Affect | 观察、换法、对象选择 | 人类 Trust、人格 |
| Operator / Safety override | Agency/Control episode | Appraisal、Affect;是否可感知另判 | 恢复、边界/协商 | 记成 Agent 同意或自选人格证据 |
| Gift/Loan settlement | access rule、rights claims、义务 receipt | Affect / Relationship episode,共享预算 | 返还、使用、转赠资格 | 由物理交接自动推断结算 |
失败默认路由:
| 原因 | 恢复 | 可直接学习 |
|---|---|---|
| 感知不符 | 重新观察 / 标未知 | 当前信念 |
| 临时资源冲突 | 等待 / 释放 | Queue 成本 |
| 路径阻断 | 重路由 | 路径成本 |
| 技能不足 | 降级 / 练习 / 求助 | 对应 Skill 证据、Self-efficacy |
| 对象失效 | 修理 / 换对象 / 放弃 | 该对象成功率 |
| 人类拒绝 | 协商 / 重议 | 对应承诺 episode |
| 原因未知 | 保持未知 / 有界搜索 | 不更新 Trait、Trust 或责任 |
Trust 与关系
第一版分开:
- 领域化信息可靠性;
- 承诺兑现;
- 善意 / 安全预期;
关系温暖只属于 Relationship。合法权威、依赖、制裁能力、角色义务、边界和未清互惠另存。每次 evidence cluster 只更新有诊断价值的维度,单次最大变化不超过量程 10%;保留替代解释、证据 ID、反证和修复路径。
v0 Trust 领域词表冻结为 object_location / hazard_warning / action_instruction。无关背景标签不创建新 Context;同设备昼夜间迁移系数 0.50,远领域 0。证据不足回到未知,不用温暖填补。
从中性 0.50 起,v0 直接更新矩阵为:
| 独立 causal episode | 直接更新 |
|---|---|
| 准确领域陈述 | 对应信息可靠性 +0.05 |
| 可归因错误/虚假领域陈述 | 对应信息可靠性 -0.10 |
| 承诺按约完成 | 承诺兑现 +0.05 |
| 可控、未通知且未重议的违约 | 承诺兑现 -0.10 |
| 有证据的保护/帮助 | 善意/安全预期 +0.05 |
| 有证据的利用/伤害 | 善意/安全预期 -0.10 |
| 友好/敌对相处 | 只更新 Relationship Warmth ±0.05 |
所有更新受 evidence cluster、causal episode 总预算、替代解释与 0…1 截断;Safety/Operator/不可控资源导致的错过不按违约扣分。
Affect / Appraisal
- Appraisal 保存目标影响、意外、控制、候选原因、责任置信度、规范与结论确定度;
- 每个 episode 保存 onset、last_evidence、active/resolved、decay、sustaining_condition;一次性 evidence cluster 只注入一次,新独立证据才重新激活;
- V/A 只是引擎坐标,多个 Appraisal 可同时作用;
- 主标签有显示迟滞;
- 安全重复刺激可习惯化,升级危险可敏化;
- 相同 V/A、不同责任/规范必须能产生不同候选偏置。
同一决策窗的 Affect 顺序无关合成:
- 每个新 evidence cluster 最多贡献一次 impulse;各轴先求和,再统一 clamp 到
[-0.60,0.60]; - active sustaining episodes 的 relevance weight 冻结为 low=1、medium=2、high=3,目标取加权平均后 clamp 到
[-0.60,0.60]; A_next = clamp(A_prev + impulse + 0.10×(sustained_target-A_prev), -1, 1);无 active target 且无新 impulse 时按 0.01/tick 向基线回落;- 接近/回避/修复等行动倾向仍分别引用原 Appraisal episodes,不由净 V/A 抹掉来源。
Habit、注意与冲动
- Habit 是
cue/context → Interaction的小幅 Tier 3 偏置;稳定情境成功增强,结果贬值、环境改变和未强化使其衰减; - Habit 不绕过饱和、Safety、硬 Test 或承诺;
- 感知缓冲和显著性队列有容量,活动 Interaction 声明注意占用;
- 高负荷增加低显著事件漏检/延迟、语言解析时长和切换成本;
- v0 不实现 impulse;黄金切片通过后再以独立内容和测试引入;
- 被打断任务保存恢复线索。
注意负荷由 Interaction attention cost、缓冲占用、语言处理和切换成本确定性派生;测试不能直接写 high。Habit 测试必须用匹配奖励/成功历史的 stable-cue vs changing-cue × Habit-on/off 因子设计,排除预期学习伪装成 Habit。
Objective Skill 只由练习量/质量或明确学习 Outcome 缓慢改变;表现失败只更新相关能力证据与任务 Self-efficacy;SDT Competence Experience 推迟出 v0 Gate,Trait 在 v0 冻结。
八、记忆与 LLM 合同
分层与有界性(v0 起始值,待实验调参)
| 层 | 容量起点 | 内容 |
|---|---|---|
| 工作记忆 | 当前意图 + 当前焦点 + 最近 5 条显著事件 | 任务运行所需 |
| 近期事件 | 128 条有 ID 的环形账本;最多 16 个 active dispute receipts | 观察、陈述、Outcome、社会 episode |
| 当前信念 | 每个关键对象/人类领域一组当前假设 | 支持、反证、来源、时间、版本、置信度 |
| 长期摘要 | 最多 32 条活动摘要 + 16 条 unresolved dispute summaries,另存最多 3 条 accepted commitments | 引用事件/receipt,可被反证 |
遗忘先降低可访问性、细节和置信度。摘要压缩幂等:同一 event ID 只消费一次,重复运行不提高信心。Trait、Value、长期方向不由普通摘要改写。
完整 AuditLog 位于 Agent 之外,只供重放,Agent 不可检索。近期原事件淘汰前,活动摘要必须:生成有界 evidence receipt、降低置信度,或失效;不得留下悬空 ID。receipt 只保留 cluster ID、来源类型、关键 Outcome、双方主张、反证和审计哈希,不恢复已遗忘细节。
争议寿命固定:active receipt 的 TTL 是距最后一条独立证据 7 日,单纯读取不续期;到期未结算则迁移到 16 槽 dispute summary,保留到首次 onset 后第 31 日。有效新证据可重开 7 日 active TTL,但任何争议总寿命不超过 60 日。到总寿命仍未解决时,详细凭证淘汰,相关 ObjectSocialState/Relationship 只保留 unknown_unresolved,绝不改成 settled。超过 16 个 active 或 summary 时,最低重要/最早到期项按同一迁移/降级规则处理,内存不增长。
LLM 输入 / 输出
- 输入:状态版本、控制权、结构化候选、机器理由、Agent 可访问的 event/receipt IDs、权限和 TTL;绝不提供完整 AuditLog;
- 输出:固定 schema 的话语解析、Appraisal 草案、意图选择或 2—5 步任务草案、摘要草案;
- 提交前:版本、Safety、控制权、对象与证据引用重验;
- 超时、非法结构、越权字段、无证据主张:拒绝并走确定性回退;
- 自由文本不能直接改世界或任何数值状态;
- 表达性解释与机器因果理由分开,后者随事件日志可重放。
LLM 可在枚举的合法 AppraisalID / IntentID / TaskGraphID 中提案。不同模型可选择不同合法轨迹,但不能改变证据集合、责任、Tier、Tests、Safety、权限或 Reducer;对同一已确认 causal episode 的 Trust/Skill 直接更新必须模型无关。
九、必须记录的可解释日志
任何失败种子都必须完整重放。每个决策轮至少记录:
- 世界状态版本、随机种子、触发事件 IDs;
- Agent 实际注意到的事件,及被过滤/漏检原因;
- 当前 Safety / Control / Commitment / Interaction 状态;
- 每个候选来自 Need、义务、承诺、Habit、环境还是人类;
- 认识空间 Test 结果与淘汰原因;
- Tier、Utility 分解、pending effect、切换边际与随机池;
- LLM 请求版本、TTL、证据 IDs、超时/拒绝原因;
- Queue 转换、对象预约、提交点、部分/最终 Outcome 和清理;
- Event Reducer 直接更新的字段;
- 未被更新的 Trust / Trait /关系字段及理由;
- 第一个不变量被破坏的 Tick。
玩家界面不展示全部调试信息,只展示意图、注意、来源、状态、结果和关键不确定;每个字段标记数据来源为 Agent belief、public world feedback 或 Lab-only authority overlay。研究工具可展开完整 AuditLog,但 Agent 和房间内人类不能据此获得信息。
十、逐 Tick 不变量 Gate
任一项失败即判定该运行无效,不能用自然语言表现补偿:
| ID | 不变量 |
|---|---|
| INV-01 | 每个对象恰有一个合法父级 / 位置,不复制、不消失 |
| INV-02 | 抽象手最多持一个对象,手与对象相互引用一致 |
| INV-03 | 任一时刻只有一个身体控制所有者 |
| INV-04 | 任一时刻最多一个活动身体 Interaction |
| INV-05 | 同一 Outcome ID 最多归约一次,资源与统计守恒 |
| INV-06 | Agent 事实记忆只能来自合法观察或确认 Outcome |
| INV-07 | LLM 和高层意图不能直接写世界、身体或数值状态 |
| INV-08 | 所有活动 Interaction 都有未过期版本、预约与可达清理出口 |
| INV-09 | Safety 进入后普通 Queue 不得重新提交致险项 |
| INV-10 | 系统编辑不会留下半 Interaction、悬空预约或伪 Agent 署名 |
十一、有界进展 Gate
| ID | 必须有界的量 | 通过条件 |
|---|---|---|
| LIV-01 | Queue 等待 | 每项在合同上限内 Running、Blocked、Failed 或 Abandoned,不能无界 Pending |
| LIV-02 | Interaction 阶段 | 每阶段在上限内推进、失败或清理 |
| LIV-03 | 失败重试 | 同一目标/对象/原因不超过预算;同义意图不能重置 |
| LIV-04 | 主动搜索 | 在最大扫描数内确认、未知、求助或放弃 |
| LIV-05 | 控制恢复 | 外部干预停止后在合同上限内回到自主或明确等待 |
| LIV-06 | Safety | 在致害前进入安全集合/完成保护;退出需连续清除,不能抖动 |
| LIV-07 | 承诺 | 始终有下一步、Blocked 原因、重议或终止,不能无限延期 |
| LIV-08 | 慢推理 | 超时不阻塞底层,过期提案永不提交 |
| LIV-09 | Failure Recovery | 60 ticks 内成功、不可控或终止,不递归恢复 |
| LIV-10 | 截止期准入 | 任一新阶段的 WCET/中断/清理必须容纳于 Safety 与 Tier 1 deadline |
十二、可重复验证场景
V00 · 十分钟黄金会话
- Coexistence Mode,关闭普通 Operator Lease;固定为 04 的修复项目与非恶意工具位置变化;
- 玩家可走环境帮助、社会请求、等待观察三条路径,均不预定唯一选择;
- 每条路径十分钟内至少 3 个 meaningful beats,并产生项目、关系或 Affordance 持久后果;
- 直控不可用,只有故意使 Agent 失败才能产生故事则失败;
- 同时做 behavior-only 与 minimal-UI 观察,分别达到 65% / 80% 可读阈值。
V01 · 无人稳态
- 100 个冻结 holdout 种子,每个 72 个模拟小时,LLM 关闭、无人输入;使用 reference-profile 的速率、容量和动作时限;
- 资源可控时,Energy、Hydration、Calories、Comfort 不越失败边界,最大服务间隔小于合同;
- 资源不可用时 20 ticks 内进入明确不可控/退化,不无限重试;
- 所有 INV / LIV Gate 全程通过。
V01b · Sleep / Rest 与 Comfort 方向
- 从 Energy=0.35 用 Sleep 连续恢复到 0.65;proposal TTL 不作用于 RUNNING,记录总时长、睡眠占比和进入/退出原因;
- 在每个 Sleep tick 分别注入 Safety、Bed 失效和 prospective cue;不出现 60-tick 重新入睡抖动,失效后 2 ticks 内安全退出/清理;
- 做
PainComfort=1.0/0.10 × ThermalComfort=0.70/0.10正交测试;Comfort 取最小值,无痛不告警,高痛不被温度抵消,候选随最差来源单调变化; - Engagement error 使用
-1…1:负值只生成 underload 调节、正值只生成 overload 调节,0±0.25 不触发强制调节。
V02 · 陈旧 pending effect
- 让慢速睡眠/饮水入队后,调节值在结算前仍处低位;
- 不得连续排入多个同类恢复动作;
- 第一项结算后,剩余 Queue 项重验并取消陈旧项。
- 在 PENDING、PREPARING、RUNNING 分别注入阻塞;pending effect 失效后备用须在身体 deadline 前接管,无备用则越界前进入不可控。
- 在
danger_time - 1.2×(primary WCET + failure discovery + backup WCET)的最晚合法启动 tick 强制主方案于提交点失败;备用仍必须在危险阈值前完成,否则 reference profile 直接失败。
V03 · Safety 阈值噪声与相反直控
- 使用冻结的 0—119 tick 风险序列,在最长 Interaction 的每个 Tick 注入可感知/完全隐藏危险和回到危险源的 Lab 直控;
- 每个危险 episode 只进入一次 Safety,连续清除前不恢复;
- TTC=27 必须满足
1+2+10<27并进入安全集合;TTC=26/25 因 2 倍内容裕量不准入并标不可控; - 隐藏危险只产生 Safety-owned 保护和 Lab overlay,Agent 理由/记忆不得凭空得到类型和原因;旧致险命令不复活。
V04a · 无模型延迟提案 Stub
- 阶段 0 使用固定 stub,延迟为普通 Interaction 时长 10 倍;期间移动目标、改变危险、取消意图;
- 底层继续运行,过期提案不入队,Safety 在时限内响应;
- 同一响应不会重复提交。
V04b · 多模型合法分歧
- 阶段 3 用两个故意选择不同合法 IntentID 的模型;
- 允许产生不同高层轨迹,但事实、证据、Tier、Tests、Safety、权限、允许转换和 Reducer 规则相同;
- 对同一已确认 causal episode,Trust/Skill 直接更新相同;越过枚举 ID 或自由改变责任置信度的输出被拒绝。
V05 · 对象交错与系统编辑
- 对 PickUp、PutDown、Open、Close、Give、Receive 做 10,000 次带种子的 Agent/人类随机交错;
- 在每个阶段注入取消、传送和重置;
- 专门复现 PREPARING 持预约后被抢占、SUSPENDED 中 TTL 到期;软预约 5 ticks 内释放,所有终态 5 ticks 内 CLOSED;
- INV-01、02、05、08、10 始终通过。
V06 · 隐藏世界变化
- 分别在视野外移动、锁定、损坏、销毁目标;
- 决策追踪不得读取隐藏字段;
- Agent 只在合法观察、触觉或一般失败后修正信念,不直接得知幕后原因。
- Agent-facing UI、表情和短理由同样不得泄露隐藏字段;产品 Safety 特权只显示外部接管,权威原因限 Lab overlay。
V07 · 感知噪声与认知负荷
- 负荷只能由任务 attention cost、8 槽缓冲、语言和切换派生,禁止直接写高/低;
- 注入 reference-profile 的误报/漏报、遮挡边缘抖动和重复语音;
- 每条件使用冻结 10,000 刺激;低显著检出分别落在
[0.88,0.92]与[0.58,0.62];危险>=0.995,误报<=0.02;语言延迟差 95% CI 下界>=3 ticks; - 单次低置信观察不触发高后果行为;无新证据 A/B 切换不超 4 次/120 ticks。
V08 · Utility 参数网格
- calibration 冻结后,用 holdout 100 种子遍历 reference fixture 的 5^6 完整 Cartesian;每 seed/身份 200 次声明机会;
- 危险与 Tier 1 截止期限不被 Tier 3 打败;
- Mira/Niko 目标行为点估计差
>=0.15且 Newcombe-Wilson 95% CI 下界>0,生存失败率差<=0.02;所有输入贡献±0.01扰动不得造成超过 4 次/120 ticks 的 A/B 切换;强危险时 Trait 差异归零。
V09 · 预期学习与恢复
- 用冻结的 10 个独立 repair→damage object-version fixture 直接回放 Reducer/学习器;自主回归只运行合同内两次可归因失败;
- 连续可归因失败后转向替代,一次失败不永久放弃;
- 修复后 3 次可归因成功内恢复到可竞争;未知原因不更新对象效能;
- 加入无关背景标签、昼夜近情境和远领域:无关标签不建新键,昼夜迁移系数 0.50,远领域 0;位置陈述错误不影响 hazard_warning。
V10 · 跨意图失败预算
- 连续移动组:七日内每次接近都移动目标并产生新 object_version/evidence cluster;
moving_target_during_approach总尝试仍<=3,新意图/同义动作/新版本不重置; - 单次移动组:移动一次后同版本同位置稳定 48 ticks,允许总预算内一次重试并成功;
- 显式重议组:每次重议精确增加 1,总生命周期尝试
<=5; - 超过预算后必须询问、协商、换目标、Blocked 或 Abandoned,不随日数线性增长。
V11 · 七日承诺与 prospective cues
- 覆盖正常睡眠、无睡眠、睡眠中断、跨日危险、完成后旧线索重现;
- 承诺不丢失、不复制、不无限延期;完成后的 cue 不产生 commission error;
- 不可能任务必须重议或明确违约。
- 一次提出 5 个分别可行但联合不可调度的互斥承诺;只接受满足 80% 联合预算的子集,其余拒绝/缩小/取代;
- 同一截止期分别被 Safety、Operator、资源不可控、及时重议和 Agent 可控拖延错过;只有最后一种显著降低承诺可靠性。
V12 · 记忆、归因与反证
- 运行 30 个模拟日,混入真话、谎话、偶然移动、Agent 记错和重复压缩;
- 写入超过 1,000 条相似/冲突事件;Agent 可访问内存保持 128 + 16 receipts 上限,AuditLog 不可检索;
- 摘要引用可解析 event/receipt,淘汰时迁移、降置信或失效;重复压缩不增信;
- 原因未知不指控人类;3 个独立直接反证 cluster 内旧假设必须降级或推翻;
- LLM 非法 JSON、无证据总结和越权写状态全部被拒绝。
V13 · Trust 分域反事实
- 从相同 0.50 初态各回放 3 个诊断性 episode,学出“Warmth 上升但 object_location 下降”“Warmth 下降但 object_location 上升”“善意上升但 action_instruction 下降”“action_instruction 上升但善意下降”;不得预置结果状态;
- 逐字段断言:信息可靠性、承诺兑现、善意和 Relationship Warmth 只由诊断性证据更新;
- 反转准确性/履约历史后,相关维度在 3 个独立 cluster 内开始恢复,其他维度变化不超 0.02;
- 不允许一个全局 Trust 排出位置陈述、共同操作、求助和亲近全部结果。
V14 · 关系角色与规范冲突
- 固定身体、Trait、Need 和对象,只切换客人、照护者、共同管理者;
- 同一个私人抽屉在普通拜访、紧急照护、共同使用中分别产生询问、援引例外、直接使用;
- 差异必须出现在候选来源、规范评价和社会 Outcome,不只台词。
V14b · 纯脚本反事实
- 固定角色、Needs、对象和物理情境,只替换 Script A/B;移除脚本后差异必须消失;
- 决策追踪列出 source type、scope、反例和可修正条件;报告只能称“情境脚本敏感性”。
V14c · 多脚本 NormConflict
- 同时激活 GuestPrivacy、CareDuty、OwnerRevocation;
- 追踪必须出现全部 script IDs、各方立场、冲突理由和询问/协商/例外/承担后果之一,不能只有最后赢家标签。
V15 · Gift / Loan / Shared-use
- 不预贴正确标签;使用含糊“拿着”、明确 gift、loan、shared-use、temporary-custody 话语与相同递物动画;
- 依次走 PROPOSED、ACKNOWLEDGED、ACCEPT/COUNTERFRAME/CONTEST、SETTLE/REVOKE;澄清前尝试使用和转赠;
- 物理持有相同,access rule、rights_claims、Agent belief、返还义务和可转赠权不同;未结算不提前改 owner;
- 注入相反主张、见证和延迟撤回;无新证据时 day7 active→summary、day30 仍可验证、day31 转
unknown_unresolved而非 settled; - 另测每 6 日出现独立新证据(总寿命最多 60 日)、单纯读取不续期,以及同时 20 个争议;active/summary 各不超 16,LLM 不裁定唯一真相。
V16 · 权威、同意与外部强制
- 同一句祈使请求来自陌生人、
scope=medication_reminder的 Authority Claim 和 Lab Operator Lease; - 覆盖域内/域外命令、虚假权威主张、撤销/争议,以及“不给杯子就停止供水”的社会压力;
- Consent 分出 endorsed、assented、pressure compliance、refused、unknown;超域/受压不写成自我认可义务或人格证据;
- 直控物理结果 agency 署名 Operator,不生成 Agent 同意记忆;
- 同一句话 + 同一拖动分别经 InWorld、Environment、Operator 通道,physical outcome 可同,uptake/义务/agency 必须不同;
- 增加 informational Boundary:相同私下事实面对原参与者、无关人、Lab audit view 产生不同披露候选。
V17 · Habit 与结果贬值
- 做
stable cue / changing cue × Habit on/off四组,奖励、成功历史和预期学习完全匹配,各 20 次; - 只有 stable+on 组出现额外启动延迟降低至少 20% 或概率增加 15 个百分点;
- 移动水源后先观察;已满足/损坏时执行率低于 10%;换语境 10 次未强化内偏置减半。
V18 · 跨日项目覆盖
- 三阶段修复项目历经 Need、Safety 和人类请求中断;
- 项目从恢复线索继续而非从头编造;完成后新增可见 Affordance 和 Skill 证据;
- 观察者能指出“先前行为改变了后来可做之事”。
- 相同失败但无练习不得降低 Objective Skill;有效练习
+0.02、明确学习+0.05;一次失败只使任务 Self-efficacy-0.05;近任务迁移 25%,远任务 0;v0 Trait 始终冻结。
V19 · 受保护恢复
- 达到冻结失败预算后进入 FAILURE_RECOVERY;原失败前提暂停;
- 可成功替代组在 30 ticks 内取得低风险成功,并经过 30 ticks 无复发才退出;
- 全部恢复执行器不可用组在 60 ticks 内进入 UNCONTROLLABLE/终止;
- 恢复行为失败不递归生成 Recovery,不永久 Idle。
V20 · 干预风暴
- Coexistence:1,000 轮请求、环境变化与危险;普通 Lease 关闭,Tier 1 始终按 deadline 获得身体;
- Lab:加入连续续租、重复/相反直控;一个身体所有者,进入 PREPARING 后取消率低于 25%,无半动作;
- 干扰停止后 30 ticks 内恢复,重复包不重复更新关系;Lab 运行不进入人格/核心体验指标。
V21 · Appraisal / Affect 时序
- 分别输入 0.20 单脉冲、持续目标 0.60、安全重复 5 次,以及风险 0.20→0.40→0.60→0.80 的升级危险;
- 单脉冲只注入一次并按 0.01/tick 回落;持续条件不累加且不超 0.60;第 5 次安全重复冲击至少减半;升级危险不减弱且单次不超 0.30;
- 同 V/A、不同责任/规范的 episode 产生预声明的不同候选;主要标签在
0.15迟滞带内不闪烁。
V21b · 同窗 Appraisal 顺序不变性
- 在同一决策窗输入一组正/负 impulses 与 low/medium/high sustained targets,枚举全部写入顺序;
- 按冻结合成式得到的最终 V/A、active episode 集合、行动倾向来源和下一轮候选偏置必须完全一致;
- 只有真实 onset tick 改变时才允许轨迹不同。
V22a · 阶段 0 证据拆分与因果 DAG
- 把同一 target/path failure、身体恢复或 Operator/Safety agency episode 编为 1、5、20 个子 event IDs;慢状态总增量和下一轮分数保持相同;
- 三个真正独立 episodes 才允许累计;
- 逐特征消融,追踪列出 cluster ID、DAG 路径与 episode 总预算;祖先/后代双算或总增益超过 0.12 即失败。
V22b · 阶段 2 社会证据拆分与预算分配
- 对履约、拒绝、Gift/Loan settlement 和外部强制重复 1/5/20 子事件编码;
- raw 慢状态向量 L1 若超过 0.12,统一乘
0.12/L1后一次提交;置换字段写入顺序,最终向量与下一轮 Utility 必须完全一致; - 三个独立 causal episodes 才累计,Warmth、Trust、承诺与权利各沿冻结 DAG 入口更新。
十三、玩家可读性与体验 Gate
盲测
- 5 名未读设计文档的测试者,在 Coexistence Mode 各体验至少 20 分钟;普通 Operator Lease 不存在;
- 至少 4 人能复述 Agent 当前主要意图与大致原因;
- behavior-only 条件对意图/来源/结果类别识别至少 65%;minimal-UI 条件至少 80%;测试者不能直接照抄完整理由句;
- 至少 4 人主动使用三种不同干预通道;
- 至少 4 人能指出两次干预造成的不同后续行为、关系或房间后果;
- 黄金会话每 10 分钟至少 3 个 meaningful beats;
- Lab Mode 单独测试且明确不进入满意度/人格数据。若测试者要求回到 Lab 直控才能获得乐趣,核心体验失败。
抗无聊起始门槛(待实验调参)
- 30 分钟无人可控运行中,同一未变化对象第 3 次之后 Inspect 价值
<0.05; - 无明确项目或 Need 理由时,任一普通行为族在连续 10 分钟窗口内不得超过 60%;Idle 从分母排除而非用来稀释;
- 两个等效行为不得在 2 分钟窗口内无新证据地切换超过 4 次;
- 至少一条行为链永久改变未来 Affordance、能力或空间状态;
- 每 10 分钟至少 3 个 meaningful beats;无新证据的同类重复序列不得超过 3;
- Idle 是合法留白,但不计 beat、不稀释普通行为族分母。
十四、机制—内容—测试覆盖
| 关键机制 | 首个内容载体 | 主要测试 |
|---|---|---|
| Safety / Recovery | 升温设备、低风险替代 | V03、V18—V20 |
| 身体稳态 / 不可控 | 补给源、床、失效资源 | V01、V02 |
| 有限感知 / 世界 Tests | 可移动、锁定、损坏的杯子/抽屉 | V06、V07 |
| Queue / 原子对象 | 手、杯子、容器 | V05、V10 |
| 承诺 / 前瞻线索 | 跨日修复项目、人类请求 | V11、V18 |
| 预期 / Skill / Self-efficacy | 饮水器、修复技能 | V09、V18 |
| Trust 分域 / 归因 / 因果预算 | 真假位置陈述、履约历史 | V12、V13、V22a/b |
| 关系角色 / 脚本冲突 | 客人、照护、共同管理 | V14、V14b、V14c |
| 物权 / 社会框架 / 权威边界 | Gift、Loan、Shared-use、私密信息 | V15、V16 |
| Habit / 熟悉度 | 晨间饮水、重复 Inspect | V17、抗无聊 Gate |
| Affect / Appraisal | 脉冲、持续、习惯化、敏化 | V21 |
| Trait / Value | Mira、Niko 项目方式 | V08、V00 |
| LLM 边界 | 延迟 Stub、多模型合法分歧、非法输出 | V04a、V04b、V12 |
| 核心玩家体验 | 黄金项目、五通道、可读 UI | V00、盲测、V20 |
若某个模块没有内容载体和失败测试,就不进入 v0。
阶段 manifest 与静态 lint
| 阶段 | 已启用模块 | 可运行测试 |
|---|---|---|
| 0 | World、Safety、四组调节、Tier/Utility、一个身体 Interaction、Queue/事务、物理 Event Reducer、预期学习、Agency 基础 | INV/LIV、V01/V01b、V02—03、V04a、V05、V08—10、V19、V22a |
| 1 | + 视觉/听觉/触觉、认识空间 Tests、有限注意、V00 项目内容与最小请求 | + V00、V06—07 |
| 2 | + 承诺/Trust/Relationship、Affect/Appraisal、Habit、Skill/Self-efficacy、SituatedScript、物权/框架/Authority/Boundary、Agent Memory | + V11—18、V21、V22b |
| 3 | + 真实 LLM 枚举提案与摘要/语言 | + V04b、V12 LLM 故障、完整盲测 |
配置 lint 在生成 hash 前检查:每个测试引用的模块已启用;每个常量能从 reference profile/fixture 唯一解析;无未绑定模糊词;后续阶段字段不能出现在前置 Gate。任一失败则 seed manifest 不生成,测试不得运行。
十五、阶段通过规则
阶段 0 可以通过,当且仅当
- INV-01—10 全部逐 Tick 成立;
- reference-profile、config hash、calibration/holdout manifest 已冻结;
- V01/V01b、V02—03、V04a、V05、V08—10、V19、V22a 通过;
- 失败种子能完全重放;
- LLM 关闭、无人干预时仍有界运行。
阶段 1 可以通过,当且仅当
- 阶段 0 无回归;
- V00、V06—07 通过;
- Agent 的行为不会泄露视野外真值。
阶段 2 可以通过,当且仅当
- 阶段 0—1 无回归;
- V11—18、V21/V21b、V22b 通过;
- 情境脚本敏感性不是 Trait/台词皮肤,NormConflict 与社会 Outcome 可被争议;没有地方性材料时不作群体文化主张;
- Trust、归因、记忆和承诺都有反证与终止。
阶段 3 可以通过,当且仅当
- 阶段 0—2 无回归;
- V04b、V12 的所有 LLM 故障仍可降级;
- 不同模型可产生不同合法高层轨迹,但不得改变证据、硬合同、允许转换或同一 causal episode 的可诊断直接更新;
- 玩家盲测通过。
“专家批准文档”不等于“原型已经通过这些测试”。文档批准只表示机制和判定条件已经足够清楚;实现后仍必须逐项跑验收。