01.1 — 什么是 AI Agent?
定位: AI Agent 知识体系的第一块砖——精确定义 Agent、理解核心特征、辨析与 LLM/Chain 的根本区别 面试高频度: ⭐⭐⭐⭐⭐ 考查方式: 概念辨析题(Agent vs LLM)、设计题(什么时候用 Agent)、开放题(Agent 的未来)
一、这是什么?为什么需要它?
是什么
AI Agent(人工智能智能体) 是一个能够自主感知环境、做出决策并采取行动的 AI 系统,它通过循环迭代的方式与外部世界交互,以达成用户设定的目标。
为什么需要它?
没有 Agent 之前,我们使用 LLM 的方式是"单轮对话"或"简单的链式调用":
❌ 没有 Agent 的问题:
- 每次请求都是"一次性"的,LLM 不记得之前说过什么
- LLM 只能"说"不能"做"——无法查询数据库、调用 API
- 遇到错误就停止,没有自我纠正的能力
- 复杂任务需要人工拆解和编排
✅ Agent 带来的改变:
- 自主决策:Agent 自己决定下一步做什么
- 工具使用:Agent 可以调用 API、执行代码、查询数据库
- 记忆保持:跨会话的记忆能力
- 自我纠错:执行失败后自动重试或换方案核心洞察:LLM 是"大脑",Agent 是"完整的人"。大脑不会自己走路、拿东西、记住所有事情——Agent 补齐了这些能力。
定位到知识体系
┌─ 上层:多智能体协作 ─────────────────────┐
│ 多个 Agent 之间的通信与协调 │
├─ 中层:Agent 核心能力 ────────────────────┤
│ 记忆系统 │ 工具使用 │ 规划推理 │ 安全对齐 │
├─ 基层:Agent 基础 ← 你在这里 ────────────┤
│ 定义 · 架构 · 循环 │
└─────────────────────────────────────────┘二、原理拆解
2.1 Agent 的四大核心特征
| 特征 | 说明 | 没有它会怎样? |
|---|---|---|
| 自主性 (Autonomy) | 独立决策,不需要人类每一步都参与 | Agent 就退化成"可编程的 LLM 调用链" |
| 反应性 (Reactivity) | 感知环境变化并做出响应 | Agent 每次只能执行固定流程,无法应对异常 |
| 主动性 (Pro-activeness) | 主动采取行动达成目标 | 只能"回答",不能"完成" |
| 社交能力 (Social Ability) | 与其他 Agent 或人类交互 | 无法参与多智能体协作系统 |
2.2 Agent vs LLM vs Chain vs RAG
这是面试中的最高频辨析题,必须理解到骨髓。
| 维度 | 纯 LLM | Chain | RAG | Agent |
|---|---|---|---|---|
| 决策方式 | 单次生成 | 预定义流程 | 检索+生成 | 自主决策循环 |
| 状态保持 | 无(需重复传入) | 链内传递 | 检索临时增强 | 持久记忆系统 |
| 外部交互 | 无 | 链中节点调用 | 只读检索 | 读写调用工具 |
| 错误处理 | 无 | 链中断 | 检索失败 | 自动重试/替代方案 |
| 复杂度 | ⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 典型用例 | 文本生成 | 文档处理流水线 | 知识问答 | 自动化任务执行 |
┌──────────┐
│ 用户请求 │
└────┬─────┘
│
┌──────────────────┼──────────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────────┐
│ 纯 LLM │ │ Chain │ │ Agent │
│ │ │ │ │ │
│ 一次回答 │ │ 流程 A → │ │ 感知 │
│ 结束 │ │ 流程 B → │ │ ├─ 思考 │
│ │ │ 流程 C │ │ ├─ 行动 │
│ 无记忆 │ │ │ │ ├─ 观察 │
│ 无工具 │ │ 固定路径 │ │ └─ 循环 │
└──────────┘ └──────────┘ │ │
│ 有记忆 │
│ 有工具 │
│ 自主决策 │
└──────────────┘2.3 Agent 的使能技术
Agent 不是凭空出现的,它建立在几项关键技术进步之上:
| 使能技术 | 解决的问题 | 出现时间 |
|---|---|---|
| Function Calling | LLM 可以输出结构化工具调用指令 | 2023 年中 |
| Long Context | Agent 可以"记住"更长的交互历史 | 2023-2024 |
| RAG | Agent 可以访问外部知识库 | 2023 年初 |
| Code Interpreter | Agent 可以执行代码并分析结果 | 2023 年中 |
| 多模态 | Agent 可以"看到"图像、音频 | 2024 年 |
三、图解全景
┌─────────────────────────────────────────────────────────────┐
│ AI Agent 系统架构(概念级) │
│ │
│ ┌────────────────────────────────────────────┐ │
│ │ LLM 核心引擎 │ │
│ │ ┌──────────┐ ┌──────────┐ ┌───────────┐ │ │
│ │ │ 推理/规划 │ │ 代码生成 │ │ 文本理解 │ │ │
│ │ └──────────┘ └──────────┘ └───────────┘ │ │
│ └──────────────────┬─────────────────────────┘ │
│ │ │
│ ┌──────────────────┼─────────────────────────┐ │
│ │ │ │ │
│ │ ┌───────────────▼──────────────┐ │ │
│ │ │ Agent 运行时 │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────┐ ┌──────────┐ │ │ │
│ │ │ │ 记忆系统 │ │ 工具系统 │ │ │ │
│ │ │ │ 短期/长期│ │ 注册/执行│ │ │ │
│ │ │ └─────────┘ └──────────┘ │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────┐ ┌──────────┐ │ │ │
│ │ │ │ 规划器 │ │ 安全护栏 │ │ │ │
│ │ │ │ 任务分解 │ │ 输入/输出│ │ │ │
│ │ │ └─────────┘ └──────────┘ │ │ │
│ │ └──────────────────────────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────┘ │
│ │
│ 外部世界: API / 数据库 / 文件系统 / 其他 Agent / 用户 │
└─────────────────────────────────────────────────────────────┘四、实战验证
4.1 通过代码体验 Agent vs LLM 的区别
python
# === 演示 1: 纯 LLM 调用(非 Agent) ===
# LLM 只是"生成文本",无法真正查询天气
import openai
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "北京今天多少度?"}]
)
# LLM 会说:"我无法实时查询天气,请告诉我你的数据源"
# → 它只能"说",不能"做"
# === 演示 2: 最小 Agent(函数调用版)===
# Agent 可以决定"查询天气"这个行动
def get_weather(city: str) -> str:
"""模拟查询天气"""
return f"{city}: 25°C, 晴"
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询城市天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string"}
}
}
}
}]
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "北京今天多少度?"}],
tools=tools
)
# Agent 输出:tool_calls=[{"function": {"name": "get_weather", "arguments": '{"city": "北京"}'}}]
# → Agent 自主决定"查询北京天气"这个行动4.2 CLI 验证:用 Terminal Agent 体验自主决策
bash
# 体验 Agent 的自主决策能力(以 Claude Code 为例)
# Agent 会:理解请求 → 规划步骤 → 执行命令 → 观察结果 → 调整
# 对比:纯 LLM(回答建议但不会执行)
# vs Agent(实际操作文件系统)
echo "Agent 的核心不是"回答什么",而是"做什么""4.3 基准测试(概念验证)
场景: 修复一个有 bug 的 Python 脚本
纯 LLM 模式:
用户: "这个代码为什么报错?如何修复?"
LLM: "第3行有类型错误,应该改为..."
→ 用户需要手动修改代码
Agent 模式:
用户: "修复这个脚本的错误"
Agent: [读取文件] → [分析错误] → [修改代码] → [运行测试] → [确认修复]
→ 自动完成整个修复流程
耗时: 纯人工 5min vs Agent 30s五、面试视角
| 追问 | 答案要点 |
|---|---|
| 什么是 AI Agent?它与 LLM 的根本区别是什么? | Agent = LLM + 记忆 + 工具 + 规划。LLM 是"大脑",Agent 是"完整的人"。Agent 具有自主决策、工具使用、记忆保持、自我纠错四大特征 |
| Agent、Chain、RAG 三者的区别? | Chain 是固定流程、RAG 是只读检索增强、Agent 是自主决策循环。关键区别在"是否自主决定下一步" |
| Agent 一定需要 LLM 吗? | 经典 Agent 定义(来自 AI 学科)不依赖 LLM。但当前"AI Agent"特指基于 LLM 的智能体。传统 Agent 基于规则/规划算法 |
| 什么时候不应该用 Agent? | 简单/固定的任务用 Chain 更可靠;纯知识问答用 RAG 更高效;Agent 的开销(延迟+成本+不确定性)高于前两者 |
| Agent 最大的挑战是什么? | 可靠性(LLM 可能幻觉导致错误决策)、安全性(工具滥用风险)、成本(多次 LLM 调用)、延迟(循环迭代耗时长) |
| Agent 的自主程度如何分级? | L0 无自主(Chain)、L1 固定流程(可配置 Chain)、L2 条件分支(ReAct)、L3 自主规划(任务分解)、L4 自主学习(记忆积累) |
📚 相关链接
- **Agent架构模式** — Agent 的三种经典架构模式
- **感知-行动循环** — Agent 最基本运行循环的深入解析
- **记忆分类与架构** — Agent 记忆系统的原理
- **函数调用机制** — Agent 工具的底层实现
- ← 返回 **Agent基础索引**