10-workflow-multi-agent 多 Agent 工作流:复杂任务如何拆解和编排

📅 2026/7/9 19:47:41 👁️ 阅读次数 📝 编程学习
10-workflow-multi-agent 多 Agent 工作流:复杂任务如何拆解和编排

LangChain4j 进阶实战:第 10 篇,多 Agent 工作流:复杂任务如何拆解和编排

前言

单个 Agent 能解决很多问题,但不是所有问题都适合让一个 Agent 一口气完成。

比如用户说:

我下周去杭州出差三天,有客户会议,也有半天城市步行,帮我从衣橱里搭几套衣服。

这个任务其实包含很多子任务:

  • 提取时间、地点、场景。
  • 查询天气。
  • 理解会议和步行两个场景的穿搭要求。
  • 检索用户衣橱。
  • 匹配衣服。
  • 组合多套方案。
  • 校验衣服 ID 是否真实存在。
  • 生成最终解释。

如果全部交给一个 Prompt,容易出现几个问题:

  • Prompt 越写越长。
  • 模型漏掉步骤。
  • 工具调用混乱。
  • 输出格式不稳定。
  • 失败后无法定位是哪一步出了问题。

这时候就需要 Workflow,把复杂 AI 任务拆成多个步骤,每个步骤交给合适的 Agent。

1. 什么是 AI Workflow

普通 Agent 调用是:

用户输入 -> Agent -> 输出

Workflow 是:

用户输入 -> Step 1: 场景分析 Agent -> Step 2: 数据检索 Agent -> Step 3: 方案生成 Agent -> Step 4: 结果校验 Agent -> 最终输出

我的理解是:Agent 解决“一个角色如何完成一个任务”,Workflow 解决“多个角色如何协作完成一个流程”。

AI Workflow 和传统工作流不完全一样。传统工作流强调确定性,例如审批、支付、发货;AI Workflow 既有确定性步骤,也有模型生成步骤,所以更要关注上下文传递、结构化输出、失败重试和结果校验。

2. 什么时候需要拆成工作流

不是所有 AI 功能都要上 Workflow。下面这些场景才值得拆:

场景是否建议 Workflow原因
简单问答不建议一个 Agent 足够
单文档总结不一定任务边界清晰
多文档分析建议需要检索、归纳、引用
穿搭推荐建议需要天气、衣橱、场景、输出校验
简历优化建议可拆成提取、匹配、改写、评分
客诉处理建议需要订单、政策、用户画像、处理建议
自动下单/支付必须谨慎涉及写操作和确认

一个简单判断标准:

如果一个 Prompt 里出现了 5 个以上明确步骤,就应该考虑 Workflow。

3. 工作流定义怎么设计

最小工作流定义可以是一个 JSON:

{"version":"1.0","name":"穿搭推荐工作流","description":"根据用户衣橱、天气和场景生成穿搭推荐","steps":[{"id":"scene_analyze","name":"场景分析","agentCode":"scene_analyze_agent","order":1},{"id":"clothing_match","name":"服装匹配","agentCode":"clothing_match_agent","order":2},{"id":"outfit_generate","name":"方案生成","agentCode":"outfit_generate_agent","order":3}]}

对应 Java 对象:

publicclassWorkflowDefinition{privateStringversion;privateStringname;privateStringdescription;privateList<WorkflowStep>steps;publicList<WorkflowStep>getSortedSteps(){returnsteps.stream().sorted(