长时 agents 的有效 harness

原文:Effective harnesses for long-running agents

导读

本文系统讨论长时 agent harness:如何管理 session、memory、tool loop、context reset、权限边界和恢复策略,让 agent 在小时级任务中保持可靠。

说明:本文按 Agent Learning 的中文阅读页格式,对原文结构与关键技术细节做逐节中文转述与解读;为避免整篇镜像转载,正文保留原文章节脉络、关键数字和术语,但不做逐字复刻。

核心观点

正文

原文主线

本文系统讨论长时 agent harness:如何管理 session、memory、tool loop、context reset、权限边界和恢复策略,让 agent 在小时级任务中保持可靠。

harness 的角色

长时 agent 不只是一个 while loop。它需要在几十到上百轮交互中保持目标、调用工具、读取结果、更新计划、处理失败,并在 context window 被压缩后继续工作。harness 是承载这些职责的运行时。

好的 harness 不是替模型做所有决定,而是给模型稳定的工作边界。它定义哪些状态持久化、哪些工具可用、何时停止、何时请求人类、何时重试。

session 与 context

session log 应记录所有重要事件:用户输入、模型计划、tool call、tool result、错误、checkpoint 和人类反馈。context window 则是从 session 中挑选出来喂给模型的当前视图。把两者区分开,才能在长任务中恢复和压缩。

compaction 的难点是决定保留什么。对长时 agent,最重要的通常不是完整对话,而是当前目标、已验证事实、未解决问题、修改范围、失败尝试和下一步计划。

工具循环与停止条件

tool loop 需要预算。没有预算,agent 可能不停搜索、反复测试、重复修同一个错误。预算可以是时间、tool calls、tokens、文件范围或最大 retry 次数。预算不是束缚,而是帮助 agent 在不确定时选择汇报或请求帮助。

停止条件同样重要。完成不只是模型说完成,而应满足验收条件:测试通过、diff 符合范围、引用完整、用户目标被覆盖、没有未处理错误。

安全与恢复

长时 agent 的风险随时间增长。它可能逐渐偏离目标,也可能在错误上下文中做高风险动作。harness 应把权限按风险分层:读取和低风险命令可自动执行,删除、发布、外部写入、权限提升需要确认。

恢复能力包括 checkpoint、resume、rewind 和 crash-safe session。agent 运行越久,越不能把状态只放在进程内存里。

深度解读

有效 harness 的底层思想,是承认 agent 的智能需要外部结构才能长期稳定发挥。单轮模型可以很强,但长时任务会持续制造熵:上下文膨胀、工具失败、目标漂移、权限风险、状态丢失。harness 通过状态、预算、验证和恢复机制对抗这些熵。真正的 agent 产品竞争,不只是模型分数,而是这些运行时设计能否让模型在现实环境中持续可靠。

落地启示