本页目录5
这个考点是什么
任务分解(task decomposition)考的是:面对一个复杂目标,应该把它拆成几步、拆分方式在写代码时就定死,还是留给运行时的 LLM 自己判断。
Anthropic 在《Building Effective Agents》中把这类多步 LLM 系统统称为 agentic systems,并按控制流归属分成两类:workflow 是「LLM 和工具通过预定义的代码路径被编排」,agent 则是「LLM 动态地主导自己的流程和工具使用,自行决定如何完成任务、何时结束」。这条分界线只看控制权在谁手里,和调用了几次模型、部署在哪、用不用工具或 MCP 都无关。
在 workflow 一侧,文章给出五种可组合的模式,都建立在 augmented LLM(具备检索、工具、记忆能力的单次调用)之上:
-
prompt chaining把任务拆成有先后依赖的固定步骤链式执行; -
routing先对输入分类再分发到专门路径; -
parallelization把任务拆成互不依赖的子任务并发执行(sectioning)或让同一任务跑多份取共识(voting); -
orchestrator-workers由一个中央 LLM 在运行时动态决定拆成哪些子任务并派发给 worker;evaluator-optimizer则是生成—评估—反馈的迭代循环。
这个考点的核心是:分解策略的选择要看任务本身的性质——子任务边界能否在写代码时就确定、子任务之间是否存在数据依赖、是否需要迭代打磨——而不是死记模式名字对应哪句话。Anthropic 也强调应从最简单的方案开始,只有当它明确提升效果时才引入更复杂的分解或自主性。
为什么考
这个考点常以「给一段场景描述,让你判断该用哪种分解模式」的形式出题,而不是直接考定义背诵。
典型出题角度包括:
-
根据子任务能否在运行前预先列出,区分
orchestrator-workers与parallelization; -
根据子任务之间是否存在前后数据依赖,区分
prompt chaining与parallelization(sectioning); -
根据是否存在「生成—评估」反馈循环识别
evaluator-optimizer; -
以及给出 workflow vs agent 的定义,用调用次数、托管位置、MCP 依赖等编造条件做干扰项。
还有一类「事故排查」式题目,考的是分解错误的根因定位——例如协调者把子任务拆得过窄导致覆盖不全,根源在分解阶段本身,而非下游执行是否正确。
核心辨析
- 1
workflow 与 agent 的唯一判据是控制流的主导方
预定义代码路径、步骤由开发者写死是 workflow,LLM 在运行时自主决定流程和工具使用是 agent。调用次数、是否部署在服务端、是否使用工具或 MCP 都不是判定标准,题目常用这些编造条件做干扰项。
- 2
orchestrator-workers与parallelization都会把任务拆给多个执行者,区别在于子任务集合能否在运行前预先定义:能预先固定拆分的是parallelization,拆分方式本身由中央 LLM 根据具体输入动态决定的才是orchestrator-workers。 - 3
prompt chaining与parallelization(sectioning)都涉及多步骤,但 chaining 的关键是后一步消费前一步的输出,存在顺序数据依赖;若各子任务互不依赖、只是并发执行后合并结果,即使描述里用了「链」这种字眼,本质仍是parallelization。 - 4
evaluator-optimizer的判定关键不是「有没有第二次调用」,而是是否存在明确的评估标准、且针对同一产出反复生成—评估—修订直至满足标准;只是简单分两步生成和检查、不循环打磨,不构成这一模式。 - 5
routing是先对输入分类、再整体转交给某个专门路径处理,分类之后该分支不会再被继续拆分或并发执行;若题干描述的是「分类后又并发处理多个子部分」,应重新判断是否叠加了parallelization,而非直接套用单一模式。 - 6
场景类题目考的是从描述中抽象出决策特征(子任务边界能否预知、是否有数据依赖、是否需要迭代反馈),而不是记住关键词映射;分解出错的根因也可能出在分解阶段本身(如协调者拆分范围过窄),而不是下游执行是否正确。
反模式对照
用调用了几次 LLM、是否部署在服务端、是否依赖 MCP 来区分 workflow 和 agent
只看控制流的主导方:预定义代码路径决定流程是 workflow,LLM 自主决定流程和工具使用是 agent
这条分界线只讲控制权归属,题目里凡是在此之外附加的条件(调用次数、托管位置、MCP)都是编造的干扰项。
只要看到「中央 LLM + 多个子任务」就判为 orchestrator-workers
先问子任务集合能否在运行前预先定义:能预先固定的是 parallelization,拆分本身由运行时 LLM 动态决定的才是 orchestrator-workers
这是两者的核心区分点;协调者把范围拆得过窄导致覆盖不全,根因也在这一步而非下游执行。
把互不依赖、只是结果被合并的并行子任务称为 prompt chaining
chaining 的本质是后一步消费前一步的输出,存在顺序数据依赖;互不依赖、可同时执行的子任务应识别为 parallelization(sectioning)
判定 chaining 必须能具体指出「谁消费了谁的输出」,否则只是术语上的牵强套用。
客户一次提出多个独立诉求时,继续逐条串行处理或丢给一个笼统的单一环节兜底
把独立诉求拆成不同调查项,基于共享上下文并发处理,再汇总成统一回复
独立、无先后依赖的子任务是 parallelization 的典型适用场景,并发能把总耗时压到接近最长单项的时长,而非各项耗时之和。
练这个考点
练习模式支持按考点专练(需 Google 登录,不占用正式考机会)。
专练考点 1.6该考点的公开题(免登录,含完整解析):
- In Anthropic's engineering guidance on building effective agents, what best distinguishes …
- Anthropic's "Building Effective Agents" describes several composable workflow patterns bui…
- What is the key architectural difference between the orchestrator-workers workflow and the…
- A team builds a literary-translation feature: one Claude call produces a draft translation…
- A customer contacts your support agent about three issues in a single message: a billing c…