AI Agent(智能体)从零开始完整教程(小白也能看懂)
如果你最近关注 AI,一定听过 AI Agent(智能体)——它被称为”AI 的下一个大方向”。ChatGPT 之后大家都在问:AI 能不能不只是”聊天”,而是自己动手把事情办了?
这一篇就用大白话,把 AI Agent 彻底讲清楚:它是什么、怎么运作、和普通 AI 有什么区别,最后带你自己写一个能”思考 + 动手”的 Agent。
一、AI Agent 是什么?用”助手 vs 员工”理解
先区分两个概念:聊天机器人 vs 智能体
普通聊天机器人(Chatbot):
你问一句,它答一句。你说”帮我写首诗”,它写给你。它只动嘴,不动手。
AI Agent(智能体):
你给它一个目标,它能自己规划步骤、调用工具、一步步完成。它不光动嘴,还动手。
比如你让它们”帮我订一张去北京的机票”:
- 聊天机器人:只能告诉你”去携程搜吧”。
- AI Agent:自己打开浏览器 → 搜索航班 → 比价 → 下单 → 告诉你”订好了,航班是 MU5101”。
一句话总结: 聊天机器人回答问题,智能体解决问题。
用”新手员工 vs 老手员工”比喻
- 聊天机器人像只会回答问题的新手员工:你问什么答什么,但不会主动干活。
- AI Agent 像能独当一面的老手员工:你给个目标,它能拆解成任务、自己查资料、用工具、检查结果、反复调整,直到完成。
智能体 = 大模型 + 目标 + 工具 + 记忆 + 规划
二、AI Agent 和 LLM(大模型)是什么关系?
这是新手最容易混淆的。先分清这两个词:
| LLM(大语言模型) | AI Agent(智能体) | |
|---|---|---|
| 是什么 | 一个”会说话的大脑” | 一个”会办事的系统” |
| 例子 | ChatGPT 底层的 GPT-4 | 用 GPT-4 当大脑做成的”订票助手” |
| 能做什么 | 生成文字、理解问题 | 规划、调用工具、完成任务 |
| 类比 | 大脑 | 有大脑 + 手 + 工具的完整的人 |
关键关系:
- LLM 是 Agent 的”大脑”(负责理解、推理、决策)
- 但光有大脑不够——要完成任务,还得有”手”(工具)和”记忆”
打个比方:
- 给你一个天才大脑,但没手没脚没工具,你也订不了机票。
- AI Agent = 天才大脑 + 手(工具)+ 记事本(记忆)+ 一套工作方法(规划)。
所以: LLM 是”会思考”,Agent 是”会思考还会做事”。
三、AI Agent 的四大核心要素
一个完整的 Agent 通常由四部分组成。记住这四个词:模型、工具、记忆、规划。
1. 模型(Brain):Agent 的大脑
就是那个大语言模型(LLM),负责:
- 理解你的目标
- 决定下一步做什么
- 生成回答或调用工具的指令
它不直接做事,它”指挥”做事。
2. 工具(Hands):Agent 的手
工具是 Agent 能”动手”的关键。常见工具:
| 工具类型 | 例子 |
|---|---|
| 网页搜索 | 查最新信息 |
| 代码执行 | 运行 Python、计算 |
| 调用 API | 查天气、查订单 |
| 读写文件 | 生成、修改文档 |
| 操作浏览器 | 自动点击、填表 |
| 数据库 | 查询、更新数据 |
工具是 Agent 和世界交互的”接口”——没有工具,Agent 就退化成只会聊天的模型。
3. 记忆(Memory):Agent 的记事本
Agent 需要记住上下文才能连贯工作:
- 短期记忆:当前这次任务里的对话、中间结果
- 长期记忆:跨任务存储的知识、用户偏好
没有记忆的 Agent 像”每次醒来都失忆”的员工,聊两句就忘了前面在干嘛。
4. 规划(Planning):Agent 的工作方法
Agent 收到目标后,要先拆解成一步步的小任务,再按顺序执行、检查、调整。
比如”写一篇关于咖啡的文章”:
- 搜索咖啡的历史
- 搜索咖啡的品种
- 整理成大纲
- 写正文
- 检查错别字
- 输出
规划能力让 Agent 不是”一锤子买卖”,而是能处理复杂多步任务。
四、ReAct 模式:Agent 怎么”思考+动手”
ReAct 是 AI Agent 最经典的工作模式,名字由 Reason(推理)+ Act(行动)组成。
核心思想: Agent 不是一次性回答,而是思考 → 行动 → 观察结果 → 再思考 → 再行动的循环。
循环开始 ↓思考(Reason):现在该做什么? ↓行动(Act):调用某个工具 ↓观察(Observe):工具返回了什么结果 ↓判断:目标完成了吗? ├─ 没完成 → 回到"思考",继续循环 └─ 完成 → 输出最终结果用一个真实例子走一遍: 用户问”北京现在多少度?“
| 步骤 | 智能体行为 |
|---|---|
| 思考 | 我不知道实时天气,需要查一下 |
| 行动 | 调用”天气查询”工具,参数:beijing |
| 观察 | 工具返回:25°C,晴 |
| 思考 | 数据拿到了,可以回答了 |
| 输出 | ”北京现在 25°C,晴天。” |
如果用户问”北京和上海哪个更热?” Agent 会查两次,比较,再回答——这就是”多步推理”。
ReAct 的价值: 它让 Agent 能根据反馈动态调整,而不是一次猜到底。遇到错误还能重试,这正是智能体比普通聊天更”聪明”的地方。
五、工具调用(Function Calling):Agent 用工具的机制
你可能好奇:Agent 怎么”调用工具”?这里有个关键技术叫 工具调用(Function Calling / Tool Use)。
原理(用大白话)
大模型本身不会真的调用函数。它的做法是:
- 你给模型一份”工具说明书”(有哪些工具、怎么用)
- 模型思考后,输出一段特殊的文字表示”我要调用 XX 工具,参数是 XX”
- 你的程序识别这段文字,真正去执行那个工具
- 把结果返回给模型,模型再继续
# 伪代码示意工具清单 = { "get_weather": "输入城市名,返回天气", "calculate": "输入算式,返回结果", "search": "输入关键词,返回搜索结果",}
模型输出: "我决定调用 get_weather,参数是 beijing"→ 程序执行 get_weather("beijing")→ 得到 "25°C 晴"→ 返回给模型→ 模型组织最终回答所以 Agent 的”工具调用”,本质是: 模型只负责”决定调哪个工具、给什么参数”,真正执行的是你的代码。模型和代码配合,才构成了完整的 Agent。
六、自己动手:用 Python 写一个简单 Agent
理解了原理,我们写一个真实可用的 Agent。为了不依赖付费 API,我们做一个”逻辑演示版”——用一个能查天气 + 计算 + 查时间的小 Agent,完整展示 ReAct 循环。
完整调用真实大模型的版本需要 API Key,这篇先讲清楚”Agent 的骨架”,原理是一样的。
1. 定义工具
import datetime
def get_weather(city): """模拟查询天气(真实项目这里调用天气 API)""" weather_data = { "beijing": "25°C,晴", "shanghai": "28°C,多云", "guangzhou": "31°C,有雨", } return weather_data.get(city.lower(), "查不到这个城市的天气")
def calculate(expression): """计算数学表达式""" try: return str(eval(expression)) except: return "计算失败"
def get_time(): """获取当前时间""" return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 工具注册表:Agent 知道的"能力清单"TOOLS = { "get_weather": {"fn": get_weather, "desc": "查询天气,参数:城市名"}, "calculate": {"fn": calculate, "desc": "数学计算,参数:算式"}, "get_time": {"fn": get_time, "desc": "获取当前时间,无参数"},}2. 写 Agent 主循环
from tools import TOOLS
class SimpleAgent: def __init__(self): # 这里存"对话记忆" self.memory = []
def parse_intent(self, text): """模拟大模型的'思考':根据输入决定调用哪个工具 真实项目里这里是调用 LLM 让它判断""" if "天气" in text: # 提取城市名 for city in ["北京", "上海", "广州", "beijing", "shanghai", "guangzhou"]: if city.lower() in text.lower(): return "get_weather", city.lower() return "get_weather", "beijing" if "时间" in text or "几点" in text: return "get_time", None if any(c in text for c in "+-*/") or "算" in text: return "calculate", text return None, None
def run(self, user_input): """ReAct 循环:思考 → 行动 → 观察 → 回答""" self.memory.append(f"用户: {user_input}")
# 思考:决定调用哪个工具 tool_name, arg = self.parse_intent(user_input)
if tool_name is None: reply = "抱歉,我只能查天气、算数、看时间哦。" else: # 行动:调用工具 tool = TOOLS[tool_name] result = tool["fn"](arg) if arg else tool["fn"]()
# 观察 + 回答 reply = f"(调用了 {tool_name},结果是:{result})\n{result}"
self.memory.append(f"Agent: {reply}") return reply
# 使用if __name__ == "__main__": agent = SimpleAgent() while True: user = input("你: ") if user.lower() in ("exit", "quit"): break print(agent.run(user))3. 运行效果
你: 北京天气怎么样Agent:(调用了 get_weather,结果是:25°C,晴)25°C,晴
你: 3 + 5 * 2 等于多少Agent:(调用了 calculate,结果是:13)13
你: 现在几点Agent:(调用了 get_time,结果是:2026-08-11 10:30:00)2026-08-11 10:30:00看懂了吗? 这个简化版 Agent 演示了核心骨架:
- 记忆:
self.memory记录对话 - 思考:
parse_intent决定调哪个工具(真实项目由 LLM 做) - 行动:执行 TOOLS 里的函数
- 回答:把结果返回给用户
在真实项目里,你只需要把 parse_intent 换成”调用大模型让它判断”,并接上真实的大模型 API,就是一个真正能用的 Agent 了。 骨架完全一样。
七、主流框架和工具
自己从零写 Agent 很累,社区有很多现成框架:
| 框架/工具 | 说明 | 适合 |
|---|---|---|
| LangChain | 最流行的 Agent 框架,封装了模型、工具、记忆、规划 | 想快速搭 Agent 应用 |
| LangGraph | LangChain 的进阶,用”图”精细控制 Agent 流程 | 复杂、可控的工作流 |
| AutoGPT | 早期的”自主 Agent”项目,能自动拆解任务 | 了解概念、学习 |
| OpenAI Assistants / Function Calling | 官方提供的 Agent 能力 | 用 OpenAI 模型 |
| Dify / Coze(扣子) | 可视化拖拽搭 Agent,不用写代码 | 非程序员、快速验证 |
给新手的建议:
- 只想快速做产品、不写代码 → 用 Dify / Coze(扣子)
- 想深入编程 → 从 LangChain 开始,它能帮你把模型、工具、记忆串起来
八、AI Agent 能做什么?应用场景
Agent 的用途非常广,说几个贴近生活的:
1. 个人助手
- 自动整理邮件、安排日程、写周报
- 自动搜索资料、总结文档
2. 客服与销售
- 7×24 小时智能客服,能查订单、办退款、解答问题
- 不只是聊天,能真的操作后台系统
3. 编程助手
- 自动写代码、跑测试、修 bug、提 Pull Request
- 这就是”AI 程序员”的原理
4. 数据分析
- 自动连数据库、写 SQL、出报表、画图表
5. 自动化办公
- 读取 Excel → 处理 → 生成报告 → 发邮件,全自动
本质规律: 凡是”输入明确目标 + 需要调工具 + 多步骤”的工作,都适合 Agent 来做。
九、AI Agent 的局限和注意点
Agent 很强大,但远不是万能的,要清楚它的边界:
- 会犯错、会”幻觉”:模型可能自信地给出错误结果,重要任务要人工审核
- 可能失控:自主执行时,工具调用可能有意外副作用(比如误删数据)——所以要加权限限制和人工确认环节
- 成本高:多次调用模型、反复思考,token 消耗比普通聊天大得多
- 依赖工具质量:工具不好用,Agent 再聪明也白搭
- 规划能力有限:超长、超复杂的任务,Agent 可能规划不好、陷入死循环
安全设计很重要: 和之前 DBX 那篇文章强调的一样,给 Agent 加”只读/生产保护/人工确认”,防止它乱动手。这是把 Agent 用到生产环境的前提。
十、总结
这一篇我们从零认识了 AI Agent:
- 什么是 Agent:给目标自己能规划、调工具、完成任务;聊天机器人回答,智能体解决
- 和 LLM 的关系:LLM 是大脑,Agent = 大脑 + 工具 + 记忆 + 规划
- 四大核心要素:模型(大脑)、工具(手)、记忆(记事本)、规划(工作方法)
- ReAct 模式:思考 → 行动 → 观察 → 再思考的循环
- 工具调用机制:模型决定,代码执行
- 自己动手:用 Python 写了一个能查天气/算数/看时间的小 Agent
- 主流框架:LangChain、LangGraph、Dify、Coze 等
- 应用场景:助手、客服、编程、数据分析、办公自动化
- 局限:会幻觉、可能失控、成本高,需要加权限和人工确认
最后给你一个判断标准: 如果只是”问答”,用普通大模型就行;如果要”让 AI 自己办事”,才需要 Agent。理解了这四要素和 ReAct 循环,你就已经掌握了 AI Agent 的核心本质——剩下的就是用框架和 API 把它做得更强大。
下一步: 先把上面的 Python 例子跑起来感受一下”Agent 骨架”,再用 Dify 或 Coze 拖一个真实的可视化 Agent 试试。跑通一次,你就彻底理解智能体了。