跳转至

[LLM Agents F24] Agentic AI Frameworks & AutoGen + Building a Multimodal Knowledge Assistant

LaTeX 源码 · 备用 PDF · 观看视频

字段 内容
作者/整理 基于公开课程资料整理
来源 Berkeley RDI
日期 2024年9月23日

[LLM Agents F24] Agentic AI Frameworks & AutoGen + Building a Multimodal Knowledge Assistant

引言:Agentic AI 的未来

本讲由两位嘉宾联合呈现:Chi Wang(Microsoft Research,AutoGen 框架核心开发者)介绍 Agentic AI 框架与 AutoGen;Jerry Liu(LlamaIndex 创始人兼 CEO)介绍多模态知识助手的构建。

什么是 Agentic AI?

Agentic AI 的核心价值

  1. 自然语言接口:用户用自然语言描述需求,Agent 自动理解并执行
  2. 自主执行复杂任务:通过多步推理和工具调用,在最少人类监督下完成任务
  3. 新型软件架构:多个 Agent 协作构成模块化、可递归组合的系统

示例展示了 Magentic-One(基于 AutoGen)自动构建网站的全过程:分析任务、安装依赖、多 Agent 协作编写代码、编译运行,甚至在关键代码被删除后能自我修复。

本章小结

Agentic AI 不仅是 LLM 的应用层,更代表了一种全新的软件开发范式——从“编写代码”到“编排 Agent”。

AutoGen:多 Agent 对话编程框架

核心设计理念

AutoGen 的设计基于一个核心洞察:对话(conversation)是最基础的 Agent 交互原语

为什么选择对话作为基础原语

对话是人类推进学习和证明定理的基本方式。从 ChatGPT 的成功可以看出,多轮对话天然适合迭代改进和协作求解。以对话为中心的设计可以自然地派生出所有其他 Agent 交互模式。

构建 Agent 应用只需两步:

  1. 定义 Agent:每个 Agent 可以使用 LLM、工具或人类输入作为后端
  2. 让 Agent 对话:通过对话模式(两人对话、嵌套对话、群聊等)编排协作

Conversable Agent 抽象

AutoGen 的统一抽象——Conversable Agent——将不同类型的实体(LLM、工具、人类)统一为可对话的 Agent:

  • 可以选择 LLM 作为后端(如 GPT-4、Claude)
  • 可以使用工具(Python 代码执行、API 调用等)
  • 可以接入人类输入
  • 可以混合多种后端
  • 支持嵌套——Agent 内部可以包含其他 Agent 的对话

对话模式

  • 两人对话:最简单的模式,已支持 Reflection(写作 Agent + 评审 Agent 迭代改进)
  • Sequential Chat:多个两人对话串联,如嵌套的多角度评审(SEO 评审 → 法律评审 → 伦理评审 → 元评审)
  • Nested Chat:Agent 内部发起子对话,如 Commander Agent 先与 Writer 对话获取代码,再与 Safeguard 对话验证安全性
  • Group Chat:多个不同角色的 Agent 在群组中动态选择发言者,支持约束条件和状态转移逻辑

Multi-Agent 的优势

为什么多 Agent 比单 Agent 好?

实验表明,将任务分解给专门的 Agent(如 Writer + Safeguard)比让单个 Agent 同时处理所有指令效果更好:GPT-4 多 Agent 方案比单 Agent 方案在安全检查上高出 20%,GPT-3.5 差距更大。任务越复杂、模型越弱,多 Agent 的优势越明显。

从编程角度看,多 Agent 架构还具有:

  • 更好的模块化和可维护性
  • 支持自然的人类参与(人类接管任一 Agent 角色)
  • 易于扩展(替换单个 Agent 不影响整体)

AutoBuild:自动构建 Agent 团队

AutoBuild 解决“为特定任务设计什么 Agent 团队”的问题:

  1. 用户描述高层需求
  2. 系统自动建议不同角色的 Agent
  3. Agent 组成 Group Chat 协作完成任务
  4. Adaptive Build 进一步支持动态分步构建 Agent 团队

本章小结

AutoGen 以对话为核心原语,提供了灵活且强大的多 Agent 编程框架。其设计哲学是“定义 Agent + 让它们对话”,通过嵌套和组合,可以递归地构建任意复杂的 Agent 系统。

LlamaIndex:构建多模态知识助手

从 Basic RAG 到 Advanced RAG

Jerry Liu 指出 Basic RAG 的四大局限:

  1. 数据处理粗糙:简单的文本分块无法处理表格、图片、复杂布局
  2. LLM 仅用于合成:没有利用推理和规划能力
  3. 无状态:每次查询独立,无个性化记忆
  4. 输出单一:只能生成简单文本回答

Garbage In Garbage Out

RAG 应用的质量取决于数据处理管线的质量。如果 PDF 解析器无法正确提取表格和图片,后续的 LLM 推理无论多强大都无法弥补。数据质量是生产级 LLM 应用的必要条件。

多模态 RAG 管线

构建多模态 RAG 的关键步骤:

  1. 高质量文档解析:将 PDF 中的文本、表格、图表、图片分别提取为结构化元素
  2. 层次化索引:为每个元素生成多种文本表示(摘要、子块等),指向源元素
  3. 多模态检索:给定查询,检索文本和图片 chunk,利用多模态 LLM 同时处理文字和视觉信息

多模态模型的新机遇

当前主流模型(GPT-4o、Claude 3.5 Sonnet、Gemini)都支持同时输入文字和图片。这意味着即使使用文本嵌入模型建立索引,在最终推理阶段仍可以将原始图片喂入 LLM,实现真正的视觉理解。

Agentic RAG:在 RAG 之上添加推理层

Agentic RAG 的核心思想

将 RAG 检索视为一种工具(tool),在其上层添加 Agent 推理层。Agent 可以决定如何分解问题、调用哪些检索工具、何时进行反思验证,从而处理基础 RAG 无法回答的复杂问题(摘要、多文档比较、多步骤分析等)。

两种架构选择:

  • 约束型流程:开发者手动定义 if-else 逻辑和路由规则,更可靠但灵活性低
  • 通用 Agent 架构(如 ReAct):Agent 自主选择工具和推理路径,更灵活但可靠性较低、成本较高

经验法则:通用 Agent 架构中,工具数量尽量控制在 4--5 个,不超过 10 个。

生产部署

LlamaIndex 提供事件驱动的编排系统,支持:

  • 将每个 Agent 工作流封装为微服务 API
  • 通过中央消息队列实现 Agent 间通信
  • Human-in-the-loop:Agent 可暂停等待人类输入后继续执行
  • 支持本地开发和 Kubernetes 部署

本章小结

LlamaIndex 从数据处理质量出发,构建了从文档解析到多模态检索再到 Agentic 推理的完整管线。其核心理念是:好的数据质量是基础,Agent 推理是上层建筑,两者缺一不可。

总结与延伸

核心要点

  1. AutoGen 以对话为核心抽象,支持多 Agent 递归组合,适合构建复杂的 Agent 协作系统。
  2. LlamaIndex 从数据质量出发,通过多模态 RAG + Agentic 推理构建生产级知识助手。
  3. 多 Agent 架构相比单 Agent 在任务分解、安全保障和可维护性方面具有显著优势。
  4. 约束型 vs. 通用型 Agent 架构存在可靠性-灵活性权衡。
  5. 生产部署需要考虑微服务化、消息队列和 human-in-the-loop。

拓展阅读

  • Wu et al., “AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation,” 2023.
  • Liu, “LlamaIndex: A Data Framework for LLM Applications,” 2022--2024.
  • Lewis et al., “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks,” NeurIPS 2020.