什么是 AI Agent
AI Agent(人工智能代理)是一个能够感知环境、自主决策并采取行动以完成目标的软件系统。
与普通程序不同,AI Agent 的核心特征是自主性:它不只是被动地响应单次输入,而是能够:
- 制定多步骤计划
- 调用外部工具(搜索、代码执行、API 调用等)
- 根据执行结果动态调整策略
- 持续循环直到目标完成
AI Agent 的定义
从学术角度,Agent 的经典定义来自 Russell & Norvig(《人工智能:一种现代方法》):
Agent 是任何能够通过传感器感知环境、并通过执行器对环境采取行动的事物。
在 LLM 时代,AI Agent 的定义更具体:
AI Agent 是以大语言模型为核心推理引擎,能够自主规划任务、调用工具、与外部系统交互,并通过反馈循环完成复杂目标的自治系统。
Agent 的四个核心要素
| 要素 | 说明 |
|---|---|
| 感知(Perception) | 接收输入:用户指令、工具返回结果、环境状态 |
| 规划(Planning) | 将目标分解为可执行的子任务序列 |
| 行动(Action) | 调用工具、执行代码、调用 API、操作文件等 |
| 记忆(Memory) | 短期记忆(上下文窗口)+ 长期记忆(向量数据库等) |
AI Agent 与 LLM 的关系
LLM 是 Agent 的"大脑"
LLM(大语言模型)和 AI Agent 是组件与系统的关系:
- LLM 是一个语言模型,本质上是"输入文本 → 输出文本"的函数,擅长理解、推理和生成文本
- AI Agent 是一个完整系统,以 LLM 作为核心推理引擎,并在外部集成工具、记忆、规划等模块
LLM 不只在规划阶段起作用,而是作为推理引擎贯穿整个"思考-决策"过程:
| 阶段 | LLM 的作用 |
|---|---|
| 规划 | 将目标拆解为子任务,决定执行顺序 |
| 决策 | 判断下一步该调用哪个工具、传什么参数 |
| 观察理解 | 解读工具返回的结果,判断是否达到目标 |
| 生成输出 | 将执行结果整理成自然语言回复用户 |
| 实际执行 | ❌ 调用 API、写文件等由工具负责,不是 LLM |
类比来说:LLM 像人的大脑,工具像人的手。大脑在每一步都在工作(理解、规划、判断),手只在需要具体操作时才动。
用户目标
↓
AI Agent
├── LLM(推理 / 规划 / 决策)
├── 工具(搜索、代码执行、数据库查询...)
├── 记忆(上下文 + 长期存储)
└── 执行器(实际调用外部系统)
↓
完成目标
关键区别
| 维度 | LLM | AI Agent |
|---|---|---|
| 本质 | 语言模型(函数) | 自治系统 |
| 交互方式 | 单次问答 | 多步骤循环 |
| 工具使用 | 不能主动调用工具 | 能调用外部工具 |
| 自主性 | 被动响应 | 主动规划和执行 |
| 记忆 | 仅限上下文窗口 | 可有持久化记忆 |
| 目标完成 | 单次回答 | 持续执行直到完成 |
LLM 的局限性与 Agent 的补充
LLM 本身有明显局限:
- 知识截止日期:训练数据有截止日期,无法获取最新信息
- 无法执行操作:只能输出文字,不能真正操作系统或调用 API
- 上下文长度限制:复杂任务超出单次上下文能力
- 无状态:每次对话独立,没有跨会话记忆
AI Agent 通过外部模块弥补这些局限:
- 工具调用(Tool Use):赋予 LLM 搜索网络、执行代码、读写文件的能力
- RAG(检索增强生成):从外部知识库检索最新或私有信息
- 持久化记忆:跨会话记住用户偏好和历史状态
- 多步骤规划:将复杂任务拆解,逐步完成
Agent 的典型运行循环(ReAct 模式)
思考(Thought)→ 行动(Action)→ 观察(Observation)→ 思考...
目标:查询北京今天的天气并发送邮件
Thought: 我需要先查询天气,再发送邮件
Action: search_weather(city="北京")
Observation: 北京今天晴,25°C
Thought: 获得了天气信息,现在发送邮件
Action: send_email(to="user@example.com", content="北京今天晴,25°C")
Observation: 邮件发送成功
Thought: 任务完成
常见 AI Agent 框架
- LangChain / LangGraph — Python,功能全面,生态丰富
- CrewAI — 多 Agent 协作框架
- AutoGen — 微软出品,支持多 Agent 对话
- OpenAI Assistants API — 官方托管的 Agent 能力