dalaoyang技术手记

Agent Harness 是什么:让模型持续工作的运行设施

模型能提出下一步,Harness 让这一步进入可控的运行过程。循环、上下文、工具、状态、预算、确认和观测共同决定一个助手能否接续工作,也决定它何时必须停下。

Agent 入门 · 阅读路线

先带走这三个判断

  1. Harness 指模型周围的运行设施,具体范围随产品而异;它不是一种新模型。
  2. 跨会话任务需要真实产物和可核实状态,压缩聊天历史不能替代完整交接。
  3. 模型升级与 Harness 改进要分别验证:能力、恢复、权限和成本是不同维度。
从第一个问题开始
文章目录

给一个容易拼错的词放进具体场景

Harness 可以理解为支撑 Agent 运行的一套设施。这个词在不同产品里范围并不完全一致:有的侧重循环与工具,有的还包含文件系统、沙箱、状态持久化与监控。它不是模型名称,也不等同于一段系统提示。阅读实现时,先问它实际负责哪些机制。

继续看资料整理助手。模型认为需要打开第三篇文章,Harness 负责把请求交给工具、接住返回结果、更新任务状态,再决定能否继续下一轮。若网络断了、预算耗尽或用户取消,它需要留下可解释状态,而不只是让模型再说一句“我会继续”。

把运行设施拆成七个问题

Harness 围绕模型:上下文、工具、循环与运行约束;模型负责判断,外层设施负责组织执行、保留状态并落实约束。
模型负责判断,外层设施负责组织执行、保留状态并落实约束。放大图表

循环决定什么时候再调用模型;上下文决定模型每次看到什么;工具连接外部能力;状态保存当前任务;预算限制时间、调用和资源;确认把需要授权的动作交给合适的人;观测记录关键事实与结果。七项不是行业认证清单,而是本文建议的检查视角。

例如,助手搜索后继续读取,靠的是循环;只给它与分类相关的片段,靠的是上下文;把写入博客拦在可审阅草稿之后,靠的是执行约束。每个机制需要落到具体代码或平台行为,写在提示里并不能证明已经生效。

上下文管理不只是在尾部删消息

模型窗口有限,资料正文、工具定义和历史会一起占空间。把最旧内容直接删除,可能删掉来源限制、未完成动作或用户确认,留下失去因果关系的片段。更好的办法是保留当前目标、约束、关键证据和未解决事项,把可重新读取的原文放到外部产物中。

摘要是一次有损处理,应标明它来自哪些材料,哪些结论尚待核实。资料助手记下“已读两篇”还不够,接续时要知道两篇地址、分类依据和第三主题缺口。上下文管理服务当前判断;外部任务状态负责长期记录,两者不能简单互换。

跨会话工作需要交接物

跨会话接续:交接记录与真实产物一起核对;新会话读取目标与进度,再检查产物和环境,选择尚未完成的下一项。
新会话读取目标与进度,再检查产物和环境,选择尚未完成的下一项。放大图表

Anthropic 在 Effective harnesses for long-running agents 中用长时编码任务说明了跨上下文的困难,并介绍初始化、增量工作与交接产物的做法。可以把这项经验迁移为资料任务的设计建议:初次建立目录和完成条件,后续每次只推进明确部分,留下来源清单、产物位置和未解决事项。这里是通用类比,不是对该实现的复刻。

新会话开始时应先读交接记录,再验证实际文件与来源。不能看到“完成三分之二”就直接宣布完成,也不能假设旧摘要里的网址仍然有效。任务目标、证据与进度是三份不同信息:目标说该做什么,证据说已经确认什么,进度说下一步从哪里接。

恢复要核对外部动作

保存任务快照能恢复内部状态,但外部系统可能在中断前已经处理请求。资料写入如果超时,直接再写可能重复生成页面。应按动作标识核对外部结果,或使用下游明确支持的幂等机制。LangGraph 官方中断文档也提醒,恢复中断时节点可能重新执行,提前发生的副作用需要特别处理。

LangGraph 官方持久化文档区分内存保存与持久保存;内存记录在进程重启后可能丢失。选择保存机制以后,还要注入中断验证恢复位置、产物完整性与调用次数。配置了数据库,不等于已经证明任务可以从所有故障点恢复。

预算和确认让任务有边界

任务预算应覆盖模型调用、工具尝试、等待和结果大小,而不只有“循环十次”。如果一轮并行读多个页面、每次又重试两遍,实际资源消耗可能远超表面轮数。预算耗尽时保存已确认事实、结果未知的动作和继续条件,避免把未完成写成已完成。

确认也应该针对具体对象与参数。用户批准发布某份草稿,并不意味着助手随后可以自动改变标题、覆盖另一篇文章或发送给新对象。运行设施在执行前检查范围,遇到参数或权限变化重新核对。观测记录能解释这个过程,但观测本身不会授予执行权限。

如何分清模型与 Harness 的效果

保持模型与任务不变,比较不同 Harness 的调用次数、恢复成功情况、越界动作和完成证据;保持 Harness 不变,再比较不同模型的选择与解释能力。否则你可能把新增工具带来的收益归到模型,或把模型变化引起的差异归到状态机制。

检查至少包含正常流程、工具失败、用户取消、长资料超限和动作结果未知。模型最终回答“完成”只能证明它生成了这句话,不能证明产物已经写出或外部系统生效。对于资料助手,真实验收仍然是文件可读、来源正确、主题覆盖和缺口诚实。

动手练习:写一张交接便签

设想整理任务在读取两篇资料后中断。给下一次运行写一张便签,最多六行,包含目标、约束、已验证产物、未解决事项、结果未知动作和下一步。再想想,下一次应该核对哪一行,而不是照单全收?

展开一份交接示例

目标:比较三种 Agent 概念。约束:只读公开来源,不自动发布。已验证:两个原文地址和对应分类草稿。未解决:Harness 入门例子不足。结果未知动作:无写入。下一步:核对草稿存在及来源有效,再补 Harness 例子。交接记录提供起点,真实文件和来源仍是核验对象。

参考资料与阅读边界

以上案例为用于解释概念的构造场景;图中结构属于通用示意,不代表某个产品的线上架构或验收结论。资料核对日期为 2026 年 10 月 7 日,框架接口会演进,具体实现请以所用版本的官方文档为准。

记录可验证的工具事实与简短决策摘要,不展示模型隐藏推理;方法名称不构成效果或成功保证。

好 Harness 让每一步可执行、可核实、可接续,也知道何时停止。

读完,留一句在书桌上

回书桌看看

仅保存在当前浏览器。

图表

窄屏可在图内横向滑动查看细节。