X 文章

从 Prompt 到 loop:AI 工程正在走向 Runtime

AI 工程的中心,正在从 prompt 技巧转向 runtime:loop、状态与持续执行。

从 Prompt 到 loop:AI 工程正在走向 Runtime

过去一年,AI 工程最大的变化,不是 prompt 越写越长,也不是模型回答越来越聪明。

真正的变化是:AI 在系统里的位置变了。

过去,AI 更像一个被人调用的函数。

你输入 prompt,它返回 answer。

output = model(prompt)

人是主程序。 AI 是工具函数。

人决定问什么。 人判断对不对。 人决定下一步。 人负责停止。

但现在,Agent 正在改变这个结构。

AI 不再只是被动回答,它开始读取上下文、调用工具、观察结果、修正错误,并在一个目标下持续运行。

这意味着,AI 正在从一个被调用的函数,走向一个被运行的系统。

更准确地说,不是模型自己变成了 Runtime,而是模型正在被装进 Agent Runtime。

这里的 Runtime,不是指模型本身,而是围绕模型构建的一整套运行环境:上下文、工具、权限、状态、日志、评估、失败恢复和停止条件。

模型仍然是核心能力,但真正决定系统稳定性的,越来越不是模型本身,而是模型外面的控制层。

这也是为什么我们会看到一堆新的工程概念:

Prompt Engineering。 Context Engineering。 Agent Harness Engineering。 Loop Engineering。

它们不是散乱的新词。

它们是在回答同一个问题:

如何把一个概率模型,包装成一个可控的执行系统?

一、Prompt:解决输入问题

最早的 AI 应用,本质就是一次函数调用。

output = model(prompt)

这个阶段,AI 是能力接口。

它可以写文章、解释概念、生成代码、总结材料、翻译文本。

但它不会自己决定下一步,也不会自己检查结果,更不会自己持续推进任务。

所以这个阶段最重要的是 Prompt Engineering。

因为 prompt 就是函数参数。

参数越清楚,返回结果越接近预期。

这也是为什么早期大家关注:

怎么设定角色? 怎么描述任务? 怎么给示例? 怎么限制格式? 怎么让输出稳定?

这些问题当然重要。

但它们只解决了 AI 工程的第一层问题:输入问题。

Prompt 再好,也不能替代上下文、工具权限、执行验证和停止条件。

所以 Prompt 没有过时。

只是它从“全部能力”,变成了“底层能力”。

二、Context:解决信息问题

后来大家发现,prompt 写得再好,如果上下文是错的,结果还是错的。

让 AI 修代码,但不给它完整代码结构,它只能猜。 让 AI 分析业务,但不给它真实规则和数据,它只能编。 让 AI 写方案,但不给它约束条件,它只能输出一份看起来正确的废话。

所以 AI 应用从:

output = model(prompt)

变成了:

output = model(prompt, context)

AI 不再只是需要一句指令,它需要一个工作现场。

这个现场里可能包括:

代码库。 产品文档。 接口定义。 数据库结构。 错误日志。 用户反馈。 历史决策。 业务规则。 测试结果。

这就是 Context Engineering 的价值。

它关心的不是“怎么问”,而是:

应该给模型哪些信息? 哪些信息不能给? 信息太多时怎么压缩? 文档怎么切片? 检索结果怎么排序? 上下文怎么去重? 怎么避免旧信息污染新判断? 怎么保证模型看到的是当前有效的信息?

AI 的很多错误,不是模型能力不够,而是它站在了错误的信息环境里。

一个人在错误的信息环境里,越努力,错得越远。

AI 也是一样。

所以 Context Engineering 的本质,是把 AI 从一个孤立的语言模型,拉进真实工作现场。

但这里也有一个误区:

很多人以为 Context Engineering 就是“多塞资料”。

不是。

上下文不是越多越好,而是越相关、越干净、越可追溯越好。

错误的上下文不是增强能力,而是放大幻觉。

三、Harness:解决执行边界问题

再往后,AI 不只是回答问题了。

它开始调用工具。

它可以读文件。 可以改代码。 可以跑测试。 可以查日志。 可以打开浏览器。 可以调用 API。 可以搜索文档。 可以生成 patch。

这时候问题的性质变了。

如果 AI 只是说错了,最多是答案不好。

但如果 AI 可以执行动作,它就可能改错文件、运行危险命令、调用错误接口、无限重试,甚至在没有验证的情况下自信交付。

所以需要 Harness。

Harness 可以理解成模型外面的执行外壳。

它把模型、工具、权限、上下文、日志、评估器、错误处理机制包在一起,让 AI 能够接触外部世界,但不是无限制地接触。

没有 Harness,模型只是会说。 有了 Harness,模型才开始能做。

但“能做”之后,工程问题会突然变复杂:

模型能用哪些工具? 工具参数怎么校验? 文件系统怎么隔离? 命令执行怎么限制? 权限怎么控制? 每一步怎么记录? 失败结果怎么回传? 什么时候需要人工确认? 哪些动作必须禁止?

这就是 Harness Engineering 的核心。

它不是让 AI 更自由,而是让 AI 在边界内行动。

如果说 Prompt 是调用参数,Context 是运行内存,那么 Harness 就是执行外壳。

它的价值是:

给一个不稳定的概率模型,加上一个相对可控的工程容器。

这里也有一个常见误区:

很多人以为工具越多,Agent 越强。

但在真实工程里,工具越多,权限越大,风险也越大。

没有权限控制、日志记录和失败处理的工具调用,不是智能增强,而是事故入口。

四、Loop:解决持续运行问题

到了 Agent 阶段,AI 应用的形态再次变化。

它不再只是:

answer = ai(prompt)

而是开始接近:

while not done: plan() act() observe() evaluate() repair()

这就是 Loop。

AI 可以根据目标制定计划。 可以调用工具执行动作。 可以观察工具返回结果。 可以根据错误继续修正。 可以在一个目标下持续工作。

这时 AI 不再只是一个函数,也不只是一个工具节点。

它开始进入主循环的一部分。

过去,人是 main loop,AI 是其中一个函数调用。

人负责决定下一步。 人负责检查结果。 人负责修正方向。 人负责判断什么时候停止。

现在,Agent 开始承担一部分 main loop。

它会读上下文、选工具、执行、观察、修复,再继续下一轮。

所以 Loop Engineering 的问题不再是:

这一步怎么提示 AI?

而是:

目标怎么进入? 上下文怎么加载? 状态怎么更新? 下一步由谁决定? 失败后重试几次? 什么时候换策略? 什么时候停止? 什么时候回滚? 什么时候必须交给人? 如何避免无限循环? 如何避免成本爆炸?

Loop Engineering 不是 Prompt Engineering 的升级版。

它是另一个抽象层。

Prompt 解决一次调用。 Loop 解决持续运行。

如果用程序类比,Loop 就像 AI Agent 的 main.py

它决定程序如何启动,如何加载上下文,如何调用工具,如何处理异常,如何判断完成,如何退出。

没有 loop,AI 只是一个工具函数。 没有控制,AI 就是一个不稳定的自动化系统。 没有退出条件,AI 就可能变成事故。

五、真正的主线:控制层越来越完整

所以这些概念放在一起看,讲的不是“prompt 怎么越写越长”。

它们讲的是:AI 系统里的控制层正在变得越来越完整。

层级解决的问题程序类比主要风险Prompt怎么问函数参数输入不清Context给什么运行内存上下文污染Harness怎么执行执行外壳越权行动Loop怎么持续运行main.py失控循环

对应到 AI 在系统里的位置:

第一阶段,AI 是函数。 第二阶段,AI 是带资料的函数。 第三阶段,AI 是可执行组件。 第四阶段,AI 被装进 Agent Runtime,开始参与运行循环。

对应到人的位置:

最早,人是操作者。 后来,人是反馈者。 再后来,人是流程设计者。 现在,人正在变成 runtime designer。

这不意味着人不重要了。

恰恰相反,人更重要了。

只是人的价值从“亲自操作每一步”,变成了“设计 AI 如何安全地操作每一步”。

过去人要会问问题。

现在人还要会定义上下文、权限、工具、评估、日志、失败恢复和停止条件。

这才是 AI 工程真正变难的地方。

六、这不是说 Prompt 不重要了

这里很容易出现一个误解:

既然 AI 工程正在走向 Runtime,那 Prompt Engineering 是不是不重要了?

不是。

Prompt 仍然重要。

只是它不再是全部。

就像写一个程序,函数参数当然重要。

但一个可靠系统还需要内存管理、权限控制、日志记录、异常处理、测试验证和退出条件。

Prompt 是入口,不是系统。

如果只会写 prompt,你能让 AI 回答得更好。

但如果你要让 AI 进入生产环境,你还必须关心:

它基于什么信息回答? 它可以调用哪些工具? 它执行动作是否越权? 它失败后怎么处理? 它什么时候必须停止? 它的每一步是否可追溯? 它的结果是否经过验证?

这就是从 Prompt 到 Runtime 的差别。

七、AI 不是普通自动化,而是概率自动化

传统自动化系统的问题通常是:

流程有没有写对? 规则有没有覆盖? 异常有没有处理?

但 Agent 系统更麻烦。

因为它不是纯确定性自动化。

它的核心决策来自概率模型。

这意味着它可能会合理地犯错。 可能会自信地犯错。 可能会在局部看起来正确,但整体方向错误。 可能会在错误假设上持续行动。 可能会把失败解释成“还需要再试一次”。

所以 Agent 时代最危险的事情,不是 AI 不会做。

而是 AI 会在错误方向上一直做。

这也是为什么 Loop 必须有控制层。

要有评估。 要有日志。 要有权限。 要有成本限制。 要有人工介入。 要有回滚。 要有退出条件。

让 AI 动起来不难。

难的是让 AI 可控地动起来。

一个没有控制层的 Agent,不是智能自动化,而是事故自动化。

八、工程师的位置正在重新定义

如果这条判断成立,那么工程师未来的能力栈也会变化。

过去工程师主要写业务逻辑。

现在工程师还要写 AI 的运行逻辑。

第一层,是输入设计能力。

你要能把目标、约束、输入、输出格式说清楚。

第二层,是上下文组织能力。

你要知道该给模型什么材料,也知道什么材料不能给。 你要能管理文档、代码、日志、数据库结构、历史决策和业务规则。

第三层,是执行边界设计能力。

你要能设计工具权限、参数校验、日志记录、失败处理和人工确认机制。

第四层,是循环控制能力。

你要能定义任务如何继续,如何验证,如何重试,如何停止,如何回滚,如何交给人。

这四种能力加起来,才是真正的 AI 工程能力。

不是让 AI 回答一次。

而是让 AI 在真实系统里持续、可控、可验证地行动。

九、结语:未来要写的不只是代码,而是 AI 的 main.py

如果把这条演化链压缩成一句话:

Prompt 是调用参数。 Context 是运行内存。 Harness 是执行外壳。 Loop 是 AI 的 main.py

过去我们把 AI 当工具函数用:

output = model(prompt)

现在 Agent 正在变成一个运行系统:

while not done: plan() act() observe() evaluate() repair()

所以未来真正重要的能力,不只是会不会写 prompt。

而是会不会把一个概率模型,包装成一个可控的执行系统。

AI 工程真正的方向,不是让 prompt 变长,而是让 runtime 变稳。

不是把人从系统里拿掉,而是把人从 loop 里面,移动到 loop 上面。

未来工程师要写的不只是代码。

还要写 AI 的运行边界、验证机制和退出条件。

也就是,写 AI 的 main.py