10分钟读懂Harness工程:AI时代的"环境决定一切"
10分钟读懂Harness工程:AI时代的”环境决定一切”
原文深度理解,简化翻译
一句话总结
AI用不好,不是模型不够强,是你没给它构建对的工作环境。
就像同样的厨师,在五星级酒店厨房能做出米其林,在路边摊只能炒家常菜——工具和环境决定表现。
什么是Harness?
你可以把Harness理解为给AI智能体量身打造的工作台。
不是模型本身,而是:
- AI能用什么工具
- 工具怎么呈现信息给AI
- 怎么防止AI犯迷糊
- 怎么让AI的工作成果不丢
核心案例:让AI改代码的故事
没有Linter(语法检查)的AI
- AI写了一堆代码(有语法错误)
- 运行测试 → 报错(错误位置不明显)
- AI被错误信息误导,开始”追影子”
- 花很多步追踪根本不存在的问题
- 上下文窗口耗尽,任务失败
有Linter集成的AI
- AI写代码 → 写完立刻自动检查语法
- 有错马上告诉你,精确到哪一行
- 立即修复,问题不会扩散
- 节省下来的注意力用于真正的问题
结论:同样是GPT-4,加了Linter后代码任务表现提升64%。
上下文管理:AI的记忆空间是有限的
AI的”脑子”(上下文窗口)就那么大:
| 问题 | 解决 |
|---|---|
| 历史记录太长了 | 把5轮之前的对话压缩成一行摘要 |
| 旧信息干扰当前判断 | 只保留最近相关的 |
| 工作到一半忘了目标 | 有状态的文件查看器+行号标注 |
本质:不是塞更多信息给AI,而是帮AI过滤噪音。
Anthropic的双智能体架构
当任务太大,一个AI完成不了怎么办?
第一步:初始化智能体
专门做”准备工作”:
- 创建 init.sh → 一键启动开发环境
- 创建功能清单 → 200多个功能,标清楚哪些完成了
- 创建进度日志 → 每次交接有记录
第二步:编码智能体
每个后续会话:
- 一次只做一个功能
- 保持环境干净
- 结束前更新进度和git
类比:
- 初始化智能体 = 项目经理搭架子、定计划
- 编码智能体 = 程序员按计划干活
普通人能学到什么?
1. 工具选择很重要
- 同样的AI,换个接口表现天差地别
- 花时间优化你的”AI工作台”比换模型更值
2. 给AI明确的目标和边界
- 不要说”帮我改代码”
- 说”这个函数第47-52行有bug,帮我修复”
3. 上下文窗口是稀缺资源
- 不要一次性丢给AI 100页代码
- 分批处理,每次聚焦一个小问题
4. 交接工作要留文档
- AI长任务需要结构化交接
- 进度日志+功能清单是标配
金句
“输入格式不是装饰,对于AI智能体来说,接口即思想。”
“模型几乎无关紧要,Harness就是一切。”
“性能差异不在于模型的智能程度,而在于认知负荷管理。”