Skip to content

20. Agent 与 Workflow 中工具调用的差异是什么? ​

难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min

本题阅读地图 ​

  1. 💡 简要回答
  2. 📝 详细解析
  3. 🎯 面试总结

👔面试官:Agent 与 Workflow 中工具调用的差异是什么?

🙋‍♂️我:Agent 是模型决定调什么,Workflow 是固定流程。

👔面试官:对,但还有更具体的:决策方式、错误处理、可观测性、灵活性。Workflow 工具调用是预定义节点,Agent 是动态决策。你能展开吗?

🙋‍♂️我:Workflow 更可控,Agent 更灵活?

👔面试官:对,但 Workflow 也可以有动态分支(条件路由)。关键是:Agent 的工具选择是模型实时决策,Workflow 的工具调用是开发者预定义(即使是条件分支,条件也是开发者写的)。这个边界要清楚。

💡 简要回答 ​

维度WorkflowAgent
决策方式开发者预定义节点和顺序模型实时决策调什么工具
灵活性确定性强,按流程执行动态适应,根据中间结果调整
错误处理预定义重试、兜底逻辑需要模型理解错误并决策下一步
可观测性节点级清晰决策路径可能不确定
适用场景固定流程、强可控开放任务、需要动态决策

核心差异:Workflow 的工具调用是开发者预定义的;Agent 的工具选择是模型实时决策的。

📝 详细解析 ​

Workflow 的工具调用 ​

预定义节点:

节点1:查订单 → 节点2:判断状态 → 节点3a:发货 / 节点3b:退款

特点:

  • 每个节点调什么工具,是开发者写死的
  • 条件分支(if/else)也是开发者预定义
  • 模型只在特定节点做简单判断(如分类)

优势:

  • 可控、可预测
  • 错误处理逻辑明确
  • 易于审计和调试

Agent 的工具调用 ​

动态决策:

用户问题 → 模型:需要查天气 → 调用 weather_tool → 模型:还需要查路线 → 调用 map_tool → ...

特点:

  • 模型自主决定调什么工具
  • 根据工具返回结果,决定下一步
  • 决策路径不固定

优势:

  • 灵活,适应开放任务
  • 能处理未预见的场景

挑战:

  • 需要治理(步数上限、循环检测)
  • 可观测性要求高
  • 出错时调试困难

混合模式 ​

实际项目中常混合使用:

  • Workflow 做主框架,固定节点清晰可控
  • 在特定节点接入 Agent,处理开放子任务

🎯 面试总结 ​

核心差异:预定义 vs 动态决策。Workflow 可控,Agent 灵活,生产环境常混合使用。


章节首页 · ← Q19 · Q21 →

最后更新2026-05-01
难度P1
频率medium
阅读5 min
主题agent / tool-use
觉得有帮助?把这个链接转给正在求职的朋友 · 用 Ctrl + K 全站搜索其它题