跳转到内容

AI Agent 实战:让大模型真正干活(ReAct + 工具调用)

学完这一节,你能:

  • 判断客户场景该用 Agent 还是确定性工作流
  • 搭一个询价邮件自动处理 Agent(蚂蚁 FDE 访谈原型)
  • Human-in-the-loop(低置信度转人工)

RAG = 查资料回答问题的学生。Agent = 能自己查资料、打电话、填表格办事的实习生。

Agent 多了两样东西:

  1. 工具调用:能执行动作(发邮件、查数据库、调 API)
  2. 自主决策:能判断“这步该用哪个工具”“做完没”“要不要重来”

关键问题:步骤能不能提前写死?

能提前写死步骤? 用什么
能(固定流程) 工作流(Dify Workflow / LangGraph 确定图)
不能(AI 要自己判断下一步) Agent(ReAct / Function Calling 循环)

FDE 经验:90% 的企业场景该用工作流,Agent 只用于真正需要灵活判断的。盲目上 Agent = 不可控 + 贵。

Agent 的核心是 Reason + Act 循环:

  1. 思考(Reason):我现在该干嘛?
  2. 行动(Act):调一个工具
  3. 观察(Observe):看工具返回什么
  4. 重复,直到完成

🛠️ 动手实操:询价邮件 Agent(蚂蚁原型)

Section titled “🛠️ 动手实操:询价邮件 Agent(蚂蚁原型)”

场景:收到询价邮件 → 抽取产品/数量 → 查库存 → 报价 → 低置信度转人工

用模块 3 的 LangGraph,完整代码见实战项目目录。核心结构:

# 节点
extract_node # 抽取邮件信息
inventory_node # 查库存(API 模拟)
quote_node # 生成报价
human_node # 低置信度转人工审批
# 条件边
confidence > 0.8 → 自动报价
confidence < 0.8 → 转人工 → 审批后报价

✅ 这就是蚂蚁 FDE 访谈里“询价邮件自动处理”的最小生产版。

问题 原因 解决
Agent 乱调工具,成本爆炸 没限制工具调用次数 设 max_iterations,超过就强制返回
Agent 陷入死循环 同一步骤反复执行 加重复检测,连续 3 次相同动作就退出
该用工作流却上了 Agent 以为 Agent 更“高级” 步骤能写死就用工作流(确定+便宜),Agent 只给真需灵活判断的
1. 判断:客户要"按固定 5 步流程处理订单",该用 Agent 还是工作流? **工作流**。步骤能提前写死,就该用确定性工作流(更稳、更便宜)。Agent 只在"AI 要自己判断下一步"时才用。
2. 生产环境 Agent 为什么必须加 HITL? 因为模型会误判。低置信度的决策(如直接扣款、发邮件给客户)必须转人工审批,否则出错无法挽回。HITL 是生产 Agent 的安全网。

Agent = RAG + 工具调用 + 自主决策。优先用工作流,灵活判断才上 Agent,生产必须加 HITL。

  • CrewAI 入门 — 30k★ 的入门 Agent 框架,<50 行出多 Agent(免费)
  • LangGraph Multi-Agent 教程 — 官方多 Agent 协作教程(免费)
  • 把本节的“询价邮件 Agent”用 CrewAI 重写一遍,对比和 LangGraph 的差异

← 上一节:RAG 进阶 | 下一节:评估方法论