第4章 Agent不是魔法,它只是个聪明点的程序
前三章把Python环境装好了,语法也过了。从这一章开始,我们正式进入Agent的世界。很多人觉得Agent很玄乎——"自主智能体"、"AI助理"、"下一代的软件形态"……各种高大上的词往外蹦。这一章,我们把Agent从神坛上请下来。它不是什么黑科技,它只是一个聪明点的程序。
4.1 朋友圈里的"Agent"和真Agent,差在哪?
4.1.1 这个词已经被用烂了
打开任何一个AI产品的官网,你大概率会看到"Agent"这个词。自动回复的客服叫Agent,帮你排日程的插件叫Agent,连一个定时发邮件的脚本都敢叫自己Agent。
那到底什么才算真正的Agent?
我们先说一个最简单的判断标准:
如果你告诉它"做什么",它只会做这一件事——那它不叫Agent,叫"自动化脚本"。
如果你告诉它"目标",它自己想办法、做决定、调用工具来完成——这才叫Agent。
举个具体的例子。你有一个"每天早上8点给我发今日天气"的需求:
自动化脚本的做法:
1. 写一个定时任务
2. 到8点,调用天气API
3. 把返回结果发给你它只能做你规定好的这一件事。你让它"顺便提醒我今天要带伞",它做不到——你没写这个逻辑。
Agent的做法:
1. 你告诉Agent目标:"每天早上提醒我出门要带什么"
2. Agent自己决定:
- 需要查天气(调用天气API)
- 需要看你的日程(读取日历)
- 如果下雨 → 提醒带伞
- 如果有户外会议 → 建议涂防晒
- 如果降温 → 提醒带外套
3. 它还会根据你的反馈调整——你说"伞的提醒不用了",下次就不提了Agent和脚本的核心区别:脚本走的是固定流程,Agent走的是自主决策。
4.1.2 Agent的四个必备能力
判断一个系统是不是真正的Agent,看它有没有这四项能力:
| 能力 | 什么意思 | 没有会怎样 |
|---|---|---|
| 感知 | 能接收输入、理解上下文 | 你跟它说了半天,它当没听见 |
| 规划 | 能把大目标拆成小步骤 | 你说"帮我安排出差",它直接懵了 |
| 行动 | 能调用工具、执行操作 | 永远只给你建议,从不动手 |
| 反思 | 能检查结果、调整策略 | 做错了也不知道改,一直错下去 |
缺任何一项,都不是完整意义上的Agent。 市面上很多标榜"AI Agent"的产品,其实只有"感知+简单行动",缺了规划和反思。这种我们后面会讲到,叫"半吊子Agent"。
4.2 传统程序走流程,Agent走"想法"
4.2.1 一个订餐的例子
用传统程序和Agent分别实现"帮我订个晚餐",差别一目了然。
传统程序:
python
def order_dinner(cuisine, budget, time):
# 第1步:查可用餐厅
restaurants = search_restaurants(cuisine, budget)
# 第2步:挑第一个
chosen = restaurants[0]
# 第3步:下单
place_order(chosen, time)
return f"已为您在{chosen}订餐,时间{time}"这个程序的逻辑是你写死的。你规定了"挑第一个餐厅"——即使第一个餐厅评分只有2星,它也会订。
Agent:
你:帮我订个晚餐,要清淡一点的,不用太贵
Agent:
1. 理解目标:清淡、不贵、晚餐时间
2. 搜索附近餐厅
3. 筛选:评分高 + 清淡口味 + 人均合理
4. 发现三家合适的,根据你的历史偏好(你上周点过粤菜),推荐粤菜馆
5. 你确认后,自动下单
6. 发现配送费有点贵,换成了到店自取,省了15块关键区别:传统程序是"把规则写到代码里",Agent是"理解目标后自己想办法"。
4.2.2 "不确定性"是Agent的特性,不是bug
传统程序追求"确定性"——同样的输入,永远得到同样的输出。
Agent正好相反——同样的目标,它可能每次走不同的路径。
比如同样是"帮我查天气",Agent可能:
- 第一次:直接调天气API
- 第二次:发现你问的是"明天适不适合跑步",先去查了你的运动偏好,再结合天气和空气质量给了综合建议
这是好事。 说明Agent在"思考",在根据上下文调整。你雇一个助理,也不希望他每次都像个机器人一样只做你字面意思上的那件事——你希望他"理解你真正的意图"。
4.3 Agent是怎么一步步变聪明的?
4.3.1 从ELIZA到GPT-4
Agent不是一夜之间出现的。它的进化史,就是AI一步步获得"感知→规划→行动→反思"能力的过程。
| 时代 | 代表 | 能做什么 | 缺什么 |
|---|---|---|---|
| 1960s | ELIZA | 模式匹配,假装聊天 | 没有任何真正理解 |
| 1990s | 专家系统 | 按规则推理 | 规则靠人写,换个领域就废了 |
| 2010s | Siri/Alexa | 语音识别+简单指令 | 只能执行预设命令,不会规划 |
| 2020 | GPT-3 | 能理解自然语言,"很会聊" | 只会说不会做,没有工具 |
| 2022 | ChatGPT | 更好的对话+一些插件 | 工具调用还很弱 |
| 现在 | AI Agent | 理解+规划+行动+反思 | 稳定性、安全性还在完善中 |
4.3.2 三个拐点
Agent真正走向实用的三个关键拐点:
拐点一:LLM变聪明了。 以前的AI你问它"帮我安排明天的行程",它连你要干嘛都听不懂。现在的LLM不仅能听懂,还能帮你拆分步骤、做决策。
拐点二:AI能调用工具了。 Function Calling让AI不再只能"说",它可以真正去查数据库、调API、执行代码。这是Agent从"聊天玩具"到"能干活的助手"最关键的一步。
拐点三:记忆变长了。 早期模型上下文窗口只有几千token,聊几句就忘了前面说了什么。现在几十万token的上下文,Agent能记住整个项目的对话历史、你的偏好、之前的决策。
4.4 你的Agent适合哪种"工种"?
不是所有Agent都是全能的。根据应用场景,Agent大致分成几类:
4.4.1 对话型Agent
做什么:跟人聊天、回答问、提供建议。 典型场景:智能客服、法律咨询助手、教育辅导。 核心能力:感知(理解用户意图)+ 简单行动(查询知识库)。 限制:一般不做复杂任务执行,偏"参谋"角色。
4.4.2 任务型Agent
做什么:接收目标,自主规划步骤,调用工具完成任务。 典型场景:自动化运维、数据分析、代码生成。 核心能力:规划 + 行动为主,反思能力决定了任务完成质量。 特点:这是本书重点讲的类型——真正能干活的那种。
4.4.3 协作型Agent
做什么:多个Agent分工协作,每人管一块。 典型场景:软件开发团队(一个写代码、一个审代码、一个写测试)、多部门数据整合分析。 核心能力:每个Agent有自己的角色和职责,需要通信和协作机制。 特点:这个第9章会详细展开。
4.4.4 陪伴型Agent
做什么:记住你的习惯、偏好,提供个性化服务。 典型场景:个人助理、健康管家、学习伴侣。 核心能力:长期记忆 + 情景记忆为主。 特点:不强调复杂的任务执行,强调"懂你"。
4.5 本章小结
这一章我们给Agent"祛魅"了:
- Agent不是什么魔法:它只是同时具备了感知、规划、行动、反思四项能力的程序。市面上一堆产品喊自己Agent,缺了规划和反思的,最多算半吊子。
- Agent和传统程序完全不同:传统程序走固定流程,Agent根据目标自主决策。不确定性不是缺陷,是特性。
- Agent是进化来的:从ELIZA到GPT-4,三大拐点(LLM变聪明、能调工具、记忆变长)让Agent从玩具变成了生产力。
- Agent也分"工种":对话型、任务型、协作型、陪伴型。本书重点讲任务型——真能干活的那种。
✅ 知识点检查
学完这一章,试试回答这几个问题:
- [ ] 一个真正的Agent必须具备哪四项能力?缺了哪一项就不算完整?
- [ ] 传统程序和Agent的核心区别是什么?用订餐的例子说明。
- [ ] Agent进化史上三个关键拐点分别是什么?
- [ ] 任务型Agent和对话型Agent最大的不同在哪?
📚 延伸阅读
- 《Building AI Agents》 — Lilian Weng 的博客,Agent领域最经典的文章之一
- LangChain 官方文档 Agent 章节:https://docs.langchain.com
- 本书配套源码:关注公众号「图解AI系列」免费领取
🎯 下一章预告
第5章,我们给Agent装一个大脑——
"LLM是怎么想事情的?看完这一章,你就知道Agent的'思考'到底是怎么回事。"

