ELI5 · 说人话
Engineering 不是「想出一个好办法」,是「让这个办法每次都成」。
所以你看到的每一个 xx Engineering,重点从来不在那个 xx。
先说清楚这个词
你换了个说法,它这回答得挺漂亮。换道题,又不行了。你也说不清为什么。
同一套东西跑一万个任务,成功率报得出数字;哪次砸了,知道是哪一环坏的。
差别不在聪明,在可重复、可测量、可修。前者是灵感,后者才叫工程。
它们的关系
它们不是三个互相竞争的流派,是同一棵树上的三个高度。
从上往下:目标 → 外壳 → 五根柱子 → 跑起来的 agent → 打分
Harness Engineering 是整层壳,Context 和 Loop 是这层壳里的两根柱子——跟它俩并排站着的,还有 Memory、Tools、Skills。问「它们有什么区别」,答案是:一个是车间,两个是车间里的机器。
壳里有什么
这一轮递到它眼前的那一摞东西:任务、相关文件、上一步的结果、能用的工具清单。它只能照着看得见的东西答题——递错了,再聪明也白搭。
跨轮次留下来的东西:你的偏好、项目约定、上周踩过的坑。上下文是这一轮的桌面,记忆是抽屉——桌面每轮清空,抽屉一直在。
它能真的伸手碰到的东西:读文件、跑命令、查数据库、发请求。没工具的模型只会说,有了才会做——顺带也决定了它伸手能伸多远。
干某一类活的固定套路:这个仓库怎么发版、图表按什么规范画、报告长什么样。没有就每次现编,风格来回飘,你还得每次重讲一遍。
干一轮 → 看结果 → 改 → 再干,以及什么时候停手。这是它唯一能自己发现「我错了」的机会。只问一次的 AI 没有这个机会,错了也只能错着交。
回到你的问题
| 谁 | 在树上哪一层 | 管的是 | 做砸了长这样 |
|---|---|---|---|
| 上下文工程Context Eng. | 壳里的一根柱子 | 这一轮往它眼前递什么、什么时候清掉 | 一堆无关资料压进去,它抓不住重点,还按字数收你钱 |
| 循环工程Loop Eng. | 壳里的另一根柱子 | 转几圈、拿什么判断「做完了」、什么时候停手 | 一次交卷不检查;或者原地打转,烧钱到你手动掐断 |
| 外壳工程Harness Eng. | 整层壳,上面五根都归它管 | 五样怎么拼成一台能跑的机器,谁先谁后、谁管谁 | 单看每一样都对,合起来就是跑不动,还查不出是哪出的问题 |
所以「Context 和 Harness 有什么区别」这个问法本身有点歪——它俩不在一个层级上。正确的对照是 Context 对 Loop(同级),Harness 对 Agent Engineering(上下级)。
树的最底下
Evals 就是给它出一套固定的题,每改一次就整套重跑。
出题挑 200 个真实任务,答案要机器能判——测试跑绿、字段对得上,不是「看着还行」。
重跑壳里任意一根柱子动了,哪怕只改一句提示词,200 道题整套重来一遍。
对比跟上一版摆一起:成功率、平均转了几圈、一道题花了多少钱。三个数一起看。
定夺涨了留下,跌了退回去。这一步就是「工程」和「玄学」的分界线。
三条别踩
整个仓库倒进去,重点就被无关内容挤没了,钱也白花。只递这一步用得上的,用完就清——该忘的不删掉,跟没记住一样糟。
省的那点事,抵不过一条误删命令。默认只读,写和删要人点头,危险动作放沙箱里跑。壳的一半价值就在这道闸上。
没有停机条件的循环就是无限烧钱。设轮次上限,再给一个机器能判定的通过标准;超了就停手交给人,别让它自己判自己及格。
Context 决定它看见什么,
Loop 决定它能不能改对,
Harness 决定这些能不能拧成一台机器。