Runtime 能力适配与角色生命周期
先读取宿主当前暴露的工具说明;产品名、版本印象和本技能示例不能替代实际能力。官方文档依据见 研究报告 S9—S11。本文件是编排合同,书记员脚本不启动或唤醒 Agent。当前先用通用民事基准在不同真实宿主复现,不把扩展证人、鉴定人作为前置条件。
1. 每次运行记录能力清单
在演练说明中记录实际支持/不支持/未确认:
- 子任务创建、结果等待、后续输入/续接、取消或结束;阻塞调用还是异步调用。
- 能否从无主会话历史的上下文开始;是否自动加载项目指令、长期记忆或共享文件。
- 文件是否共享、能否限制角色工具/目录、Python 是否可用、可用角色席位与上下文预算。
- 本次采用原角色续接还是逐回合重建,真实调用标识如何与 turn_id 对应。
未知能力按保守路径处理,不安装新平台或修改全局配置来凑齐理想功能。一次性执行也能完整讨论;最低需要主控按顺序调用角色并取得完整返回,不需要三个角色同时在线。
2. 按能力选择路径
| 实际能力 | 主控动作 | 不能假定 |
|---|---|---|
| 可续接、可隔离初始上下文 | 为每个角色固定实例,逐轮传新 packet 与公开程序状态 | 续接后自动知道其他角色已发言 |
| 只能一次性调用 | 每轮新建同一逻辑角色,传角色合同、packet、本方简短备忘录 | 每次实例变化意味着换了诉讼角色 |
| 有直接消息/Teams | 用消息通知可读取的正式回合;仍由书记员统一入卷 | 随机到达的消息可直接作正式证据或程序决定 |
| 无共享文件 | 主控搬运 packet 与完整返回稿,在自己的工作区执行 clerk | 子任务可以自行读取主控路径 |
| 并发席位少 | 依次创建、结束或复用同角色;用冷启动替代占住全部席位 | 为凑角色数量无限等待席位 |
| 无子任务 | 明示单 Agent 分角色;不声称独立攻防或认知隔离 | 三个角色标签就是三个独立 Agent |
| 无 Python | 按相同身份/版本字段逐份落 Markdown 记录 | 原子提交、去重或脚本门禁已经生效 |
禁止直接修改宿主内部 mailbox、会话 JSON 或 task 数据库。Skill 的文件是庭审记录,宿主的消息机制负责传输,两者职责不同。
3. 最小调用循环
以下是伪代码,不是所有 Runtime 都存在的 API 名:
读取 status,恢复尚未结束的派发;否则从公开议程选择下一程序动作
书记员 dispatch -> 得到本轮 packet
构造角色输入 = 共同程序约定 + 该角色指令 + packet + 本方备忘录
若有干净且属于同一 run/role 的可续接实例:继续该实例
否则:创建无旧上下文的新实例(不传主控全部对话)
等待该实例完整返回,核对它实际回应的问题与披露范围
书记员 commit -> 获得正式事件号
给该角色更新本方备忘录;从正式事件重建公开待答事项
下一角色只在上一正式发言入卷后开始回应主控不需要将子任务挂起直至开庭结束:一次只做一个程序动作并返回即可。讨论连续性由 run_id + role + 已公开历史 + 本方备忘录 保持,实例 ID 只是传输地址。
保留受限的调用索引:turn_id、role、宿主实例 ID、调用/完成状态、实际提交文件、accepted_seq、重试原因。索引只证明执行过程,不另设权威发言或替代 events;不得把索引中的私有路径发给对方角色。
4. 三种“轮次”分开计数
- Runtime 内部模型/工具步数:一次子任务可能执行多次,不等于开庭多轮。
- 正式发言:一次 dispatch 对应至多一个成功入卷的 speech;取消派发仍消耗预算。
- 争点交流回路:主张或问题、指定回应及必要的追问/主持归纳,由多个正式发言组成,见 调度规则。
不预生成对方答案,不在同一旧 packet 上并行写互相回应。并行仅用于开庭前独立准备或互不依赖的研究;结果先按可见性整理,正式庭审顺序处理。
5. 上下文、角色记忆与恢复
每轮 packet 是本次材料和公开发言的权威输入。本方备忘录只保存已表达立场、关键来源、未解决事项及计划;写清 run、role、材料版本、公开记录截至编号,不要求模型隐藏思维过程。与 packet 冲突时先回查正式记录。
默认保留完整公开历史。长案卷不能装入时先缩小本次争点范围;确需增量时,保留公开目录、完整必答发言、双方相关论证与原文回查入口,不只传书记员结论。无文件访问能力的角色由主控补送所需原文;取不到则停止该回应,不能靠猜测继续。
发生以下情况必须重新建立干净上下文,不能仅说“忘掉”即可继续:
- 原实例看过另一角色的私有策略,或准备更换诉讼立场。
- 可见性被撤回、材料移除导致旧知识本不应再进入本次模拟。
- 曾让法官继承主控全量会话,或共享项目记忆载入了案卷外答案。
已公开发言无法靠修改 manifest 收回。误披露须保留事故记录并停止传播,按授权隔离受污染产物;若要继续不受污染的预演,使用修正后的材料另建运行并重新演练受影响链路。原运行不得对外称作未污染。
重派前 cancel;旧结果迟到不得作为新回合收录。支持停止则停止旧实例,不支持则隔离并忽略迟到结果。主控中断后先 status/packet;没有正在工作的原实例时从同一派发重建角色,不生成新的假历史。
6. 兼容性结论怎么写
| 范围 | 当前证据 | 可说/不可说 |
|---|---|---|
| 当前 Codex 宿主、macOS、v1.1.0 续接式三角色民事样例 | 历史单次前向与协议测试,见 TASKS Task-008 | 可说该路径曾执行;不可替代本版或所有 Codex 版本验收 |
| 当前 Codex 宿主、macOS、v1.2.0 冷启动三角色民事样例 | 10次真实发言及独立产物复核,见TASKS Task-016/018 | 仅证明该次单争点闭环与一次性路径;当前文档调整不是新一次运行 |
| Claude Code 2.1.237、macOS | 2026-09-20动态验证:模型、Agent、Write和四发言顺序冷启动通过;完整候选两次停滞且无庭审产物,见TASKS Task-011 | 可说顺序子代理编排与落盘可用;短闭环有事实扩大问题,完整Skill、书记员三项交付与强权限隔离均NOT_VERIFIED |
| Gemini CLI 0.25.2、macOS | 2026-09-20动态验证:参数解析通过,最小模型请求无输出并中止;Agent与完整候选未运行,见TASKS Task-011 | 可说命令入口存在;不可称模型入口、子任务或本Skill兼容,不能把入口停滞归因于庭审协议 |
| 其他宿主、无文件模式、Windows/Linux | 能力合同与降级设计 | NOT_VERIFIED,不能从标准库或文件格式推断已兼容 |
新增实测时先按分级门禁记录候选、宿主版本/工具面、角色调用和真实产物。若只是限制当前宿主来模拟一次性模式,明确称“当前宿主的一次性调用模拟”,不冒称在另一产品上完成测试。