前言
这周在组内做了一次关于 Agent 设计模式 的分享,主要介绍和讲解了 ReAct 模式 与 P&A(Plan and Execute)模式。我计划将这次分享拆分为三篇文章,对我在组会中讲解的内容进行更加系统和细致的整理。
在正式进入具体的 Agent 模式实现之前,有一个绕不开的问题需要先回答清楚:
什么是 AI Agent?它解决了什么问题?以及在近几年 AI 技术与应用快速演进的过程中,AI 应用的开发范式经历了哪些关键变化?
这一篇将不直接展开某一种 Agent 模式的实现细节,而是先回到更宏观的视角,从 AI 应用形态与工程范式的演进 入手,梳理 Agent 出现的技术背景与必然性。
需要说明的是,下文对 AI 应用演进阶段的划分,是一种以"应用开发范式"为核心的抽象总结 。真实的技术演进在时间上存在明显重叠,但这种阶段化的叙述有助于我们理解:为什么 Agent 会在当下成为主流方向。
AI 应用的发展历程
第一阶段:提示词工程
2022 年 11 月,GPT-3.5 发布后,大模型开始从研究领域进入大众视野。对开发者来说,这是第一次可以在实际产品中直接使用通用语言模型。
这一阶段的 AI 应用形态非常简单,大多数产品本质上都是一个对话界面:用户输入问题 → 模型生成回答 → 结束。
很快,围绕 Prompt 的工程实践开始出现。由于模型对上下文非常敏感,系统提示词(System Prompt)成为当时最直接、也最有效的控制手段。常见的做法是通过提示词约束模型的角色、输出形式和关注重点,例如:
"你是一个资深的前端开发工程师,请严格以 JSON 格式输出结果......"
这类"身份面具"式的提示,本质上是通过上下文约束来减少模型输出的发散性,让结果更贴近预期。在这一阶段,也陆续出现了 Chain-of-Thought、Few-shot Prompting 等推理增强技巧,但它们依然属于单次生成模式:模型在一次调用中完成全部推理,过程中无法获得外部反馈,也无法根据中间结果调整策略。
第二阶段:RAG
当 AI 开始被用于真实业务场景时,很快暴露出两个问题:模型不了解私有知识 ,以及生成结果难以校验。以 GPT-3.5 为例,它的训练数据截止在 21 年左右,对于新技术以及企业内部文档、业务规则更是不了解,直接使用往往不可控。
RAG(Retrieval-Augmented Generation)是在这种背景下被广泛采用的方案。它的核心做法是:
- 将私有知识进行切分和向量化存储;
- 用户提问时,先进行相似度检索;
- 将命中的内容作为上下文提供给模型,再由模型完成生成。
通过这种方式,模型不需要记住所有知识,而是在生成时按需获取参考信息。
RAG 的价值不仅在于补充新知识,更重要的是带来了可控性和可追溯性:生成内容可以明确对应到原始文档,这一点在企业场景中尤为关键。
第三阶段:Tool Calling
如果说 RAG 让模型能够"查资料",那么 Function / Tool Calling 则让模型开始能够"做事情"。
在这一阶段,开发者会把可用能力(如查询数据库、调用接口、执行脚本)以结构化的方式提供给模型,包括函数名、参数说明和功能描述。模型在理解用户意图后,可以返回一个明确的工具调用请求,再由程序完成实际执行。
这一能力的出现,标志着 AI 第一次在工程上具备了可靠调用外部系统的能力。它不再只是一个聊天机器人,而是一个可以触发真实世界动作的"控制器",这也是后续 Agent 能够落地的关键技术支撑。
第四阶段:AI Workflow
当 RAG 能力和 Tool Calling 能力逐渐成熟后,开发者开始尝试把多个步骤组合起来,形成完整的业务流程。这催生了以 Dify、Coze 为代表的 AI Workflow 范式。
在 Workflow 模式下,一个 AI 应用会被拆解为多个固定节点,并按照预设顺序执行,例如:检索 → 判断 → 工具调用 → 汇总输出。
Workflow 的优势非常明显:
- 流程清晰,行为可预期;
- 易于测试和运营;
- 对非工程人员友好。
但问题也同样明显:流程完全由人设计,模型只是执行者。无论问题复杂与否,都必须走完整条路径。这种方式在应对高度动态或非标准任务时,灵活性有限。
第五阶段:Agent
在 Agent 出现之前,大多数 AI 应用仍然遵循一种典型模式:输入 → 单次/编排好的推理 → 输出。
而 Agent 的出现,本质上是将"任务编排"的控制权从人类手中交还给了 AI。在 Agent 架构下,AI 不再是被动执行一段代码,而是一个具备以下核心能力的闭环系统:
- 将复杂目标拆解为多个可执行步骤;
- 根据工具执行结果调整后续行动;
- 在失败时尝试修正策略;
- 在多步过程中维护上下文状态。
这些能力并不是一次模型调用完成的,而是通过多轮推理与执行形成闭环。也正是在这一点上,Agent 与前面的应用形态拉开了差距。
Agent 设计模式解决的问题
当 Agent 开始承担更复杂的任务时,问题也随之出现:
- 多步推理容易跑偏;
- 执行失败后缺乏统一的修正策略;
- 成本和稳定性难以控制。
Agent 设计模式的作用,就是把这些反复出现的问题抽象成可复用的结构。
无论是 ReAct ,还是 Plan and Execute ,它们关注的核心并不是"让模型更聪明",而是:如何在工程上组织模型的推理、行动和反馈过程,使系统整体可控、可维护。
理解这些模式,有助于我们在构建 Agent 系统时少走弯路,而不是每一次都从零开始设计整套交互与控制逻辑。
结语
从最初基于 Prompt 的简单对话,到如今具备一定自主能力的 Agent,我们看到的不只是模型能力的提升,更是 AI 在实际使用方式上的变化。
回顾整个过程会发现,很多关键技术并不是最近才出现的。RAG 的核心思路早在几年前就已经被提出,ReAct 也并非新概念,只是在最近随着模型推理能力提升、工具链逐渐成熟,才真正具备了工程落地的条件。很多时候,并不是想法不存在,而是时机还没到。
理解这些演进背景,有助于我们判断哪些能力是短期噱头,哪些是长期方向。下一篇文章将聚焦 Agent 设计模式中最常见、也最实用的 ReAct 模式,结合实际实现,看看它是如何让 AI 在执行任务的过程中逐步思考、不断调整策略的。
参考资料
- 提示工程指南
- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.
- Language Models are Few-Shot Learners
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.
- Toolformer: Language Models Can Teach Themselves to Use Tools.
- A Survey on Large Language Model based Autonomous Agents.