AI Agent框架以及挑战
幻灯片 1: 标题页
标题: AI 智能体革命:从大型语言模型到Agent
副标题: AI 智能体、框架与协议简介
演讲者: [您的姓名/公司名称]
日期: 2025年8月18日
幻灯片 2: 议程
标题: 议程
- 如何利用大型语言模型(LLMs)?
- 什么是 AI 智能体?
- AI 智能体的核心组件
- 热门 AI 智能体框架
* Google ADK
* LangGraph
* n8n - 模型上下文协议(MCP)
幻灯片 3: 如何利用大型语言模型(LLMs)?
标题: 驾驭LLMs:超越简单的聊天
内容:
LLMs 是基础,但只有将它们集成到更大的系统中,其真正的力量才能被释放。以下是使用 LLMs 的几种关键模式。
技术 | 主要用途 | 解释 |
---|---|---|
RAG | 上下文感知响应 | 检索增强生成(Retrieval-Augmented Generation)。LLM 在生成响应之前,会查询外部知识库以获取实时或专有信息,从而防止幻觉。 |
Agent (智能体) | 自主任务执行 | 智能体(Agent)。一个由 LLM 驱动的实体,能够通过使用工具来感知、推理和行动以实现特定目标。 |
MCP | 工具/数据集成 | 模型上下文协议(Model Context Protocol)。一个标准,使 LLMs 能够安全可靠地使用外部工具和数据,这与缺乏标准化的基础函数调用不同。 |
Workflow (工作流) | 流程自动化 | 工作流自动化(Workflow Automation)。一个用于编排一系列步骤以完成任务的系统,通常通过将多个 LLM 调用和工具操作串联起来。例如:Coze、Dify 和 n8n。 |
A2A 协议 | 智能体协作 | 智能体间协议(Agent-to-Agent Protocol)。一种标准,定义了多个独立的智能体如何相互通信和协作以解决复杂问题,从而创建多智能体系统。 |
幻灯片 4: 什么是 AI 智能体?
标题: 什么是 AI 智能体?
内容:
AI 智能体是一个自主实体,它感知其环境并采取行动以实现特定目标。从本质上讲,它是一个旨在独立运行的计算机程序,无需持续的人工干预。
智能体循环图示:
- 感知(Perception): 智能体通过传感器(例如,摄像头、麦克风、数据库、用户输入)从环境中接收信息。
- 推理/决策(Reasoning/Decision-Making): 智能体处理信息并使用模型或算法来决定下一步的行动。
- 行动(Action): 智能体通过执行器(例如,机械臂、发送电子邮件或更新数据库)对其环境采取行动。
- 观察/学习(Observation/Learning): 智能体观察其行动的结果,并利用此反馈来改进未来的决策。
- 目标(Goal): 整个循环都由智能体设定的目标驱动。
幻灯片 5: AI 智能体框架的核心组件
标题: 智能体框架的核心组件
内容:
一个健壮的智能体框架为创建有能力的 AI 智能体提供了基础构件。
-
感知与数据摄取 (Perception & Data Ingestion)
* 这是与外部世界互动的首要步骤。
* 框架必须提供模块化的方式,从多种来源(例如,文本、图像、传感器、API)收集数据。 -
规划与决策 (Planning & Decision-Making)
* 这是智能体的“大脑”,负责决定下一步做什么。
* 记忆/状态管理: 存储智能体的历史和当前状态,用于长期规划。
* 工具/函数调用: 允许智能体使用外部工具(例如,搜索 API、计算器)来扩展其能力。
* 规划器: 将复杂的任务分解成更小、更易于管理的子任务。 -
行动与执行 (Action & Execution)
* 在这个阶段,智能体的决策被转化为具体的行动。
* 框架必须提供一个健壮的执行引擎,以确保智能体的指令被准确可靠地执行。 -
循环与反馈机制 (Loop & Feedback Mechanism)
* 一个持续的循环:感知 -> 规划 -> 行动 -> 再次感知。
* 一个健壮的机制允许智能体监控其行动的结果,并根据反馈调整其未来的决策。
幻灯片 6: 热门 AI 智能体框架
标题: 智能体框架生态系统
内容:
AI 智能体领域正在迅速发展。以下是一些关键的参与者及其重点。
- LangGraph: 基于 LangChain 构建,它提供了一种强大的图形化方式来构建和管理智能体的“状态”。
- AutoGen: 来自微软,它专注于多智能体协作,多个智能体可以相互对话以解决问题。
- Semantic Kernel: 微软的一个轻量级 SDK,用于将 LLMs 与传统编程语言集成。
- CrewAI: 专注于多智能体系统,其中每个智能体都有特定的角色和目标。
- Google ADK: [下一张幻灯片]
- n8n, Coze, Dify, Flowise: 这些是低代码/无代码平台,允许用户通过可视化方式构建和部署智能体,而无需深入的编程知识。
幻灯片 7: Google 智能体开发工具包 (ADK)
标题: Google ADK: 工具优先的方法
内容:
Google ADK,现在正逐步演变为 Gemini API 生态系统的一部分,是智能体框架的一个优秀例子。
- 重点: 它优先采用工具优先架构,允许开发者定义智能体可以调用的自定义工具(函数)。这使得智能体能够轻松地与外部服务交互。
- 主要特性:
* 强大的工具调用: 智能体可以理解用户请求并自动选择具有正确参数的正确工具。
* 内置记忆: 提供记忆管理功能,帮助智能体在多轮对话中记住上下文。
* 执行循环: 框架管理感知-规划-行动循环,等待工具结果,然后决定下一步行动。
幻灯片 8: 模型上下文协议 (MCP)
标题: 模型上下文协议 (MCP)
内容:
MCP 是一个开放标准,旨在为 LLMs 提供一个标准化的接口,以动态且安全地连接到外部数据源和工具。
- 解决的问题: 它消除了为每个新工具进行复杂、自定义集成的需要,简化了智能体访问信息和执行操作的方式。
- 核心思想: 它将互联网及其所有工具视为 LLM 的一个巨大“上下文”。
幻灯片 9: MCP 传输机制
标题: MCP: 传输机制比较
内容:
MCP 定义了在智能体和外部工具或服务之间物理传输数据的不同方式。
特性 | stdio |
SSE |
Streamable HTTP |
---|---|---|---|
用例 | 本地进程间通信 | 远程流式传输(旧标准) | 远程流式传输(新标准) |
通信 | 本地文件流 | 两个端点(GET/POST) | 单个端点(POST/GET) |
连接 | 无网络连接 | 两个连接 | 单个连接 |
通信流 | 单向 | 双向(非对称) | 双向(对称) |
可扩展性 | 低 | 中等(有状态) | 高(无状态) |
可靠性 | 高 | 低(无会话恢复) | 高(内置会话恢复) |
实现 | 最简单 | 复杂 | 更复杂 |
核心优势 | 速度和简单性 | 单向流式传输 | 统一、可靠、可扩展 |
幻灯片 10: LangGraph: 代码优先的框架
标题: LangGraph: 用代码构建状态机
简介:
LangGraph 是一个建立在 LangChain 之上的库,专为使用大型语言模型(LLMs)构建有状态、多角色应用而设计。其核心特点是使用基于图的架构,支持循环计算,这是复杂智能体行为的关键要求。
主要特性:
- 基于图的架构: 将智能体工作流建模为一系列节点(代表步骤或函数)和边(定义流程)。这允许实现复杂的非线性逻辑,包括循环和分支。
- 有状态图: 每个图都维护一个持久状态,这是一个共享记忆,随着计算的进行被传递和更新。这对于需要维护长期多步骤任务上下文的智能体至关重要。
- 人机协作(Human-in-the-Loop): LangGraph 原生支持人工干预,允许人类在工作流的任何点审查、批准或推翻智能体的决策。
- 开发者中心: 它是一个代码优先的框架,提供了对智能体行为各个方面的精细控制。这使其成为需要构建复杂、自定义智能体的开发者的理想选择。
幻灯片 11: n8n: 可视化工作流自动化工具
标题: n8n: 适用于 AI 工作流的可视化平台
简介:
n8n 是一个功能强大的低代码、开源工作流自动化工具。它旨在以可视化方式编排逻辑并连接到各种服务。虽然并非专门为 AI 构建,但由于其灵活性和广泛的集成,它已成为构建智能体的热门选择。
主要特性:
- 可视化工作流构建器: 拖放界面允许用户连接“节点”来构建工作流。这使得它对技术和非技术用户都非常易于上手。
- 广泛的集成: n8n 拥有数百个与流行应用和服务(包括 LLMs、向量存储和 API)的预构建集成。这使得在不编写自定义代码的情况下为智能体的能力添加工具变得容易。
- 混合方法: 它是一个低代码工具,但也允许开发者添加自定义 JavaScript 或 Python 代码以实现更高级和定制的逻辑,提供两全其美的体验。
- 编排重点: n8n 擅长编排一系列步骤,使其非常适合自动化涉及 AI、确定性逻辑和人工干预混合的业务流程。
幻灯片 12: 标题页
标题: AI 智能体的挑战:构建可靠且安全的Agent
副标题: 深入探讨关键问题与解决方案
演讲者: [您的姓名/公司名称]
日期: 2025年8月18日
幻灯片 13: 议程
标题: 议程
- 幻觉: 虚假信息的问题
- 安全性与权限: 管理强大的工具
- 调试与可观察性: 窥探黑盒子内部
- 性能与精确度: 对速度和准确性的需求
- 大数据支持: 处理大型知识库
- UI/UX 挑战: 可视化智能体的过程
- 人机协作: 当智能体需要帮助时
幻灯片 14: 幻觉:虚假信息的问题
标题: 幻觉:当智能体“自信地犯错”时
问题:
AI 幻觉是指看似合理但实际上不正确的事实性输出。对于智能体来说,这尤其危险,因为幻觉可能导致不正确的决策和行动,从而侵蚀用户信任。
- 原因: LLMs 是概率模型,它们预测下一个最有可能的词元,而不是事实正确的词元。
- 原因: 模型缺乏实时或特定领域的知识,可能会编造信息来填补空白。
- 原因: 多步骤推理链中的错误可能会累积,导致最终结果完全错误。
解决方案:
- 检索增强生成 (RAG): 在生成响应之前,智能体从一个受信任、最新的知识库中检索信息,确保答案基于事实。
- 多步验证: 智能体通过使用不同的方法重新运行计算或交叉引用信息来验证自己的工作。例如,“我将使用公式 B 重新计算以确认公式 A 的结果。”
- 强调确定性工具: 将复杂的、基于事实的任务委托给工具。智能体不应“思考”一个计算的答案;它应该调用一个精确的计算器工具并返回其准确结果。
幻灯片 15: 安全性与权限管理
标题: 安全性:管理智能体的“王国钥匙”
问题:
智能体调用外部工具和访问敏感数据的能力使其成为一个潜在的安全漏洞。不当的权限管理可能导致:
- 数据泄露: 智能体被操纵以访问和暴露私人信息。
- 未经授权的行动: 智能体被欺骗发送欺诈性电子邮件或删除关键文件。
- 资源滥用: 恶意提示导致智能体调用昂贵的 API,造成重大的经济损失。
解决方案:
- 最小权限原则: 授予智能体执行特定任务所需的最低权限——不多不少。
- 细粒度访问控制: 将权限分解为尽可能小的单位(例如,“读取用户 A 的订单历史记录”,而不是“读取所有用户数据”)。
- 沙箱与工具封装: 所有工具调用都必须在安全、隔离的环境中执行。即使智能体被攻破,损害也被限制在沙箱内。
- 明确的用户授权: 对于任何敏感操作,智能体必须要求用户进行明确的第二步确认(例如,“我即将删除您的个人资料。您授权此操作吗?”)。
幻灯片 16: 调试与可观察性
标题: 可观察性:窥探黑盒子内部
问题:
LLM 驱动的智能体本质上是不透明的。当发生错误时,很难回答:“它为什么选择这个工具?”或“推理链在哪一步失败了?”传统的日志记录是不够的,因为它只捕获 API 调用,而不是智能体的内部思考过程。
解决方案:
- 全面的日志记录与追踪: 记录智能体决策过程的每一步,包括 LLM 的输入、输出以及所有工具调用的参数和结果。这创建了一个可追踪的“思维循环”。
- 可视化调试界面: 提供一个图形界面,可视化智能体的执行路径,让开发者可以查看智能体的计划何时偏离了预期路径。
- 评估驱动的迭代: 使用一套健壮的评估基准来验证智能体的行为。这种主动方法有助于在错误到达生产环境之前捕获它们。
幻灯片 17: 性能与工具精确度
标题: 性能:如何让智能体既快又准
问题:
智能体的效率直接影响用户体验。定义不佳的提示可能导致智能体在不必要的“思考”上浪费时间和令牌。不准确的工具选择——比如调用网页搜索而不是计算器——会导致延迟和不正确的结果。
解决方案:
- 并行工具调用: 对于独立的任务,智能体可以同时调用多个工具,显著减少总执行时间。
- 高质量的工具定义: 为每个工具编写清晰、简洁、准确的描述。更好的描述有助于 LLM 更精确地选择正确的工具。
- 零样本/少样本提示: 在提示中提供几个成功的工具使用示例。这引导 LLM 更快地学习和复制正确的行为。
- 模型路由: 使用一个更便宜、更快的 LLM 来决定调用哪个工具,如果需要,再将任务传递给一个更大、更强大的模型。
幻灯片 18: 大数据支持
标题: 大数据:赋予智能体一个企业级记忆
问题:
将一个巨大的知识库(例如,数百万份文档)放入 LLM 有限的上下文窗口中是不现实的。这会导致高成本、性能缓慢,以及 LLM 可能会遗漏隐藏在大量数据中的关键信息的风险。
解决方案:
- 向量数据库与 RAG 架构: 将文档转换为数值嵌入并存储在向量数据库中。智能体可以高效地搜索和检索最相关的文档片段,然后将其提供给 LLM。
- 数据结构化: 在摄取之前,预处理和结构化非结构化数据(例如,PDF、表格)为 JSON 或表格等格式,这更容易让智能体理解和使用。
- 基于工具的访问: 将所有数据访问——如查询数据库或 API——封装为工具。智能体按需调用这些工具来获取必要的信息,而不是将所有数据都放在上下文中。
幻灯片 19: UI/UX 挑战
标题: UI/UX:可视化智能体的过程
问题:
如果 UI 只显示最终结果,用户会感觉自己在与一个黑盒子交互。一个理想的 UI 应该显示智能体的中间步骤(例如,“正在规划任务...”、“正在调用搜索工具...”、“正在处理结果...”),以建立信任并提供透明度。
解决方案:
- 流式传输协议(SSE & Streamable HTTP): 使用像 SSE 或 Streamable HTTP 这样的协议,允许服务器向 UI 发送实时、连续的更新,从而动态显示智能体的进度。
- 结构化的中间结果: 智能体应该为每一步发送结构化数据(例如,一个 JSON 对象),前端可以解析这些数据来动态渲染不同的 UI 组件。
- 动态 UI 组件: UI 应该被设计成对流式传输事件做出反应。例如,当它接收到
tool_call
消息时,它可以显示一个“正在调用工具”的动画。
幻灯片 20: UI 表达:从文字到视觉
标题: UI 表达:从文字到视觉
问题:
智能体的输出通常包含复杂的数据,这些数据最好以视觉方式呈现。智能体如何生成图表或格式化的表格,前端又如何安全地渲染它们?
解决方案:
- 智能体生成 Markdown: 智能体可以使用简单的、通用的 Markdown 语法来格式化文本。大多数现代前端框架都拥有健壮的 Markdown 解析器。
- 智能体生成结构化 JSON: 对于图表和复杂的表格,智能体可以调用一个“数据生成”工具,该工具返回一个包含数据和图表类型(例如,
{ "type": "chart", "chart_type": "bar", "data": [...] }
)的 JSON 对象。然后,前端使用这些数据来渲染图表。 - 沙盒化前端渲染: 使用安全的解析库,并严格限制前端上任何 JavaScript 代码的执行,以防止 XSS 攻击等安全风险。
幻灯片 21: 代码执行:前端还是后端?
标题: 代码执行:逻辑驻留在何处?
问题:
当智能体生成代码时,一个关键的架构决策是它应该在哪里执行。在前端运行代码对用户的设备构成了巨大的安全风险,而在后端执行则会产生服务器成本。
解决方案:
- 在后端执行(沙盒化): 最安全、最常见的方法是始终在后端执行智能体生成的代码,在一个严格隔离的环境中,如 Docker 容器或微型虚拟机。这完全消除了对用户机器的风险。
- 返回单个结果: 避免将代码流式传输到前端。相反,智能体在后端执行代码,并在一个响应中返回一个最终的、不可执行的结果(例如,一个 JSON 对象)。
- 前端仅用于显示: 将所有前端生成的代码限制在 UI 更新和交互元素上。这确保它无法访问敏感数据或执行未经授权的操作。
幻灯片 22: 人机协作
标题: 人机协作:当智能体需要帮助时
问题:
智能体并非完美无缺。某些任务需要人工判断或批准。一个设计糟糕的人机协作(HITL)系统可能导致频繁的中断、模糊的授权,以及智能体在等待响应时丢失上下文。
解决方案:
- 明确的授权请求: 当智能体即将执行敏感操作时,它必须清楚地说明它即将做什么,并请求用户的明确同意。
- 渐进式披露: 智能体可以显示一个高级计划,并允许用户在特定的、关键的检查点进行干预,而不是为每一个细节都进行中断。
- 持久会话: 在智能体等待人工输入时,将其状态保存在后端数据库中。如果用户离开应用程序然后返回,智能体可以从上次离开的地方准确地继续。
幻灯片 23: MCP 与权限管理
标题: MCP 与访问控制:一座安全的桥梁
问题:
模型上下文协议(MCP)允许 LLMs 访问外部工具。如果没有适当的安全性,恶意用户可能会利用提示注入来欺骗智能体,使其调用未经授权的工具或访问其他用户的数据。
解决方案:
- 基于令牌的认证: 每个智能体在调用 MCP 服务器时都必须携带一个安全令牌(如 OAuth2.0 令牌)。服务器在执行任何工具之前验证此令牌及其所持有的权限。
- 工具级别访问控制: MCP 的后端应该为每个工具定义一个细粒度的访问控制列表(ACL)。例如,
search_user_data
工具可能只能由具有“管理员”角色的智能体调用。 - 用户与租户隔离: 在数据库和 API 层面强制执行用户 ID 或租户 ID。这确保智能体只能访问属于其自身用户或租户的数据,从而防止跨租户数据泄露。