Agent、Harness 与 Harness Engineering
1. Agent 是什么
Agent 是一个能够围绕目标,持续观察环境、采取行动并根据反馈调整下一步的 AI 系统。
基本循环:
1 | 接收目标 |
例如让 Claude Code 修复一个 Bug,它可能会:
1 | 阅读代码 |
Agent 最重要的特征不是“会思考”,而是存在一个持续的:
1 | 决策 → 行动 → 反馈 |
循环。
2. Model、Agent 和 Harness 的区别
Model
Model 是负责理解、推理和生成内容的“大脑”。
例如:
- Claude
- GPT
- Codex 模型
模型本身通常不能直接读取文件、运行命令或修改代码。
Harness
Harness 是包裹在模型外部的运行系统,为模型提供:
- Agent 循环
- 工具调用
- 文件读写
- 终端命令
- 上下文管理
- 权限控制
- 沙箱环境
- 错误反馈
- 测试与验证
- 状态保存
可以理解为:
1 | Model = 大脑 |
Agent
当模型被放进 Harness 中,并围绕某个目标持续运行时,就形成了 Agent。
可以近似写成:
1 | Model + Harness + 目标与运行状态 = Agent |
3. 为什么 Claude Code 既是 Agent,又是 Harness
这取决于观察角度。
从用户角度看
Claude Code 能够自主:
- 阅读代码
- 修改文件
- 运行命令
- 执行测试
- 根据结果继续行动
所以它表现为一个 Coding Agent。
从系统内部看
Claude Code 又为 Claude 模型提供了:
- Agent Loop
- 文件和终端工具
- 上下文管理
- 权限系统
- Hooks
- MCP
- 错误处理
- 任务终止机制
所以它也是承载 Claude 模型运行的 Agent Harness。
因此:
1 | 从外部行为看:Claude Code 是 Agent |
两种说法并不冲突,只是讨论层级不同。
Codex 也是类似的情况。
4. Harness Engineering 是什么
Harness Engineering 不是简单地使用 Claude Code 或 Codex。
它指的是:
通过设计工具、环境、规则、反馈和验证机制,让 Agent 更稳定、更可靠地完成任务。
例如在 Claude Code 项目中配置:
CLAUDE.md- Hooks
- MCP 工具
- Skills
- Subagents
- 权限与沙箱
- 自动测试
- Lint 和类型检查
- Git 提交和恢复点
- 任务进度文件
普通使用:
1 | 帮我重构订单模块。 |
Harness Engineering 后:
1 | 修改前先阅读架构文档 |
核心思想是:
1 | Agent 犯错 |
所以:
1 | Claude Code = 已经做好的基础 Harness |
5. Agent 和 Workflow 的区别
Workflow
开发者提前规定完整步骤:
1 | 读取邮件 |
Agent
模型在运行过程中自己决定下一步:
1 | 读取邮件 |
可以记成:
1 | Workflow:步骤主要由开发者预先决定 |
现实系统通常会结合两者:
1 | 固定 Workflow |
这样会比完全自由的 Agent 更稳定。
6. Harness 概念的时间线
大致可以分为三个阶段:
1 | 2022—2024: |
因此 Harness Engineering 并不是突然发明的一项技术,而是对已有 Agent 工程实践的重新总结和命名。
7. 最终概念图
1 | Claude / GPT / Codex Model |
一句话总结:
Agent 是正在完成任务的 AI 系统,Harness 是支撑它运行的工具和环境,Harness Engineering 是持续改进这套环境的方法。
最简单的记忆方式:
1 | Model = 大脑 |