Skip to Content
工程化实践3. Agent Harness总览

Agent Harness 总览

让 AI 生成的代码被控制在可控范围内

在前面的章节中,我们完成了工具配置、技术选型和工程架构。现在项目骨架已经搭建完成,是时候把模型之外的一切设计好——这就是本章的主角:Agent Harness

核心公式:Agent = Model + Harness

Agent 是模型与 Harness 的组合。模型负责推理,而 Harness 是模型之外的一切:

Harness 组成作用
System prompts / Rules告诉 Agent「在这个项目里我们这样做」
AGENTS.md / CLAUDE.md跨工具的项目契约(栈、命令、边界)
Skill 文件可复用的程序性知识与流程
Subagent 指令子任务的委派与分工
工具bash、文件编辑、搜索、MCP、浏览器
Sandbox / 执行环境隔离、worktree、可运行环境
Hooks策略、格式化、审计、危险操作拦截
反馈回路与恢复路径验证、repair loop、跨会话记忆

关键判断:一个一般模型 + 优秀 Harness 的表现,通常稳定胜过优秀模型 + 糟糕 Harness。原始模型不是 agent——有了状态、工具执行、反馈回路和可执行约束,才成为 agent。这也是为什么本章重心不在「选哪个模型」,而在「怎么搭脚手架」。

Harness 组件一览

下表把通用 Harness 组件映射到 Cursor 中的具体对应物(详见各子页):

Harness 组件含义Cursor 中的对应物
Configuration系统指令、规则、契约AGENTS.md、.cursor/rules、Skills、子代理指令
ToolsAgent 可调用的工具集bash、文件编辑、MCP、浏览器
Execution environment运行与隔离worktree、Auto-Run、Cloud Agents VM
Context machinery上下文与记忆管理compaction、.memory/、按需加载
Orchestration任务分解与编排Subagents、planner/generator/evaluator
Hooks & middleware确定性约束与拦截hooks.json、preToolUse、afterFileEdit
Verification验证与纠错信号lint/test/CI、统一 verify 入口

本章阅读路径

本章 10 个子页按「先理解、再配置、后闭环」组织:

团队实践也是 Harness 设计

Harness 思维不限于 Cursor 的配置文件——团队的日常实践同样属于 harness 设计:

  • .memory/ 渐进式披露:把业务知识放进本地知识库,Agent 按需读取,而不是把所有东西塞进 Rules;
  • 手动 SDD(Spec-Driven Development):先写规格再实现,本质上是给 Agent 一个更清晰的 task contract;
  • 统一验证入口:lint / test / CI 有标准命令,Agent 才能在失败后自我修正。

这些实践的共同点:把「希望 Agent 怎么做」变成「环境里已经设计好的约束与信号」

下一步

准备好了吗?先从 Harness 工程化 开始,理解 Harness 的分层结构与设计原则。

参考来源

  • materials/01-harness/addy-osmani-agent-harness-engineering.md
  • materials/01-harness/idam-ai-harness-engineering.md
最后更新于: