智能体设计模式:特征/提示链/路由

发布于 作者: Ethan

引言

本文是Agentic Design Patterns的阅读笔记。

智能体的基本特征与演进

智能体(Agent)是一种能够感知环境并采取行动以实现特定目标的复杂自主系统。其核心是从传统的大语言模型(LLM)演化而来,具备了规划、工具使用和环境交互等高级能力。可以将智能体视为能在工作流程中不断学习和适应的智能助手。

智能体完成任务通常遵循一个经典的五步循环:

  1. 获取任务目标:接收并理解需要实现的目标(例如“安排日程”)。
  2. 扫描环境信息:收集所有必要的上下文与信息(如阅读邮件、检查日历、访问联系人数据库)。
  3. 制定计划:思考并规划出实现目标的最佳步骤与方案。
  4. 执行行动:落实计划,执行具体操作(如发送会议邀请、更新日历)。
  5. 学习与优化:观察执行结果并进行调整。若环境发生变化(如会议改期),系统会从中学习以优化未来的表现。

AI 范式的演进路径

AI 的发展正经历从简单自动化到复杂自主系统的范式转变:

  • 初期阶段:依赖基础提示和触发器,利用 LLM 处理文本数据。
  • RAG 阶段(检索增强生成):引入外部知识库,通过事实信息提升模型输出的可靠性,减少幻觉。
  • 单体智能体阶段:模型获得了调用多种外部工具的能力。
  • 智能体式 AI 时代(Agentic AI):多个专业领域的智能体相互协作,共同完成复杂目标,协同能力大幅跃升。

智能体复杂度的四个层级

  • Level 0:核心推理引擎。LLM 仅作为基础推理核心,不具备工具、记忆或环境交互能力,完全依赖预训练数据,无法感知最新事件。
  • Level 1:连接型问题解决者。LLM 开始连接外部工具(如搜索引擎或数据库),能够执行一系列操作并从外部获取最新信息。
  • Level 2:战略型问题解决者。具备战略规划、主动协助和自我优化的能力。能够进行上下文工程(Context Engineering),即战略性地筛选、打包关键信息以防止信息过载。同时具备主动性(如主动从邮件提取信息并调用日历 API)和自我学习优化的反馈循环。
  • Level 3:协作型多智能体系统。不再依赖单一的“全能”智能体,而是构建如同人类组织结构般的专业智能体团队。通过“项目经理”统筹,将任务分发给设计、研发、营销等专业智能体,通过高效的信息共享与协作达成目标。

智能体未来的五大假设

  1. 通才智能体的出现:智能体将进化为能够高可靠性地管理复杂、长期目标的通才。同时,“小语言模型”(SLM)组合拼搭的“乐高式”专家系统也将成为主流的高效替代方案。
  2. 深度个性化与主动目标发现:系统将从被动执行转向主动预测。通过学习人类行为,主动发起任务并协助发现尚未明确表达的潜在需求。
  3. 具身化与物理世界交互:数字智能与机器人结合诞生“具身智能体”,通过视觉传感器和机械臂在物理世界执行任务(如家庭维修、物流制造)。
  4. 智能体驱动经济:高度自治的智能体将成为独立的经济参与者(如自主运营电商、动态调整供应链与定价),催生出运转速度极快的“智能体经济”。
  5. 目标驱动、变形多智能体系统:系统不再依赖显式编程,而是根据声明的目标自主动态调整架构。系统能够分析自身表现,按需创建、复制或移除特定的专业智能体,实现个体与整体的实时自动优化。

第 1 章:提示链(Prompt Chaining)

提示链模式概述

提示链(或称流水线模式)是处理复杂任务的核心范式。该模式主张“分而治之”,将复杂问题拆解为一系列较小、易管理的子问题。每个子问题使用专门设计的提示进行单独处理,并将前一步的输出作为下一步的输入,形成严密的依赖链条。

单一提示的局限性: 面对多层次任务时,单一复杂提示往往导致模型认知负荷过重,容易出现忽略指令、丢失上下文、错误累积或产生幻觉等问题。

提示链的优势

  • 提升可靠性与可控性:通过顺序拆解,每一步的目标更加明确、简单。例如,处理报告时可拆分为:提取摘要 -> 识别趋势数据 -> 撰写汇报邮件。
  • 模块化与调试便利:便于开发者理解和调试每一步骤,能够针对特定问题进行局部优化。
  • 集成外部工具:在链条的各个环节,可随时指示模型与外部 API 或数据库交互,扩展其知识边界。

结构化输出的关键性: 为了确保链式流程中数据传递的准确性,必须要求模型输出结构化数据(如 JSON 或 XML)。这能够确保机器精确解析上游数据,避免自然语言模糊性导致的下游任务失败。

实践应用与典型场景

  1. 信息处理流程:对原始信息的多次转换(提取文本 -> 摘要清洗 -> 提取实体 -> 查询数据库 -> 生成最终报告)。
  2. 复杂问答:应对需要多步推理的问题(识别子问题 -> 分别检索 -> 综合信息形成完整答案)。
  3. 数据提取与转换:将非结构化文档转为结构化数据,通常结合条件分支,若提取失败则附带错误上下文重新提示模型。
  4. 内容生成流程:结构化文本创作(构思主题 -> 制定大纲 -> 分段撰写 -> 整体润色)。
  5. 有状态对话智能体:在多轮对话中,每一轮通过处理用户发言、更新内部状态,并将累积状态作为下一步提示的输入,以维持上下文连贯性。
  6. 代码生成与优化:拆解开发流程(伪代码大纲 -> 初稿 -> 静态分析/错误识别 -> 修正代码 -> 补充测试与文档)。
  7. 多模态与多步推理:处理复杂图片或表格(提取图片文字 -> 关联标签 -> 结合表格解释结果)。

上下文工程(Context Engineering)

上下文工程是传统提示工程的进阶。提示工程仅优化问题的表达,而上下文工程则致力于为模型构建一个“完整的信息环境”。其数据来源不仅包括系统提示,还包含检索文档、外部工具输出、用户身份、历史交互等隐性数据。通过构建数据获取管道和反馈循环,系统性地筛选并打包高质量上下文,是提升高级智能体性能、防止信息干扰的核心手段。


第 2 章:路由(Routing)

路由模式概述

在面临需要自适应响应的复杂场景时,仅靠顺序执行的提示链是不够的。路由机制为智能体系统引入了“条件逻辑”,使其能够根据环境状态、用户输入或前序任务结果,在多个潜在的动作、工具或子流程之间进行动态决策和仲裁。

通过路由,系统不再遵循固定的单向路径,而是演变为具备上下文感知能力的智能工作流。例如,客服系统接收到查询后,可将意图动态路由至“订单数据库”、“产品目录检索”或“人工客服升级”等不同分支。

路由的核心实现机制

  1. 基于 LLM 的路由:使用提示词让语言模型分析输入,并输出代表特定目标的分类标识符(如“订单”、“支持”、“其他”),系统再根据该标识符引导工作流。
  2. 基于嵌入的路由(Embedding-based):将输入转化为向量嵌入,并与代表不同路由路径的嵌入进行相似度比对。这是一种基于语义含义而非关键词的路由方式。
  3. 基于规则的路由:利用预定义的编程逻辑(如正则表达式、if-else)根据关键词或特定结构化数据进行分发。速度快且具备确定性,但在处理模糊或新颖输入时缺乏灵活性。
  4. 基于机器学习模型的路由:使用在特定标注数据上微调过的判别分类模型。此类方法中,路由决策不依赖大语言模型的实时生成,而是依赖专属的分类器。

实践应用与典型场景

  • 人机交互意图解析:在虚拟助手应用中,首先评估用户意图,从而决定是调用检索工具、进入特定课程模块,还是转交人工处理。
  • 数据与文档自动化分发:根据邮件、工单或 API 载荷的元数据及内容,将其自动导向不同的处理流水线(如数据转换流水线、紧急报警流水线)。
  • 复杂系统的高级调度:在多智能体架构中,路由扮演“协调者”角色。根据当前的总目标和任务状态,将具体工作精准派发给“检索智能体”、“编程智能体”或“摘要智能体”。

实现框架与架构差异

  • LangChain / LangGraph:提供了专门的组件来构建条件分支。特别是 LangGraph 基于状态的图架构,允许开发者显式定义决策节点(如 RunnableBranch),非常适合需要根据累积状态进行复杂流转的场景。
  • Agent Development Kit (ADK):采用不同的架构风格,通常侧重于为智能体定义具体的“能力(工具)”。开发者为主协调者配置多个带有专属工具的子智能体(如 Booker 智能体、Info 智能体),框架底层会利用其 Auto-Flow 机制,根据用户指令自动匹配并路由至最合适的智能体去执行任务。