AI Agent 实战:让大模型真正干活(ReAct + 工具调用)
🎯 本节目标
Section titled “🎯 本节目标”学完这一节,你能:
- 判断客户场景该用 Agent 还是确定性工作流
- 搭一个询价邮件自动处理 Agent(蚂蚁 FDE 访谈原型)
- 加 Human-in-the-loop(低置信度转人工)
🍎 生活化类比
Section titled “🍎 生活化类比”RAG = 查资料回答问题的学生。Agent = 能自己查资料、打电话、填表格办事的实习生。
Agent 多了两样东西:
- 工具调用:能执行动作(发邮件、查数据库、调 API)
- 自主决策:能判断“这步该用哪个工具”“做完没”“要不要重来”
📖 概念讲解
Section titled “📖 概念讲解”Agent vs 工作流:怎么选
Section titled “Agent vs 工作流:怎么选”关键问题:步骤能不能提前写死?
| 能提前写死步骤? | 用什么 |
|---|---|
| 能(固定流程) | 工作流(Dify Workflow / LangGraph 确定图) |
| 不能(AI 要自己判断下一步) | Agent(ReAct / Function Calling 循环) |
FDE 经验:90% 的企业场景该用工作流,Agent 只用于真正需要灵活判断的。盲目上 Agent = 不可控 + 贵。
ReAct 循环
Section titled “ReAct 循环”Agent 的核心是 Reason + Act 循环:
- 思考(Reason):我现在该干嘛?
- 行动(Act):调一个工具
- 观察(Observe):看工具返回什么
- 重复,直到完成
🛠️ 动手实操:询价邮件 Agent(蚂蚁原型)
Section titled “🛠️ 动手实操:询价邮件 Agent(蚂蚁原型)”场景:收到询价邮件 → 抽取产品/数量 → 查库存 → 报价 → 低置信度转人工。
用模块 3 的 LangGraph,完整代码见实战项目目录。核心结构:
# 节点extract_node # 抽取邮件信息inventory_node # 查库存(API 模拟)quote_node # 生成报价human_node # 低置信度转人工审批
# 条件边confidence > 0.8 → 自动报价confidence < 0.8 → 转人工 → 审批后报价✅ 这就是蚂蚁 FDE 访谈里“询价邮件自动处理”的最小生产版。
⚠️ 常见错误
Section titled “⚠️ 常见错误”| 问题 | 原因 | 解决 |
|---|---|---|
| Agent 乱调工具,成本爆炸 | 没限制工具调用次数 | 设 max_iterations,超过就强制返回 |
| Agent 陷入死循环 | 同一步骤反复执行 | 加重复检测,连续 3 次相同动作就退出 |
| 该用工作流却上了 Agent | 以为 Agent 更“高级” | 步骤能写死就用工作流(确定+便宜),Agent 只给真需灵活判断的 |
1. 判断:客户要"按固定 5 步流程处理订单",该用 Agent 还是工作流?
**工作流**。步骤能提前写死,就该用确定性工作流(更稳、更便宜)。Agent 只在"AI 要自己判断下一步"时才用。2. 生产环境 Agent 为什么必须加 HITL?
因为模型会误判。低置信度的决策(如直接扣款、发邮件给客户)必须转人工审批,否则出错无法挽回。HITL 是生产 Agent 的安全网。Agent = RAG + 工具调用 + 自主决策。优先用工作流,灵活判断才上 Agent,生产必须加 HITL。
🏋️ 配套自练
Section titled “🏋️ 配套自练”- CrewAI 入门 — 30k★ 的入门 Agent 框架,<50 行出多 Agent(免费)
- LangGraph Multi-Agent 教程 — 官方多 Agent 协作教程(免费)
- 把本节的“询价邮件 Agent”用 CrewAI 重写一遍,对比和 LangGraph 的差异