成为赞助商——支持中文 Agent 生态

了解赞助
库Agent场景库
← 返回用例列表

AgentForge:从零做 harness,把契约测在模型之外

对照个人实践:自建 AgentForge 运行时,强调结构化 ToolResult、审批在提示外、环路检测、上下文压缩与 278 个无模型契约测试;不代你上 YOLO、不外推智能度。

场景说明

面向要理解 Agent 运行时边界的开发者:把「模型+while」写成可对账的会话/工具/安全/持久化契约,区别于队列验证、mutate gate 与「证明声明」管线。

案例叙事

01他们做了什么

Mohit Goyal 在《I Built an Agentic Harness From Scratch…》(页内 <time dateTime=2026-06-07> 与 JSON-LD datePublished=2026-06-07)写明:曾以为 Agent≈模型加循环;自建 AgentForge 后认为模型大约只占工程 20%,其余是动作空间、审批、观察格式、上下文预算、恢复与持久化。开源包 `agentforge-harness`。

会话在首 token 前就决定工具/MCP/技能/模式可见性。循环含计划模式更小 turn 预算、模型回退链、断路器、上下文告警与压缩、以及对「同一路径连读三次无编辑」的 LoopDetector。工具统一 `ToolResult`(success/status/output/error/summary/artifacts/next_actions/recovery_hint),经卫生清理、脱敏、不可信标记与钩子再回模型。文件读带行号与尾换行状态;edit 精确匹配失败会提示相似行并要求重读。审批策略含 on-request/auto/auto-edit/never/yolo,危险命令分类在模型外;计划模式从注册表过滤写工具而非只靠提示。MCP 工具命名空间化且不绕过注册表。子 Agent 当有界工具(只读勘察为主)。持久化原子写+600 权限;测试用隔离 HOME。作者称 278 测试覆盖契约、不测散文——证明边界成立而非 Agent「聪明」。本场景据此输出「harness 契约」提纲。禁止建议默认 YOLO 上生产。

02实际效果

  • 源披露 278 个通过的无模型契约测试,以及计划模式 turn 上限、压缩保留近 5 轮等设计量级;属作者仓测试窗口,不可外推为你的任务成功率或模型能力。
  • 能把「再包一层 ReAct」与「观察契约+提示外审批+可测边界」拆开。
  • 为 recovery_hint、LoopDetector 与 MCP 不绕过注册表提供提问清单。

03值得知道

  • 278 测试不证明端到端任务质量;模型非确定性仍在。
  • 不可信包装不是完整沙箱。
  • 上面写的是个人开源 harness 复盘,不是某云厂商官方运行时。

04可复制提示词

Harness 契约简报

你是 Agent harness 设计助手。只根据用户约束写契约提问清单,不要编造已实现。

现有循环:{{current_loop}}
工具失败表现:{{tool_failure_behavior}}
计划模式是否暴露写工具:{{plan_exposes_write}}
审批策略:{{approval_policy}}

输出 Markdown:
1. ToolResult 必填字段
2. 必须在提示外强制的边界
3. 可无模型测试的用例列表
4. 人工验收危险命令策略
禁止建议默认 YOLO;禁止声称测试数等于智能度。

Agent 空转环路排查提纲

Agent 反复同一工具调用无进展,请写排查提纲。

工具名:{{tool_name}}
重复次数:{{repeat_count}}
最近观察摘要:{{last_observation}}

输出:
1. 是观察过贫、缺 recovery_hint,还是缺环路检测
2. 最小补丁
3. 应加的无模型测试
4. 人工确认清单
不要伪造「环路已永久消失」。

怎么做

  1. 粘贴是否已有自研循环、工具失败时模型是否盲目重试、以及计划模式是否仍暴露写工具
  2. Agent 按实践帖输出:会话预构建世界→ToolResult 字段→审批/计划模式过滤→环路检测与压缩→可无模型测试的边界清单
  3. 人工保留危险命令策略;Agent 不代你默认 YOLO、不声称 278 测试证明模型更聪明

实用提示

  • 源帖核心:工具结果要带 summary/next_actions/recovery_hint;失败观察的质量决定下一步决策质量
  • 与 flexcompute-agent-loop-mutate-gate / sluice-shared-agent-verify-queue / melon-coding-agent-prove-claims 不同:本条是自研 harness 的 ToolResult 契约+提示外审批+LoopDetector+无模型契约测试,不是库内 mutate/gate、共享测队列或可核验声明门禁
#Agent harness#ToolResult#审批策略#契约测试#个人开源