Harness工程(驾驭工程)
随着AI越来越聪明,人类的角色从”把需求拆到最细、告诉AI每一步怎么做”转变为”在宏观上驾驭AI”。Harness工程就是研究如何有效引导、约束、验证AI智能体,使其可靠地完成复杂任务的方法论。
核心公式
Agent = Model + Harness
Harness = Tools + Knowledge + Observation + Action Interfaces + Permissions
模型是驾驶者,Harness是载具。Agency来自模型训练,Harness提供操作环境。
六大组件
从上到下排列(基于Claude Code实现):
| 组件 | 本质 | 适用场景 | 成熟度 |
|---|---|---|---|
| MCP | AI与外部系统交互的标准协议 | 让模型接入外部数据 | ✅ |
| Subagent | 独立沙箱中运行的子代理 | 保持主绘画上下文清洁 | ✅ |
| Skill | 动态加载的预置提示词模板 | 按需注入领域知识 | ✅ |
| Rule | 按文件类型触发的系统提示片段 | 补强特定语言开发能力 | ✅ |
| Hook | 工具生命周期钩子(确定性脚本) | 强制约束、无幻觉兜底 | ✅ |
| Agent Team | 多代理协作(长期记忆+交叉管理) | 目前token冗余5-10倍 | ⚠️ |
三种使用范式(按模型强弱选择)
| 范式 | 适用模型 | 策略 |
|---|---|---|
| 少用Harness | Claude Opus 4.7 / GPT 5.5 | 单绘画长期工作,不需要重度Harness |
| 重度Harness | GLM 5.1 / DeepSeek V4 Pro / Kimi 2.6 | 编排+对抗审查+多轮迭代→用token换质量 |
| 简单使用 | 普通模型 | 直接用Claude Code自带能力,不自定义 |
Subagent的致命缺陷
主绘画给Subagent传递复杂需求时出现省略→漂移→渐进式偏移。300行需求被压缩到300字,信息量严重不足。解决思路:Hook截取完整需求→注入子代理;或主绘画把需求落盘→子代理每次读取。
两大设计流派
| 极简派(pi) | 工程派(learn-claude-code) | |
|---|---|---|
| System Prompt | < 1000 tokens | 运行时组装拼接 |
| 工具 | 4个 | 无限 |
| MCP | ❌ | ✅ s19支持 |
| Subagent | ❌ bash自调用 | ✅ s06 |
| 哲学 | 不需要就不造 | 造好,Agent完成剩下的 |
两者都能工作。选择取决于场景和模型。