跳到主要内容

AI Agent 简介

AI Agent(人工智能代理)是近年来人工智能领域最热门的方向之一。它代表了从"被动回答问题"到"主动完成任务"的重大转变,让 AI 能够像人类一样思考、规划并执行复杂任务。

什么是 AI Agent

AI Agent 是一个能够感知环境、做出决策并采取行动以实现特定目标的智能系统。与传统的聊天机器人不同,AI Agent 不仅能理解用户的意图,还能主动调用工具、规划任务步骤、记忆上下文信息,最终完成用户指定的任务。

用一个简单的比喻来理解:如果把大语言模型(LLM)比作一个博学但只能"纸上谈兵"的顾问,那么 AI Agent 就是这个顾问加上了一双手和各种工具,能够真正帮你把事情做成。

核心公式

业界普遍认可的一个公式是:

AI Agent = LLM(大脑) + Planning(规划) + Memory(记忆) + Tools(工具)

这四个组件协同工作,构成了一个完整的智能代理系统:

  • LLM(大语言模型):作为 Agent 的"大脑",负责理解用户意图、推理决策和生成响应
  • Planning(规划):将复杂任务分解为可执行的子任务,并制定执行计划
  • Memory(记忆):存储和管理对话历史、任务状态和知识信息
  • Tools(工具):连接外部系统和 API,扩展 Agent 的能力边界

现代 Agent 架构

LangChain 生态系统提供了两种创建 Agent 的方式,它们各有特点:

Agent = Model + Tools + System Prompt + State

这种架构的核心优势在于:

  • Graph-based Runtime:Agent 的执行流程由节点(Nodes)和边(Edges)定义,每个节点代表一个处理步骤(如调用模型、执行工具),边定义了步骤之间的流转关系
  • State Management:状态在执行过程中自动维护,包括对话历史、中间结果等
  • Middleware Extension:通过中间件机制扩展 Agent 能力,如消息处理、错误处理、日志记录等

创建 Agent 的两种方式

方式一:langchain.agents.create_agent(推荐用于需要 middleware 的场景)

LangChain 1.0 新增的 API,原生支持 middleware 机制:

from langchain.agents import create_agent

agent = create_agent(
model="openai:gpt-4o-mini", # 支持字符串格式
tools=[...],
system_prompt="你是一个智能助手。", # 参数名是 system_prompt
middleware=[...] # 支持 middleware
)

方式二:langgraph.prebuilt.create_react_agent

LangGraph 提供的经典 API,简洁易用:

from langgraph.prebuilt import create_react_agent

agent = create_react_agent(
model="openai:gpt-4o-mini",
tools=[...],
prompt="你是一个智能助手。" # 参数名是 prompt
)

API 对比

特性create_agentcreate_react_agent
导入路径langchain.agentslanggraph.prebuilt
系统提示词参数system_promptprompt
中间件支持原生支持 middleware 参数不支持
自定义状态仅支持 TypedDict支持 Pydantic/Dataclass/TypedDict
适用场景需要 middleware 扩展简单快速的 Agent 开发

选择建议

  • 如果你需要使用 middleware 来扩展 Agent(如日志、错误处理、消息裁剪等),选择 create_agent
  • 如果你只需要创建一个简单的 ReAct Agent,create_react_agent 更加简洁

本教程将同时介绍这两种 API 的用法。

AI Agent 与传统应用的区别

特性传统应用AI Agent
交互方式固定的菜单和表单自然语言对话
任务处理预设的流程和规则自主规划和决策
能力边界功能固定,无法扩展可动态调用工具扩展能力
适应性需要重新开发才能适应新场景可通过提示词和工具快速适应
记忆能力通常无状态具备短期和长期记忆

核心组件详解

大语言模型(LLM)

LLM 是 AI Agent 的核心推理引擎,负责:

  • 理解用户的自然语言输入
  • 推理当前任务状态和下一步行动
  • 生成调用工具的参数
  • 将执行结果转化为用户可理解的回答

常用的 LLM 包括 OpenAI GPT-4、Claude、文心一言、通义千问等。选择合适的 LLM 需要考虑推理能力、上下文长度、成本等因素。

规划(Planning)

规划模块让 Agent 能够处理复杂任务。它包括两个关键能力:

任务分解:将一个大目标拆分成多个小步骤。例如,用户要求"帮我分析竞品并生成报告",Agent 会将其分解为:

  1. 搜索竞品信息
  2. 提取关键数据
  3. 对比分析
  4. 生成报告文档

自我反思:在执行过程中评估结果,发现问题时调整策略。这种能力让 Agent 能够处理意外情况,提高任务完成的可靠性。

记忆(Memory)

记忆系统让 Agent 能够保持上下文连贯性,主要分为两类:

短期记忆:存储当前对话的上下文信息,帮助 Agent 理解用户意图的前后关联。通常通过在提示词中包含对话历史来实现。

长期记忆:持久化存储用户偏好、历史交互记录和知识库信息。通常使用向量数据库(如 Pinecone、Milvus)来实现语义检索。

工具(Tools)

工具是 Agent 与外部世界交互的桥梁。常见的工具类型包括:

  • 搜索工具:联网搜索获取实时信息
  • 数据工具:查询数据库、调用 API
  • 文件工具:读写文件、生成文档
  • 代码工具:执行代码、运行脚本
  • 专业工具:天气查询、地图导航、邮件发送等

AI Agent 的工作流程

一个典型的 AI Agent 执行流程如下:

这个循环过程被称为"感知-思考-行动"循环(Perceive-Think-Act Loop),是 AI Agent 的核心执行模式。

应用场景

AI Agent 在众多领域都有广泛的应用前景:

个人助理

帮助用户管理日程、回复邮件、预订餐厅、查询信息等。例如,你可以让 Agent "帮我找一家评分高的意大利餐厅并预订今晚7点的位置",它会自动完成搜索、筛选和预订的全过程。

智能客服

处理客户咨询、订单查询、售后支持等。Agent 能够理解客户意图,查询相关系统,给出准确的回答,必要时还能主动转接人工客服。

数据分析

连接数据库,执行数据查询和分析任务,生成可视化报告。用户只需用自然语言描述需求,Agent 就能自动完成从数据获取到报告生成的全过程。

代码开发

辅助程序员完成代码编写、调试、测试等任务。一些先进的 Agent 甚至能够独立完成小型项目的开发。

研究助手

帮助研究人员检索文献、总结论文、整理笔记。Agent 能够理解研究主题,从海量信息中提取有价值的内容。

发展历程

AI Agent 的发展经历了几个重要阶段:

早期探索(2020年前):基于规则的专家系统和简单的对话机器人,能力有限,无法处理复杂任务。

LLM 时代(2020-2022):GPT-3 等大模型出现,AI 具备了强大的语言理解和生成能力,但还缺乏与外部世界交互的手段。

Agent 元年(2023):OpenAI 推出 Function Calling,LangChain 等框架兴起,AI Agent 开始具备调用工具的能力,真正意义上的 Agent 诞生。

快速发展(2024至今):多模态 Agent、多 Agent 协作、自主 Agent 等新方向涌现,AI Agent 的能力和应用场景不断扩展。

学习路线

要掌握 AI Agent 开发,建议按以下路线学习:

  1. 基础准备:掌握 Python 编程、了解 LLM API 的基本使用
  2. 核心概念:深入理解 Agent 架构、ReAct 模式、Function Calling
  3. 框架实践:学习 LangChain 1.0 和 LangGraph 框架
  4. 进阶开发:掌握记忆系统、多 Agent 协作、自定义工具开发
  5. 评估部署:学习 Agent 评估方法、生产部署最佳实践
  6. 项目实战:完成一个完整的 Agent 应用项目

主流框架对比

框架特点适用场景
LangChain 1.0 + LangGraph生产级、模块化、中间件架构、统一命名空间企业级 Agent 应用
AutoGen多 Agent 对话协作研究实验、多角色协作
CrewAI角色扮演式多 Agent团队协作模拟
LlamaIndexRAG 集成能力强知识库问答 Agent

本教程以 LangChain 1.0 和 LangGraph 为核心框架进行讲解,这是目前最成熟、应用最广泛的 Agent 开发框架。需要注意的是,LangChain 1.0 对包结构进行了大幅简化,核心功能集中在以下模块:

  • langchain.agentscreate_agentAgentState
  • langchain.messages:消息类型、trim_messages
  • langchain.tools@toolBaseTool
  • langchain.chat_modelsinit_chat_modelBaseChatModel

小结

AI Agent 代表了人工智能应用的新范式,它让 AI 从"能说会道"进化为"能干实事"。理解 Agent 的核心组件和工作原理,是开发智能应用的基础。接下来的章节中,我们将深入学习如何使用 LangChain 1.0 和 LangGraph 构建生产级的 AI Agent。

参考资料