Agentic AI 教程

1.8 Agentic设计模式

介绍四种核心的Agentic设计模式:反思、工具使用、规划和多智能体协作。

1.8 Agentic设计模式

智能体工作流的核心思想是将复杂的任务分解为一系列基础“构建模块”(building blocks),然后通过特定的设计模式将这些模块组合、串联起来,从而构建出能够处理复杂问题的系统。

一、反思 (Reflection)

  • 核心概念: 让模型对自己的输出进行检查、评估和改进。
  • 工作流程:
    1. 初始生成: 模型根据任务要求生成一个初步结果(如代码)。
    2. 自我评估/外部评估: 将该结果作为输入,再次提示同一个或另一个模型,要求其对结果进行批判性分析(如检查正确性、风格、效率,并给出改进建议)。
    3. 迭代优化: 将评估反馈(如“第5行有bug”或“单元测试失败”)提供给模型,让它基于反馈生成一个更好的版本。
    4. 循环往复: 此过程可以多次迭代,直到达到满意的质量。
  • 关键点:
    • 这是一种非常有效的性能提升技术,虽然不能保证100%完美,但能带来显著的性能提升。
    • “反思”可以由同一个模型完成,也可以引入一个专门扮演“审查者”角色的独立模型(即多智能体协作的雏形)。
    • 评估标准可以是客观的(如代码是否能运行),也可以是主观的(如代码风格)。

二、工具使用 (Tool Use)

  • 核心概念: 赋予语言模型调用外部工具或函数的能力,以扩展其功能边界。

  • 工作流程:

    1. 识别需求: 模型在处理任务时,判断需要调用哪个工具。
    2. 调用工具: 模型生成调用该工具的指令或参数。
    3. 执行与返回: 工具执行操作(如搜索网络、计算数学公式),并将结果返回给模型。
    4. 整合结果: 模型利用工具返回的结果来完成最终任务。
  • 工具类型举例:

    • 信息收集: Web search, Wikipedia, Database access.
    • 分析计算: Code Execution, Wolfram Alpha, Bearly Code Interpreter.
    • 生产力: Email, Calendar, Messaging.
    • 图像处理: Image generation, Image captioning, OCR.
  • 关键点: 工具使用极大地增强了模型的能力,使其不再局限于文本生成,而是能与现实世界互动并解决更广泛的问题。

三、规划 (Planning)

  • 核心概念: 让模型自主决定完成一个复杂任务所需的步骤序列,而不是由开发者硬编码。

  • 工作流程:

    1. 任务理解: 模型接收一个复杂请求(如“生成一张女孩读书的图片,姿势与示例图中的男孩相同”)。
    2. 路径规划: 模型自动分解任务,决定需要调用哪些工具以及调用的顺序。
    • 例如:先用 openpose 模型提取男孩的姿势 -> 再用 google/vit 模型根据该姿势生成女孩的图片 -> 接着用 vit-gpt2 模型描述图片 -> 最后用 fastspeech 模型将描述转为语音。
    1. 执行: 按照规划的步骤依次执行。
  • 关键点:

    • 这种方式比硬编码的流程更灵活,但控制难度更大,也更具实验性。
    • 它允许模型在面对新任务时,自行构思解决方案,有时会产生令人惊喜的结果。

四、多智能体协作 (Multi-agent collaboration)

  • 核心概念: 雇佣多个具有不同专长的角色(智能体)协同工作,共同完成一个复杂项目。
  • 工作流程:
    1. 角色分配: 为不同的智能体分配特定角色(如研究员、市场专员、编辑)。
    2. 分工合作: 各个智能体根据自己的角色和能力,执行相应的子任务。
    3. 沟通协调: 智能体之间相互沟通、传递信息,共同推进项目。

多智能体系统在许多复杂任务上优于单智能体系统:

任务单智能体多智能体
人物传记撰写66.0%73.8%
多模态理解 (MMLU)63.9%71.1%
国际象棋走子29.3%45.2%
  • 关键点:
    • 多智能体协作通常能产生比单个智能体更好的结果,尤其在处理复杂任务(如撰写人物传记、下棋)时。
    • 研究表明,多智能体系统在多项任务上的表现优于单智能体系统。
    • 其缺点是更难控制和调试,因为无法提前预知各个智能体的行为。

On this page