Agent Harness 是什么?模型之外的执行循环与状态管理
解释 Agent Harness 如何连接模型、工具执行和任务状态,用跨会话代码工作说明进度、恢复与权限控制,并区分它与模型及多智能体编排。
先理解这个概念
Agent Harness是围绕模型搭建的运行支撑,用于组织任务循环和工具执行。模型提出下一步后,运行支撑向环境发出调用,并根据结果维护会话状态,处理必要的审批和恢复。它是软件系统,不是又一个基础模型;同一模型放在不同Harness中,可能因工具与状态管理差异表现不同。
一次工具调用需要有人真正执行并回传
模型生成读取文件的请求后,运行软件还要识别调用、执行读取并把结果对应回当前任务。失败不能被静默包装成成功。Harness就在这些步骤之间管理状态,决定何时继续请求模型、停止或等待人工处理,而不是只把几段聊天文本串在一起。
外部执行可能发生在本机、容器或其他环境。Harness需要知道正在使用哪份工作资料以及哪些工具可用,不能把一个路径字符串当作文件已经存在。模型能力再强,也不会让没有执行器的工具请求自行变成现实操作。
长任务必须知道已经完成了哪部分
Anthropic的长任务实践使用初始化安排环境,并用功能清单和进度记录支持后续会话。关键是新会话能读到工作状态,避免重新开始或过早宣布完成。这是一种具体设计,不表示每个Harness都必须采用相同文件名或双阶段结构。
进度标记应对应实际检查结果,恢复时还要核对环境是否变化。只保存一份模型摘要可能遗漏失败状态,Git记录也不能自动还原外部业务系统。跨会话工作需要明确哪些状态可恢复,以及未确认动作应怎样处理。
产品可以复用 Harness 构建不同界面
OpenAI将Codex Harness作为可复用的执行系统,界面可以通过相应集成访问会话、事件和审批。桌面客户端只是使用方式之一,运行支撑可以嵌入其他任务软件。复用Harness不意味着集成应用自动获得全部工具或用户凭证。
这种分层让开发者分别配置模型与执行策略,也能查看工具过程。对运行中的任务需要保留调用与结果关联,错误时提供可定位状态,而不是仅输出一句任务失败。是否支持具体集成方式,应核对所选版本。
与编排框架和底层模型的职责区别
模型提供推理与生成,Harness处理实际执行和状态。多智能体编排更关注任务如何在不同角色间分配,可以是Harness的一部分,但不等于完整运行系统。仅创建多个角色提示词,仍不能证明具备恢复、审批或有界工具循环。
观察一个系统时,可以沿一次任务追踪请求、环境返回及终止条件。若工具结果没有送回模型,或者重复失败没有停止规则,问题可能属于运行支撑。更换模型不一定修复它,应先找到具体的状态或消息处理缺口。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。