G41:结构化 Replay、幂等与 Agent 自主边界
结构化 replay 用保存的 state/action/result/event 重建已发生的系统转移,而自主边界决定哪些候选动作只能模拟、哪些可只读执行、哪些必须等待独立授权。
内容类型:预习教材(不代表已完成)
日期:2027-04-03
阶段:P3 · AGI Foundations 90
总路线:Day 221 / 360
周次:W6 · Memory、Planning 与 Tool Use
节奏:周六可选探索
状态:教材已备;学习未完成
标签:replay、idempotency、autonomy、side-effect、epistemic-boundary
一句话定义
结构化 replay 用保存的 state/action/result/event 重建已发生的系统转移,而自主边界决定哪些候选动作只能模拟、哪些可只读执行、哪些必须等待独立授权。
学习目标
- 区分 deterministic replay、behavioral rerun 与 counterfactual rerun。
- 理解幂等、去重、补偿和查询确认各自解决的不同问题。
- 用 autonomy ladder 限制工具副作用,而不把自主性等同于智能。
- 形成一份轻量边界说明,不要求搭建生产 Agent 平台。
核心知识
- Deterministic replay 从已经提交的 event 重建状态;behavioral rerun 重新调用模型,结果可能变化;counterfactual rerun 替换某 action,要求环境模型或 sandbox。三者证据强度不同。
- Idempotency 保证重复逻辑请求不产生额外副作用;dedup 只尝试识别重复;compensation 用新动作减轻旧动作影响;rollback 假设能恢复旧世界,现实外部系统常不满足。
- Agent autonomy 可拆为建议、模拟、只读执行、可逆写入、不可逆写入。能力更强并不推出应授予更高层;风险、可验证性与责任决定权限。
- 结构化 action trace 应保存工具、版本、参数摘要、权限决策、结果类型和关联 ID,而不是保存凭证或所有敏感 payload。
- Replay 的认识论作用是定位“系统为何来到此状态”;它不能证明原动作目标正确,也不能产生原本缺失的反事实真值。
机制与推导
事件状态重建为 (x_n=F(E_{1:n}))。若要做 counterfactual,把第 (j) 个动作替换为 (a'_j),不能简单继续复用原后续事件,因为环境路径已经改变:
[ E'{j+1:n}\neq E{j+1:n} ]
需要 simulator 或重新进入 sandbox 生成新 observation。把原轨迹后缀接在替代动作后,是常见但不合法的反事实。
对逻辑动作 ID (k),理想幂等性质是结果稳定:
[ result(execute(k,a)^n)=result(execute(k,a)),\quad n\ge1 ]
但跨版本、参数不同或保留期过后可能失效。因此 contract 要写 idempotency scope 与 duration。
一个轻量 autonomy decision 可以写成:
[ level(a)=f(reversibility,impact,observability,authorization,uncertainty) ]
当影响高、不可逆、观察不足或授权缺失时,输出 proposal 与 handoff,而非执行。这个函数是概念框架,不应用随意权重自动批准高风险动作。
最小练习或观察步骤
- 选一条已有 toy event log,从空状态 deterministic replay,核对每个字段来源。
- 重新运行一次 planner 形成 behavioral rerun,允许候选动作不同;不要把不同视为 replay 失败。
- 选择一个只读动作做 counterfactual,使用确定性 stub 生成新后缀;说明为何不能复用原后缀。
- 为两个工具写 idempotency scope:查询天然只读,保存草稿依赖 logical action ID;手推保留期过后的重复风险。
- 将工具分到“仅建议、可模拟、只读、可逆草稿、禁止”五层,并写一个升级人工的理由。
- 最多完成一页边界表即可,不需要安装 Agent 框架或做完整测试套件。
常见误区与边界
- 重新调用模型得到相似输出就称为确定性 replay。
- Counterfactual 替换动作后仍使用原 observation,破坏因果路径。
- 将 compensation 说成无痕 rollback,忽略外部观察和不可逆影响。
- 有幂等键就假设服务端永远去重,不查看作用域与保留期。
- 把更高自主权限当作更高智能的证明。
- 本日只讨论本地、合成和只读边界,不连接资金、客户权益、生产写入或无界网络。
研究/系统场景连接
金融 Agent 可以回放“读取政策—检索案件—生成草稿”的结构化轨迹,以解释建议依据;不能通过重放自然语言来证明真实决策正确。退款、冻结、转账等动作即使模型置信度高,也应停在授权边界。研究 Agent 的自主层也可类似划分:整理本地文献是只读,提出实验配置是草稿,运行受限 toy code需资源上限,修改原始数据或公开发布则不授权。
自检问题
- deterministic replay 与 behavioral rerun 的对象分别是什么?
- 为什么 counterfactual action 不能沿用原轨迹后缀?
- 幂等、去重、补偿与回滚有什么差别?
- 自主级别为何不应由模型能力单独决定?
- replay 最强能支持哪类解释,不能支持哪类因果主张?
专业课程对齐
- 回看 ReAct 原始论文 中行动与观察的依赖,理解替换 action 后 observation 路径必须重新生成。
- 阅读 Toolformer 原始论文,区分模型学到的 API 使用模式与 runtime 提供的幂等、权限及证据。
- 阅读 Generative Agents 原始论文,观察仿真环境中的计划与记忆回放,并避免直接外推到有真实副作用的开放环境。
深入学习提示
若有兴趣,可比较 event sourcing、workflow engine 与 agent runtime 的恢复语义,或用小型时序逻辑表达 invariant。不要追求“完全自治 demo”;把一个超时未知状态正确停住,比让十个工具连续运行更能训练边界意识。始终问:重放的是事实、belief,还是模型新生成的叙事?
学后填写区
- 实际 replay 的对象:
- behavioral/counterfactual 的差异:
- 一个幂等作用域:
- autonomy ladder 中的禁止项:
- 证据最强边界:
- 尚未理解的问题: