ai agent

关键要点

  • AI Agent 是一种基于大语言模型(LLM)的智能系统,能够调用工具、执行任务,区别于仅生成文本的 LLM。
  • 研究表明,Agent 核心包括 LLM、记忆、规划和工具使用,常见框架如 ModelScope-Agent、Langchain、MetaGPT。
  • Prompt 工程和测试优化是开发的关键,涉及结构化 Prompt 和知识库验证。
  • 应用场景广泛,如天气助手、旅行规划和客服系统,需收集用户需求并设计工作流。

AI Agent 的概念与功能

什么是 AI Agent?
AI Agent 是一种智能系统,基于大语言模型(LLM),不仅能生成自然语言文本,还能调用外部工具(如 API)执行任务。它被视为“人造大脑”,能自主理解、规划决策和执行复杂任务。研究表明,AI Agent 与 LLM 的根本区别在于工具调用能力:LLM 仅限于生成文本,而 AI Agent 能通过函数调用(如 FunctionCall)主动调用外部 API,扩展功能。例如,证据显示,AI Agent 的最大区别是“具有调用外部工具的能力,LLM 不具备”。

根据 OpenAI 研究主管 Lilian Weng 在 2023 年 6 月 23 日的博客《LLM Powered Autonomous Agents》中的定义,AI Agent 由以下核心组件组成:

  • LLM(语言模型):作为 Agent 的大脑,负责理解和生成自然语言。
  • Memory(记忆):包括短期记忆(如上下文学习)和长期记忆(如外部向量存储),用于存储和回忆信息。研究指出,AI Agent 的记忆不包括“用户在其他窗口的会话内容”,以保护隐私和避免干扰。
  • Planning(规划):任务分解、自我反思和决策能力,支持复杂任务的处理。
  • Tool Use(工具使用):调用外部 API 或工具,扩展功能。

AI Agent 可以被理解为“一颗能自主使用工具、执行任务的‘人造大脑’”,也适用于客服、旅行规划等场景,展现其多面性。

与 LLM 的区别

  • LLM 的能力:生成自然语言文本,理解固定上下文窗口(如 GPT-4 的 4096 令牌),执行翻译、总结和问答等任务。
  • AI Agent 的额外能力:能调用外部 API 或工具执行动作,如搜索网页、执行代码或访问数据库;能自主执行多步任务;管理记忆以保持交互连续性;基于推理和规划进行决策,适应新情况。

本质上,LLM 擅长语言生成,而 AI Agent 扩展了这些能力,包括与世界交互和自主行为,使其更具通用性和强大性。


调查报告:AI Agent 的全面解析

引言

在 2025 年的 AI 技术浪潮中,AI Agent(人工智能代理)已成为研究和应用的热点。AI Agent 不仅能生成自然语言文本,还能调用工具、执行任务和与环境交互,展现出强大的自治性。本报告基于 40 道 AI Agent 相关单选题的答案,系统总结其概念、功能、开发框架、工具使用、记忆能力、Prompt 工程、测试策略和应用场景,为读者提供全面的知识指南。

一、AI Agent 的基本概念

AI Agent 是一种基于大语言模型(LLM)的智能体,能够通过调用外部工具、执行任务和与环境交互,实现更复杂的功能。研究表明,Agent 与 LLM 的根本区别在于工具调用能力:LLM 仅限于生成文本,而 Agent 能通过函数调用(如 FunctionCall)主动调用外部 API,扩展功能。例如,答案显示,Agent 的最大区别是“具有调用外部工具的能力,LLM 不具备”。

根据 OpenAI 研究主管 Lilian Weng 在 2023 年 6 月 23 日的博客《LLM Powered Autonomous Agents》(Lilian Weng's Blog: LLM Powered Autonomous Agents)中的定义,Agent 由以下核心组件组成:

  • LLM(语言模型):作为 Agent 的大脑,负责理解和生成自然语言。
  • Memory(记忆):包括短期记忆(如上下文学习)和长期记忆(如外部向量存储),用于存储和回忆信息。答案指出,Agent 的记忆不包括“用户在其他窗口的会话内容”,以保护隐私和避免干扰。
  • Planning(规划):任务分解、自我反思和决策能力,支持复杂任务的处理。
  • Tool Use(工具使用):调用外部 API 或工具,扩展功能。

Agent 可以被理解为“一颗能自主使用工具、执行任务的‘人造大脑’”,也适用于客服、旅行规划等场景,展现其多面性。

二、Agent 的工具使用

工具使用是 Agent 的核心能力,使其能够突破 LLM 的局限性。答案显示,Agent 使用工具的主要方式是“函数调用 (FunctionCall) 主动调用外部 API”。例如,在 ModelScope-agent 框架中,工具调用需要以 JSON 格式输出,并使用特殊标记如 <|startoftool|> 和 <|endoftool|> 来指示,方便系统解析和执行。

工具使用的能力包括:

  • 评估任务需求,识别所需工具。
  • 从可用工具中选择最合适的工具。
  • 生成符合工具调用格式的请求。

在开发中,工具注册是关键步骤,需包含名称、描述、参数和调用方式(如 _local_call/_remote_call),但不需要 tool_result,因为结果由工具调用返回。

根据 Lilian Weng 的博客(Lilian Weng's Blog: LLM Powered Autonomous Agents),工具使用扩展了 LLM 的能力,允许 Agent 调用外部 API 获取实时信息、执行代码或访问专有数据源。框架和方法包括 MRKL、TALM、Toolformer、HuggingGPT、ChatGPT Plugins 和 OpenAI function calling。API-Bank 基准测试包括 264 个对话和 568 个 API 调用,评估工具使用的三个级别:API 调用(Level-1)、API 检索(Level-2)和规划多个 API 调用(Level-3)。ChemCrow 案例研究使用 13 个专家设计的工具,应用于有机合成、药物发现和材料设计,实现在 LangChain 中。

工具使用框架 描述
MRKL 集成检索和生成的多模态任务。
TALM 增强 LLM 的工具使用能力。
Toolformer 训练 LLM 生成 API 调用,使用外部工具。
HuggingGPT 构建可使用工具的对话代理框架。
ChatGPT Plugins 允许 ChatGPT 与外部工具和服务交互。
OpenAI Function Calling 启用 LLM 调用开发者定义的函数。

三、Agent 的开发框架

开发 AI Agent 需要选择合适的框架,以下是常见的框架及其比较:

框架 关键焦点 优势 最适合的应用
Langchain LLM-powered 应用 通用性、外部集成 通用 AI 开发
LangGraph 状态化多代理系统 复杂工作流、代理协调 交互式、适应性 AI 应用
CrewAI 角色扮演 AI 代理 协作问题解决、团队动态 模拟复杂组织任务
Microsoft Semantic Kernel 企业 AI 集成 安全性、合规性、现有代码库集成 增强企业应用的 AI
Microsoft AutoGen 多代理对话系统 鲁棒性、模块化、对话管理 高级对话 AI 和任务自动化
Smolagents 智能协作系统 轻量级、模块化、自定义 多样化 AI 应用和工作流
AutoGPT 自主 AI 代理 灵活性、适应性学习、最小干预 自动化内容创建和任务管理

这些框架降低了开发门槛,尤其适合零代码开发平台如支付宝百宝箱,支持一键生成小程序,适合快速验证产品 Demo。

四、Agent 的 Prompt 工程

Prompt 工程是 AI Agent 开发的核心,优质的 Prompt 设计直接影响 Agent 的性能。优化 Prompt 的方法包括:

  • 使用 AI 优化功能对 Prompt 进行自动优化和展开。
  • 提供典型案例(如客户投诉处理流程)作为参考,快速提升效果。
  • 通过多轮测试和迭代优化,直到输出达到预期。

Prompt 结构化是关键,使用分隔符(如 ###)的主要目的是让人类更清晰地表达需求,同时让智能体更方便地区分和处理不同内容。例如,在虚拟女友 Agent 开发中,使用精细化的 Prompt 定义角色设定、对话风格和行为准则,避免跑题。

根据 PromptHub Blog(PromptHub Blog: Prompt Engineering for AI Agents),Prompt 工程的原则包括:

  • 保持简单:简单胜过复杂。
  • 提供上下文:确保 Agent 有所有必要的信息。
  • 具体明确:更多词语并不总是有帮助,但具体性很重要。
  • 测试和迭代:根据性能不断优化。

示例:

  • Cline(VS Code 编码 Agent)

    • 系统提示长度:11,000 字符
    • 特征:结构化工具使用(如 XML 标签),逐步确认,每条消息一个工具,计划模式与行动模式,包含详细环境上下文(如操作系统、目录),安全性:确认动作与用户。
    • 完整系统消息
  • Bolt(浏览器编码 Agent)

    • 系统提示长度:较短
    • 特征:约束(如 WebContainer,没有 pip、Git、原生二进制文件),代码格式化(2 个空格缩进),差异规范(GNU 统一差异),工件创建(使用 <boltArtifact>/<boltAction> 标签),14 条规则(如整体规划、全内容)。
    • 完整系统消息

这些示例说明了详细且结构化的 Prompt 如何引导 Agent 有效执行复杂任务。

五、Agent 的记忆与规划能力

记忆和规划是 Agent 实现自治性的关键。

  • 记忆

    • 短期记忆:通过上下文学习实现,存储当前任务相关信息,但受 Transformer 模型上下文窗口的限制。
    • 长期记忆:通过外部存储(如向量数据库)实现,支持长时间信息的存储和检索,使用快速检索方法如 LSH、ANNOY、HNSW、FAISS 和 ScaNN。
  • 规划

    • 涉及任务分解和自我反思,技术如 Tree of Thoughts 探索多条路径,ReAct 结合推理和行动,Reflexion 从过去经验中学习。
记忆类型 描述
短期记忆 利用上下文学习,存储当前任务信息,受 Transformer 上下文窗口限制。
长期记忆 使用外部向量存储,支持长时间信息存储,检索方法包括 LSH、FAISS 等。

六、Agent 的实际应用

AI Agent 在多个领域有广泛应用,包括:

  • 天气助手:提供实时天气查询和穿衣建议。
  • 旅行规划助手:根据用户偏好生成个性化旅行计划。
  • 客服 Agent:通过工作流设计,先进行情感分析插件节点,再根据情绪分支选择知识库召回或 LLM 响应。
  • AI 绘画:在提示词中加入负面限定词(如“无血腥、无暴力”)和正面限定词(如“清晰、明亮”),引导模型生成符合预期的图像。

这些应用场景体现了 Agent 的灵活性和实用性,需根据用户需求设计 Prompt 和工作流。

七、Agent 的测试与优化

测试 AI Agent 包括:

  • 单元测试:验证记忆、规划和工具使用等组件。
  • 集成测试:确保所有组件协同工作。
  • 端到端测试:模拟真实场景,评估性能。

优化涉及迭代 Prompt、调整模型参数,并根据性能指标进行微调。例如,在开发虚拟女友 Agent 时,通过对话示例和开场白优化 Prompt,避免跑题。

八、构建和部署 Agent 系统

构建完整的 Agent 系统包括:

  1. 定义任务:明确 Agent 的目标。
  2. 选择组件:选择合适的 LLM、记忆系统、规划机制和工具。
  3. 设计 Prompt:创建有效的 Prompt 指导 Agent 行为。
  4. 整合工具:设置外部工具和 API。
  5. 实现记忆:配置短期和长期记忆系统。
  6. 测试和迭代:持续测试和优化性能。

部署可通过平台如 Langbase 实现,支持无服务器 AI Agent 部署,优化最新模型。

九、Agent 的级别与框架

根据 ZhenFund 的分类,Agent 是高度自治的 AI 产品,能够“完全无需人类监督,自主拆解目标,寻找资源,选择并使用工具,完成全部工作,人类只需给出初始目标”。

ReAct 框架是一种 Agent 行为设计方法,输出格式为 Thought(思考)、Action(行动)、Observation(观察),用于解析 LLM 输出和指导行为。尽管 ReAct 曾是重要进展,但已被 OpenAI、Anthropic、Mistral 和 Google 等模型支持的原生函数调用技术所取代,推荐使用函数或工具调用来实现生产就绪功能。根据 Klu 的信息(Klu: ReAct Agent Model),ReAct 仅在 30% 的时间有效,适合复杂多步任务,但因令牌消耗和依赖外部工具而受限。

结论

AI Agent 代表了人工智能发展的一个重要里程碑,结合 LLM 的语言能力、工具调用的扩展性和记忆规划的自治性,为构建智能助手提供了可能。从概念到应用,AI Agent 的开发涉及 Prompt 工程、工作流设计、测试策略等多个方面,需要开发者综合考虑各组件的协同作用。未来,随着技术的进步,AI Agent 将在更多领域发挥重要作用,带来更便捷的用户体验和更高的工作效率。


关键引用

posted @ 2025-04-13 18:09  colommar  阅读(243)  评论(0)    收藏  举报