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_agent | create_react_agent |
|---|---|---|
| 导入路径 | langchain.agents | langgraph.prebuilt |
| 系统提示词参数 | system_prompt | prompt |
| 中间件支持 | 原生支持 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 会将其分解为:
- 搜索竞品信息
- 提取关键数据
- 对比分析
- 生成报告文档
自我反思:在执行过程中评估结果,发现问题时调整策略。这种能力让 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 开发,建议按以下路线学习:
- 基础准备:掌握 Python 编程、了解 LLM API 的基本使用
- 核心概念:深入理解 Agent 架构、ReAct 模式、Function Calling
- 框架实践:学习 LangChain 1.0 和 LangGraph 框架
- 进阶开发:掌握记忆系统、多 Agent 协作、自定义工具开发
- 评估部署:学习 Agent 评估方法、生产部署最佳实践
- 项目实战:完成一个完整的 Agent 应用项目
主流框架对比
| 框架 | 特点 | 适用场景 |
|---|---|---|
| LangChain 1.0 + LangGraph | 生产级、模块化、中间件架构、统一命名空间 | 企业级 Agent 应用 |
| AutoGen | 多 Agent 对话协作 | 研究实验、多角色协作 |
| CrewAI | 角色扮演式多 Agent | 团队协作模拟 |
| LlamaIndex | RAG 集成能力强 | 知识库问答 Agent |
本教程以 LangChain 1.0 和 LangGraph 为核心框架进行讲解,这是目前最成熟、应用最广泛的 Agent 开发框架。需要注意的是,LangChain 1.0 对包结构进行了大幅简化,核心功能集中在以下模块:
langchain.agents:create_agent、AgentStatelangchain.messages:消息类型、trim_messageslangchain.tools:@tool、BaseToollangchain.chat_models:init_chat_model、BaseChatModel
小结
AI Agent 代表了人工智能应用的新范式,它让 AI 从"能说会道"进化为"能干实事"。理解 Agent 的核心组件和工作原理,是开发智能应用的基础。接下来的章节中,我们将深入学习如何使用 LangChain 1.0 和 LangGraph 构建生产级的 AI Agent。