§02三级跳:从Prompt到Context到Loop
The Triple Jump: From Prompt to Context to Loop
四层栈,一层管一件事。Prompt、Context、Loop是三次跳,Harness夹在Context和Loop中间,是那块起跳板。
四层栈
过去两年AI圈造的那串XX Engineering,是一层层叠起来的,每层管一件更大的事。
| 层 | 管什么 | 核心问题 |
|---|---|---|
| Prompt engineering | 写好一次的提示词 | 我该告诉模型什么 |
| Context engineering | 这一刻窗口里放什么 | 检索什么、摘要什么、清掉什么 |
| Harness engineering | 单次运行的武装 | 给哪些工具、允许哪些动作、什么算完成 |
| Loop engineering | 在harness之上调度 | 怎么让它自己一遍遍跑起来 |
从一句话,到一个窗口,到一次运行,最后到一整套自动跑的循环。
第一层:Prompt
最底层,也是大家最熟的。你斟酌措辞、给例子、定角色、调语气。它的边界很清楚:就是这一次,你递给模型的那段文字。递进去,模型吐出来,结束。
这层的麻烦在于,它假设你每次都在场,每次都亲自递。一个prompt解决一件事,下一件还得你再写一个。
第二层:Context
往上一层,问题从「我说什么」变成「此刻这个窗口里,该装哪些东西,模型才解得动这道题」。检索什么资料、把长文摘成什么样、哪些过时信息要清出去。它管模型当下能看到的整个视野。
这层之所以单独成一层,是因为模型的窗口有限,塞错东西比塞少东西更糟。给它一窗户的噪音,再好的提示词也白搭。
第三层:Harness
再往上,到harness engineering。这层管的是agent跑一次,身上得带什么装备:给它哪些工具、允许它碰哪些动作、何时加载上下文、失败了怎么收场、什么状态才算完成。
这层我在另一本书里整本展开过。它把agent的单次运行武装好,但不负责让这次运行自动重来。
第四层:Loop
前三层做完,你手里有了一个装备齐全、能漂亮跑完一次的agent。但它跑完就停了,等你再敲下一拍。Loop这层,把「等你敲」这件事也自动化掉。
原文:Loop engineering sits one floor above the harness. The harness but it runs on a timer, it spawns little helpers, and it feeds itself.
循环工程,坐在harness的上一层楼。还是那套harness,只不过它在定时器上跑,会孵化小帮手,还会自己喂自己。
上一层楼多了什么
Addy那句话里有三个动词。
在定时器上跑。harness武装的是一次运行,得你来触发。loop给它装了个定时器,到点自己醒、自己开工。
孵化小帮手。一个loop转起来,会自己分出子agent去干并行的活,比如一个起草修改,另一个专门挑刺审查。
harness关心单个agent怎么武装,loop关心一群agent怎么协作、谁监督谁。
自己喂自己。loop跑出来的结果,会被它自己当成下一轮的输入。昨天发现的问题写进一个文件,今天醒来先读这个文件,接着干。它有了跨越单次对话的记忆。
Addy的原话是:自动化才让一个loop成为真正的loop,而不只是你手动跑过一次的某次运行(原文见§04零件一)。
Anthropic 6月那篇博客的四类分法,也能套在这层楼上:按轮、按目标、按时间、主动,差别在于你把检查、停止条件、触发、prompt本身里的哪一样交给了系统(§01有表)。
为什么要分这么清
因为每一层的失败方式不一样,拦它的检查也得装在不同的地方。
prompt错了,你当场就看见,改一句就行。context装错了,模型答偏,你也容易察觉。到了loop这层,它在你睡觉时自己跑、自己改你没看过的代码、自己把错误也一并喂给下一轮,出问题你可能几天后才发现。