Harness 与运行时2026-07-11
中断即状态
定义
"中断是状态,不是异常"是 Agent Runtime Protocol 的核心设计原则之一:INPUT_REQUIRED、AUTH_REQUIRED 这类暂停应进入协议状态机,成为一等状态,而非被当作异常处理。它是 Human-in-the-Loop 的真正基础设施。
要点
- HITL 的基础设施不是一个 ask-user API,而是"状态快照 + 中断载荷 + 恢复指令 + 权限上下文"的组合能力。
- 依赖状态持久化:只有 Runtime 能保存精确状态(Checkpoint),才可能几小时后从同一断点继续。没有持久化的框架只能做同步的"ask and wait"——进程不能退出、用户必须立即回复。
- 中断/恢复通用流程:执行 → 到达中断点 → 保存状态 → 暴露中断载荷 → 人类决策 → 提交输入 → 从快照加载 → 恢复。
- 是各框架实现差距最大的维度:LangGraph 用
interrupt(payload)+Command(resume=value)深度整合 Checkpoint 而领先;OpenAI 只能审批工具调用;Claude SDK 只能发信号停止无法恢复。
示例
def review_node(state):
decision = interrupt({
"question": "要发布这篇文章吗?",
"options": ["发布", "修改", "丢弃"]})
# 人类通过 graph.invoke(Command(resume="发布"), config) 传入
相关概念
参考资料
- 主笔记:Agent Runtime Protocol 稳定对象〔待补〕
被这些概念引用
来自本站知识库 · 全部概念