Agent 是什么?让 AI 像人一样“自主行动“
目录:
-
前文回顾 -
背景引入:从"聊天机器人"到"智能助手" -
核心概念一:什么是 Agent -
核心概念二:Agent 的四大核心能力 -
核心概念三:Agent 的工作原理 -
核心概念四:Agent 的工具使用能力 -
核心概念五:Agent 的规划与记忆 -
核心概念六:Agent vs 传统程序 vs 大模型 -
Agent 的实际应用案例 -
Agent 的挑战和未来 -
本文小结 -
今日思考题
一、前文回顾
在前面的文章中,咱们聊了:
-
大模型的"思考"是 预测下一个词 -
RAG 让大模型能"查资料" -
大模型会产生 幻觉
但是!这些都是"被动"的能力:
你:今天天气怎么样?
AI:抱歉,我无法获取实时信息。
你:帮我订一张机票。
AI:抱歉,我无法执行这个操作。
你:帮我分析一下这个数据文件。
AI:请把文件内容发给我...
有没有办法让 AI"主动"做事,而不只是"聊天"?
答案就是今天的主角—— Agent(智能体) 。
二、背景引入:从"聊天机器人"到"智能助手"
先来感受一下传统大模型和 Agent 的区别。
传统 ChatGPT
你:帮我查一下北京明天的天气,然后告诉我适不适合跑步
ChatGPT:
"抱歉,我无法获取实时天气信息。
不过一般来说,如果温度在10-20摄氏度,
风力小于3级,比较适合跑步..."
(它只能给通用建议,无法真正查询)
Agent 智能助手
你:帮我查一下北京明天的天气,然后告诉我适不适合跑步
Agent:
【正在执行...】
1. 调用天气API → 获取北京明天天气预报
温度:18°C,风力:2级,多云
2. 分析条件 → 适合跑步
3. 生成回复
"北京明天天气不错!温度18°C,微风,
多云天气,非常适合户外跑步。
建议早上或傍晚去,空气质量会更好。"
(它真正执行了查询任务!)
看出区别了吗?
| 传统大模型 | Agent |
|---|---|
| 只会"说" | 会"做" |
| 被动回答 | 主动执行 |
| 不能用工具 | 能用各种工具 |
| 一次回复 | 多步规划 |
三、核心概念一:什么是 Agent
3.1 Agent 的定义
Agent = 能自主感知、思考、行动的智能系统
听起来很抽象?咱们用大白话来说:
Agent = 大模型 + 手(工具)+ 脑(规划)+ 记忆(记忆)
咱们用一张图来感受一下:
传统大模型 
Agent 智能体 
3.2 Agent 的本质
Agent = 让大模型从"顾问"变成"助理"
传统大模型:
像个顾问
- 你问它答
- 只能提供建议
- 不能真正做事
Agent:
像个助理
- 你交待任务
- 它去执行
- 真正解决问题
3.3 一个形象的比喻
想象你要装修房子:
传统大模型:
你:怎么装修客厅?
AI:客厅装修要注意以下几点:
1. 风格要统一...
2. 颜色搭配...
3. 家具摆放...
(它只能给你建议,你得自己动手)
Agent:
你:帮我装修客厅,要现代简约风格
Agent:
1. 先测量房间尺寸 → 调用测量工具
2. 设计平面图 → 调用设计软件
3. 搜索家具 → 访问购物网站
4. 下单购买 → 自动下单
5. 预约安装 → 联系装修公司
(它真正去执行了一切!)
四、核心概念二:Agent 的四大核心能力
Agent 之所以能"自主行动",是因为它有四大核心能力。
能力一:感知能力(Perception)
理解用户想要什么
用户说:"帮我订一张明天去上海的机票"
Agent 的感知:
- 任务:订机票
- 时间:明天
- 目的地:上海
- 隐含需求:可能是最便宜或最快
能力二:规划能力(Planning)
把大任务拆成小步骤
任务:"帮我做一个旅行计划"
Agent 的规划:
Step 1: 查询目的地天气
Step 2: 搜索景点推荐
Step 3: 查找酒店
Step 4: 规划路线
Step 5: 预算估算
能力三:行动能力(Action)
使用工具完成任务
Agent 可以使用的工具:
- 浏览器:搜索信息
- API:获取数据
- 计算器:计算数值
- 代码执行器:运行代码
- 文件系统:读写文件
能力四:记忆能力(Memory)
记住之前的经历
对话历史:
用户:"我喜欢靠窗的座位"
...
三天后...
用户:"帮我订机票"
Agent:"好的,我已经帮您预订了靠窗的座位"
(它记住了你的偏好!)
咱们用一张表来总结:
| 能力 | 作用 | 人类类比 |
|---|---|---|
| 感知 | 理解任务 | 听懂别人说什么 |
| 规划 | 制定计划 | 想好先做什么后做什么 |
| 行动 | 执行任务 | 亲自动手做 |
| 记忆 | 记住经验 | 记住以前的事 |
五、核心概念三:Agent 的工作原理
这是本文的核心!咱们要深入理解 Agent 是怎么工作的。
5.1 Agent 的完整工作流程
咱们用一个完整的例子来演示:
用户任务:"帮我查一下今天苹果公司的股价,然后判断现在是不是买入的好时机"
Step 1:感知阶段
Agent 理解任务:
- 需要查询苹果公司股价
- 需要判断买入时机
- 需要给出投资建议
Step 2:规划阶段
Agent 制定计划:
1. 查询苹果公司当前股价(调用股票API)
2. 查询历史价格趋势(调用股票API)
3. 查询相关新闻(调用搜索API)
4. 分析价格走势(用大模型分析)
5. 给出投资建议(生成最终回复)
Step 3:执行阶段
Agent 执行计划:
执行步骤1:
调用 get_stock_price("AAPL")
→ 返回:$178.35
执行步骤2:
调用 get_stock_history("AAPL", "30天")
→ 返回:[价格数据]
执行步骤3:
调用 search_news("Apple stock news")
→ 返回:[新闻列表]
执行步骤4:
分析数据...
→ 发现:股价近期上涨,有新产品发布
执行步骤5:
生成建议...
Step 4:输出结果
"根据最新数据分析:
当前股价:$178.35(+1.2%)
近期情况:
- 过去30天上涨了8%
- 刚发布了新款iPhone
- 分析师普遍看好
建议:
从技术面看,股价处于上升趋势。
但投资有风险,建议您:
1. 考虑分批买入
2. 设置止损点
3. 关注下周的财报
【数据来源:Bloomberg、Yahoo Finance】"
5.2 Agent 的工作流程图
5.3 关键:循环执行(ReAct 模式)
Agent 不是一次性执行完,而是一步步思考、行动、观察
ReAct = Reasoning(推理)+ Acting(行动)
循环过程:
思考 → 行动 → 观察 → 思考 → 行动 → 观察 → ...
举例:
思考:用户想知道股价,我需要先查询
行动:调用 get_stock_price("AAPL")
观察:得到价格 $178.35
思考:还需要知道历史趋势
行动:调用 get_stock_history("AAPL")
观察:得到历史数据
思考:现在可以分析了
行动:调用 analyze(数据)
观察:得到分析结果
思考:可以给出建议了
行动:生成最终回复
六、核心概念四:Agent 的工具使用能力
Agent 最强大的地方就是 能使用各种工具 。
6.1 常用工具类型
| 工具类型 | 功能 | 示例 |
|---|---|---|
| 搜索工具 | 搜索网络信息 | Google Search、Bing Search |
| API 调用 | 获取特定数据 | 天气API、股票API、地图API |
| 代码执行 | 运行代码 | Python解释器、Bash |
| 文件操作 | 读写文件 | 读取PDF、写入CSV |
| 数据库 | 查询数据库 | SQL查询 |
| 计算器 | 数学计算 | 高级计算、统计 |
6.2 工具调用示例
示例一:搜索工具
Agent 思考:用户问最新的新闻,我需要搜索
行动:
调用 search("ChatGPT 最新发布")
结果:
- "OpenAI 发布 GPT-4 Turbo"
- "ChatGPT 新功能:语音和图像"
- ...
示例二:代码执行器
Agent 思考:用户要分析数据,我需要写代码
行动:
执行代码:
```python
import pandas as pd
data = pd.read_csv('sales.csv')
summary = data.describe()
print(summary)
结果: 打印出统计摘要
6.3 工具调用的实现方式
方式一:函数调用(Function Calling)
OpenAI 的方式: 定义工具:
{
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"city": "城市名称",
"date": "日期"
}
}
模型会决定:
-
是否调用这个工具 -
用什么参数调用
方式二:提示词驱动 在提示词中告诉模型: "你可以使用以下工具:
-
search:搜索信息 -
calculator:计算 -
weather_api:查询天气
使用格式: Action: 工具名称 Input: 工具参数 "
七、核心概念五:Agent 的规划与记忆
Agent 不仅要会用工具,还要会规划和记忆。
7.1 规划能力
把复杂任务拆解成可执行的步骤
简单规划
任务:"帮我订机票"
简单规划:
1. 搜索航班
2. 比较价格
3. 选择航班
4. 下单预订
动态规划
任务:"策划一次旅行"
动态规划:
初始计划:
1. 确定目的地
2. 查询天气
3. 预订酒店
4. 规划行程
执行过程中:
- 如果天气不好 → 调整行程
- 如果酒店满了 → 更换酒店
- 如果预算超了 → 重新规划
(计划会根据实际情况动态调整!)
7.2 记忆能力
记住之前的经历和知识
记忆的类型
| 类型 | 说明 | 例子 |
|---|---|---|
| 短期记忆 | 当前对话的历史 | 你刚才说了什么 |
| 长期记忆 | 跨会话的信息 | 你的偏好、历史记录 |
| 知识记忆 | 通用知识 | 世界知识、专业知识 |
| 过程记忆 | 执行过程中的信息 | 上一步做了什么 |
记忆的实现方式
方式一:对话历史
对话:
你:"我喜欢靠窗座位"
...
Agent:"好的,记住了您喜欢靠窗座位"
...
你:"帮我订机票"
Agent:"已经为您预订了靠窗座位"
方式二:向量数据库
存储:
- 用户偏好
- 历史任务
- 执行经验
检索:
- 遇到类似任务时
- 查找历史经验
- 改进执行策略
方式三:文件存储
持久化存储:
- 任务记录
- 执行日志
- 学习到的知识
文件格式:
{
"user_preferences": {...},
"task_history": [...],
"learned_patterns": [...]
}
7.3 规划 + 记忆 = 学习能力
第一次执行任务:
规划 → 执行 → 失败
记住经验:
- 哪些步骤有效
- 哪些工具好用
- 什么策略成功
再次执行类似任务:
规划(基于经验)→ 执行 → 成功
Agent 会"越用越聪明"!
八、核心概念六:Agent vs 传统程序 vs 大模型
咱们来对比一下这三者的区别。
8.1 对比表格
| 对比项 | 传统程序 | 大模型 | Agent |
|---|---|---|---|
| 工作方式 | 按代码执行 | 预测下一个词 | 自主规划执行 |
| 能力范围 | 固定功能 | 聊天问答 | 复杂任务 |
| 灵活性 | 低(改代码) | 中(换提示词) | 高(自适应) |
| 工具使用 | 需编程集成 | 不能用 | 动态调用 |
| 记忆能力 | 数据库 | 上下文窗口 | 多种记忆 |
| 适应性 | 无 | 较弱 | 强 |
| 例子 | 计算器 | ChatGPT | AutoGPT |
8.2 举例说明
任务:分析一个数据文件并生成报告
传统程序:
# 需要程序员写代码
def analyze_data(file):
data = read_file(file)
result = calculate(data)
report = generate(result)
return report
# 每次需求变化都要改代码
大模型:
你:"帮我分析这个数据"
AI:"请把数据发给我..."
"根据你提供的数据..."
(只能分析你给它的内容)
Agent:
你:"帮我分析这个数据文件"
Agent:
1. 读取文件(用文件工具)
2. 分析数据(用代码工具)
3. 搜索相关资料(用搜索工具)
4. 生成报告(用大模型)
5. 发送邮件(用邮件工具)
(全自动完成!)
8.3 Agent 的优势
✅ 可以处理复杂任务
✅ 可以自主规划
✅ 可以使用工具
✅ 可以学习和改进
✅ 可以适应新情况
✅ 不需要编程
九、Agent 的实际应用案例
咱们来看几个真实的 Agent 应用。
案例一:个人旅行助手
场景: 帮助用户规划旅行
Agent 的能力:
输入:"帮我规划一个去日本的旅行,预算1万,5天时间"
Agent 执行:
1. 【搜索】查找日本热门目的地
→ 东京、大阪、京都
2. 【查询】查询各地机票价格
→ 找到最便宜的组合
3. 【查询】查询酒店价格
→ 按预算筛选酒店
4. 【搜索】搜索景点推荐
→ 列出必去景点
5. 【规划】规划每日行程
→ 优化路线节省时间
6. 【计算】计算总预算
→ 确保不超标
7. 【生成】生成详细攻略
→ 包含交通、住宿、景点
输出:
"为您规划了5天日本关西之旅:
第一天:飞抵大阪
- 航班:CA123 08:00起飞
- 酒店:大阪喜来登(¥500/晚)
...
【完整攻略已发送到您的邮箱】
【酒店预订链接:xxx】
【景点门票预订:xxx】"
案例二:智能客服 Agent
场景: 自动处理客户问题
Agent 的能力:
客户:"我的订单什么时候到?"
Agent 执行:
1. 【识别】识别客户身份
→ 通过手机号/订单号
2. 【查询】查询订单状态
→ 调用订单系统 API
3. 【查询】查询物流信息
→ 调用物流 API
4. 【分析】分析是否异常
→ 判断是否延迟
5. 【生成】生成回复
→ 根据情况回复
6. 【操作】必要时执行操作
→ 安排退款/补偿
输出:
"您的订单 #12345 已发货:
- 当前位置:北京转运中心
- 预计到达:明天下午3点
如有问题可以联系客服:400-xxx"
案例三:数据分析 Agent
场景: 自动分析业务数据
Agent 的能力:
用户:"分析一下上个月的销售情况"
Agent 执行:
1. 【读取】读取销售数据文件
→ sales_2024_02.csv
2. 【分析】执行数据分析
```python
- 计算总销售额
- 分析产品类别分布
- 找出热销商品
- 对比环比增长
3. 【可视化】生成图表
- 销售趋势图
- 品类占比图
4. 【洞察】生成洞察
- 发现增长点
- 发现问题
5. 【报告】生成分析报告
- 发送到邮箱
输出:
"【2月销售分析报告】
总销售额:¥1,234,567(环比+15%)
- 品类A:¥500,000(占比40%)
- 品类B:¥300,000(占比24%)
关键发现:
✓ 新产品X表现亮眼,单月贡献¥100,000
✓ 华东地区增长最快(+25%)
⚠ 品类C出现下滑(-8%),需要关注
【完整报告已发送至您的邮箱】"
案例四:代码开发 Agent
场景: 辅助程序员开发
Agent 的能力:
用户:"帮我做一个简单的待办事项网站"
Agent 执行:
1. 【规划】规划开发步骤
- 前端页面
- 后端API
- 数据库设计
2. 【编码】生成代码
- HTML/CSS/JavaScript
- Python Flask 后端
- SQLite 数据库
3. 【测试】测试功能
- 运行代码
- 检查错误
4. 【调试】修复问题
- 发现bug
- 修复bug
5. 【部署】部署上线
- 打包应用
- 部署到服务器
输出:
"待办事项网站已完成!
功能:
✓ 添加任务
✓ 标记完成
✓ 删除任务
✓ 数据持久化
十、Agent 的挑战和未来
Agent 虽然强大,但也面临一些挑战。
挑战一:可靠性
问题: Agent 可能会"想错"
例子: 用户:"帮我查股价" Agent 思考:股价?需要查公司信息 Agent 行动:搜索公司官网 (跑偏了!应该直接调用股票API)
解决方案:
-
更好的规划算法 -
人工验证关键步骤 -
多 Agent 协作验证
挑战二:成本
问题: Agent 需要多次调用大模型
传统问答: 用户 → 大模型 → 回答 (1次调用)
Agent: 用户 → 大模型规划 → 执行工具 → 大模型分析 → ... (可能5-10次调用)
成本×5-10倍!
解决方案:
-
使用更小的模型 -
优化规划减少步骤 -
缓存重复操作
挑战三:安全性
问题: Agent 可能会"乱用工具"
危险场景:
-
Agent 意外删除重要文件 -
Agent 发送不该发的邮件 -
Agent 进行错误的支付
解决方案:
-
权限控制 -
关键操作人工确认 -
沙盒环境
挑战四:可解释性
问题: 很难理解 Agent 为什么这么做
用户:"你为什么要这样做?"
Agent:"根据我的规划..."
(但用户可能不理解规划逻辑)
解决方案:
-
输出详细思考过程 -
可视化执行步骤 -
提供决策依据
Agent 的未来
发展趋势:
现在: 单 Agent 简单任务
未来1-2年: 多 Agent 协作
-
专精不同领域的 Agent -
互相配合完成任务
未来3-5年: 自主 Agent
-
完全自主的决策 -
持续学习改进 -
处理复杂任务
未来5-10年: Agent 社会
-
大量 Agent 协作 -
形成 Agent 经济 -
人机共存社会
十一、本文小结
咱们今天主要讲了以下几点:
1. 什么是 Agent
-
Agent = 能自主感知、思考、行动的智能系统 -
Agent = 大模型 + 工具 + 规划 + 记忆 -
从"聊天机器人"到"智能助手"的升级
2. Agent 的四大核心能力
| 能力 | 作用 |
|---|---|
| 感知 | 理解任务 |
| 规划 | 制定计划 |
| 行动 | 使用工具 |
| 记忆 | 记住经验 |
3. Agent 的工作原理 感知 → 规划 → 执行(循环) → 输出
4. Agent 的工具使用
-
搜索工具 -
API 调用 -
代码执行 -
文件操作 -
...
5. Agent vs 传统程序 vs 大模型
-
传统程序:固定功能,需要编程 -
大模型:聊天问答,不能行动 -
Agent:自主执行,灵活适应
6. 实际应用
-
个人旅行助手 -
智能客服 Agent -
数据分析 Agent -
代码开发 Agent
7. 挑战与未来
-
挑战:可靠性、成本、安全性、可解释性 -
未来:多 Agent 协作、自主 Agent、Agent 社会
8. 关键公式
强大的 Agent = 强大的大模型 + 丰富的工具 + 优秀的规划 + 长期记忆
十二、今日思考题
今天留一个思考题:
如果你要设计一个"私人助理 Agent",你会给它配置哪些工具?它能帮你做什么?
提示:
-
你日常有哪些重复性工作? -
哪些任务可以自动化? -
需要什么工具?
欢迎在评论区分享你的想法!
往期推荐:
如果这篇文章对你有帮助,欢迎点赞关注,我会持续用大白话讲解复杂的技术概念!
本文由 mdnice 多平台发布
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)