从 Prompt 到 Loop
尽量把人摘出去——人是瓶颈。
- #AI
- #Agent
- #AI-native
大多数人使用 AI 的心智模型,停在 prompt 这一层:你问,它答,你再问。在聊天窗口里这没什么问题。但一旦你想把一个真实的业务流程交给 AI 系统稳定地跑起来——读上下文、用工具、在边界内做决策、拿不准时找人复核、留下日志、靠 eval 持续改进、明天不用你盯着也照常运转——这个模型就不够用了。
要做到这一步,得先分清五个经常被混用的词:Workflow、Agent、Orchestration、Harness、Loop。它们各自命名系统的一层。混在一起,你就会在要不要上 Agent 这种问题上争论半天,而真正的问题其实是:控制流归谁管。
下面是我反复回到的那套心智模型。
Workflow:流程本身
Workflow 是一段结构化的步骤序列,把输入变成有用的输出:
输入 → 判断 → 行动 → 输出 → 反馈 → 审计
一个 Workflow 里可以有 AI,但不会因此自动变成 Agent。如果步骤顺序主要由代码预先定义——用户上传文档、系统抽取文本、LLM 做摘要、评估器检查格式、结果输出——那它仍然是个 Workflow。LLM 只是在执行其中一步,并不决定步骤本身。
Workflow 定义的是这份工作:要发生什么,大致按什么顺序,最终产出什么。
Agent:有判断的执行者
Agent 是让 LLM 对任务如何推进拥有一定控制权的系统。它可以自己决定需要什么信息、调用工具、检查工具返回的结果、选择下一步、在任务完成时停下,也可以在拿不准时请人复核。
最简单的区分:
一次 LLM 调用产出一个答案。一个 Agent 推进一项任务。
模型回应指令,那是对话。Agent 参与的是工作的执行。
Orchestration:控制流
Orchestration 决定下一步跑哪个环节、哪些工具可用、什么时候调用另一个 Agent、什么时候重试、什么时候停止、什么时候升级给人。
两种风格。代码驱动:开发者定义流程——分类、检索、生成、评估、返回。LLM 驱动:模型在既定边界内决定下一步——给定目标,它自己选择去搜什么、读什么、调什么、比什么、问什么。
生产系统几乎都是两者的混合,而混合的比例本身就是设计:
代码铺轨道,LLM 在轨道内处理模糊性。
注意 Orchestration 不是什么:它跟 Agent 的数量无关。多 Agent 设计,本质上是控制流设计。关键的问题从来不是要几个 Agent,而是:任务、状态、工具和最终产出,归谁所有。
Harness:生产级的外壳
模型加一段 prompt,不构成一个系统。Harness 是你包在 Agent 外面、让它可靠、可测、可观测、可复用的全部工程:指令、工具、记忆与上下文、编排、权限、护栏、eval、日志与 trace、人工复核、错误处理、交接文档。
LangChain 的表述是我见过最干净的:Agent = Model + Harness。裸模型自己维持不了持久状态,执行不了代码,管理不了自己的上下文,跑不进沙箱,验证不了自己的工作,也守不住约束。这些都是 Harness 层的职责。
模型提供智能,Harness 负责把它从能做一次,变成系统能安全地反复做。所谓 production-ready,大半就是这句话。
Loop:反馈循环
Loop 是一个循环运转的 agentic 系统,随时间持续朝目标推进。与其一步一步地给 Agent 发 prompt,不如去设计那个替你发 prompt 的系统:
目标 → 发现任务 → 派发 → Agent 执行 → 验证 → 更新状态 → 下一个任务
具体点:每天早上,扫描未关闭的 bug 和失败的测试 → 挑出一个 → 开一条隔离分支 → Agent 起草修复 → 验证器跑测试 → 更新 issue → 记下剩余事项。全程没有人敲过一个 prompt。
一个真正能跑的 Loop,需要调度或触发机制、持久化的状态、明确的停止条件、隔离的工作环境、项目指令、工具和连接器、一个验证者,以及——对重要决策的人工复核。
最后这一条是全部要害。坏的 Loop 会制造无人看管的错误、token 的浪费,以及理解债(comprehension debt)——一个再也没人看得懂、却还在运转的系统。Loop 不该拿掉人的判断,而是把人的角色上移:从反复给 Agent 发 prompt,变成设计 Loop、复核关键产出、改进系统本身。
五层放在一起看
| 层 | 一句话 |
|---|---|
| Prompt | 你告诉 Agent 做什么,就这一次 |
| Workflow | 流程——从输入到输出的既定路径 |
| Agent | 流程里由模型驱动的执行者 |
| Orchestration | 决定下一步发生什么的控制流 |
| Harness | 包住 Agent 的运行时与控制系统 |
| Loop | 持续干活、检查、改进的循环系统 |
一个完整的 AI-native 系统,通常五层俱全:Workflow 定义工作,Agent 在其中做灵活的推理和行动,Orchestration 控制接下来发生什么,Harness 保证安全与可观测,Loop 让它不断重复、学习、进化。
于是所有设计工作,都收敛为一个务实的问题:
什么该确定性地写死,什么交给模型判断,什么必须人来复核,什么靠 Loop 持续进化?
把这个问题答好,架构大体上会自己长出来。
延伸阅读
塑造这套心智模型的几篇文章,各配一条最值得带走的:
- Anthropic: Building Effective Agents —— 从简单开始:流程清晰时用 Workflow,需要模型灵活决策时才上 Agent。
- OpenAI: A Practical Guide to Building Agents —— Agent 不是聊天机器人,而是模型 + 工具 + 指令 + 编排 + 护栏共同执行一个 Workflow 的系统。
- OpenAI Agents SDK: Orchestrating Multiple Agents —— 多 Agent 设计就是控制流设计:handoff、manager 模式、谁拥有什么。
- LangGraph 文档 —— 生产级 Agent 是有状态的系统,需要记忆、checkpoint 和受控的执行。
- LangChain: The Anatomy of an Agent Harness —— Agent = Model + Harness;智能靠 Harness 才变得有用。
- Model Context Protocol —— MCP 不是 Agent 本身,而是让 Agent 安全触达外部能力的接口层。
- Addy Osmani: Loop Engineering —— prompt 之后的那一层,是设计能派活、验证、断点续跑、且有人监督的 Loop。
这架梯子的尽头,是你不再给 Agent 发 prompt——转而去设计那个给它发 prompt 的系统。