AI Agent 到底是什么?
从查天气这个小任务,理解模型、工具、状态与决策循环。
学完这一课,你将能够
- 区分聊天、工作流与 Agent
- 认识 Agent 的四个基本部件
- 判断一个任务是否需要 Agent
这节课你会得到什么
你不需要先会 Python,也不需要购买 API。 这节课先建立一张地图:Agent 能做什么,程序负责什么,以及何时不需要 Agent。 后续课程会把地图上的每个部件逐个写出来。
- 能用自己的话解释模型与 Agent 的关系。
- 能区分固定工作流和由模型决定下一步的循环。
- 能给一个具体任务列出输入、工具和完成条件。
从一个真实的小任务开始
假设你说:“周六去杭州,帮我看看要不要带伞。” 一个聊天模型可以根据已有知识写建议,但这不等于它查询了周六的天气。 如果需要最新预报,应用必须接入天气来源。 模型没有因为写出“我正在查询”就真的执行了查询。
一个带工具的应用可以这样完成任务:
- 确认“周六”对应哪一天,以及地点是否明确。
- 选择查询天气的工具,并给出城市和日期。
- 由你的程序校验参数并实际调用天气服务。
- 把天气服务返回的结果交还给模型。
- 模型依据结果回答;如果查询失败,明确说明。
这里,模型负责提出下一步,应用负责执行允许的操作。 两者共同组成一个系统。
Agent 的四个基本部件
| 部件 | 在天气任务里 | 你以后要写的东西 |
|---|---|---|
| 模型 | 理解目标、选择工具、组织回答 | 模型调用适配层 |
| 工具 | 查询指定日期的天气 | 函数与输入校验 |
| 状态 | 地点、日期、已查到的预报 | 消息和执行记录 |
| 控制循环 | 决定继续查询还是结束 | 带预算的循环 |
在本课程中,我们把“模型参与决定行动,并依据行动结果继续决策”的系统称为 Agent。 不同资料对这个词的使用范围不同,学习时重点看控制权在哪里。 一个系统即使没有长期记忆、多个角色或复杂框架,也可以具有这种行为。
聊天、工作流和 Agent
聊天:输入问题,生成回答。应用可以注入上下文,但不一定有外部行动。
工作流:开发者预先规定步骤,例如读取文章 → 总结 → 翻译。 其中某些步骤可以调用模型,但路线主要由程序定义。
Agent:模型根据当前状态选择下一步,例如先查文档,再决定是否需要计算。 自由度越高,越需要检查结果、限制预算和记录过程。
这不是能力等级排名。 如果任务永远是“把表格中的金额求和”,直接写程序通常更明确、更便宜。 如果步骤稳定但语言理解困难,可以把模型放在固定工作流的一个环节。 只有下一步确实需要根据不确定信息调整时,才增加自主决策。
不写代码,也能完成第一次演练
拿一张纸,按下面模板记录天气任务:
目标:给出是否带伞的建议
输入:杭州;明确的出行日期
允许工具:查询天气(只读)
成功标准:回答包含日期、降雨信息、来源与建议
异常分支:地点不明则询问;查询失败则说明缺少依据
停止条件:已有足够证据,或查询达到 2 次然后让自己分别扮演“模型”和“工具”。 模型只能提出工具名称和参数;工具只能返回预先写好的结果。 尝试返回一次成功预报、一次超时和一次不存在的城市。 观察模型是否能在缺少证据时停止,而不是编出一个天气数值。
这份记录就是一个极小的执行轨迹。 第三模块会把它变成真正的 Python 程序。
为什么模型会说错
语言模型依据输入生成后续内容,流畅表达不保证事实正确。 它可能没有最新信息,也可能误解问题或错误使用工具。 接入工具改善了可获取的信息,但工具返回错误时,Agent 仍然可能得出错误结论。 因此,我们会把来源、校验和评估放进开发流程。
练习与验收
选择“查询图书库存”“总结三篇指定文章”或你自己的一个小任务。 写出目标、输入、允许的工具、异常分支和停止条件。
完成后检查:
- 成功标准是否可以让另一个人判断,而不是“回答得很好”?
- 工具失败时是否有明确行为?
- 是否能用固定步骤完成?如果能,先从工作流开始。
验收产物是一份不超过一页的任务说明;本节不要求运行程序。
常见误区
“用了大模型就是 Agent”:关键是系统如何决策和行动,不是是否接入了模型。
“让它一直尝试,总会成功”:没有停止条件会增加成本,也会重复犯错。
“先学完所有框架再开始”:本路线先用普通函数解释机制,再讨论编排框架。
延伸阅读
- Hugging Face:Agent 入门课程,适合建立全局认识。
- Anthropic:Building Effective Agents,重点阅读工作流与 Agent 的区别。
下一课将安装和运行 Python,用最小的代码表示工具和结果。
让这一课,真正成为你的收获
完成练习后标记完成,也可以随时回来复习。
笔记与进度保存在当前浏览器,无需登录