Reference 0002
Agent Runtime 合同
模型提出意图,Runtime 管理事实、权限、执行与恢复。
责任边界
| 组件 | 应该负责 | 不应独自负责 |
|---|---|---|
| 模型 | 理解目标、语义判断、提出候选动作 | 授予权限、确认事务成功、决定无限预算 |
| Runtime | 循环、状态、校验、预算、重试、检查点、终止 | 替代模型处理开放式语义判断 |
| 策略层 | 授权、风险分级、审批、数据边界 | 依赖自然语言承诺保证安全 |
| 工具层 | 执行有类型的外部读写并返回机器可判定结果 | 接受任意文本并拥有无限权限 |
| 评测层 | 依据外部事实判断任务是否成功 | 只询问模型“你完成了吗” |
六个 Runtime 合同
事实源合同
任务状态保存在结构化存储;prompt 只是视图,不是真相。
动作合同
模型只能提出符合 schema 的有限动作。
策略合同
每个动作在执行前经过权限、风险、预算和审批校验。
副作用合同
写操作带唯一 action id,并支持幂等、补偿或人工确认。
生命周期合同
明确完成、失败、暂停、取消、超时和 turn limit。
恢复合同
关键边界写检查点;恢复时不重复已经成功的副作用。
副作用执行模板
- 模型输出结构化 action proposal。
- Runtime 校验 schema、权限、状态版本和预算。
- 高风险动作进入 human approval。
- Runtime 分配稳定的 action id。
- 工具按 action id 幂等执行。
- 结果与外部凭证原子地写入状态。
- Runtime 再把最小必要观察交给模型。
失败分类
| 失败 | 示例 | 主要处理者 |
|---|---|---|
| 语义失败 | 模型误解意图、选择了错误工具 | 模型策略、上下文、评测 |
| 校验失败 | 参数缺失、越权、金额超限 | Runtime 与策略层 |
| 瞬时失败 | 超时、限流、临时网络错误 | 有界重试与退避 |
| 未知结果 | 请求超时但外部系统可能已扣款 | 幂等查询、对账、人工介入 |
| 永久失败 | 订单不存在、账户被关闭 | 停止、解释或改变计划 |