Skip to content

Chapter 7 · 用任务分解处理多步逻辑

模型的注意力随上下文长度衰减、随推理步数衰减——这是它的物理特性。把"做 X"换成"先 P 再 Q 再 R",就是把模型从一个长跨度问题降级为多个短跨度问题。

Item 19:把"做 X"改写为"先 P 再 Q 再 R"

一道五步题让 LLM 一次答错的概率,远高于五道一步题。

核心

Plan-and-Solve(arXiv:2305.04091)和 Least-to-Most(arXiv:2205.10625)都证明:把任务显式拆成子步骤、让模型分步回答、前一步答案作为后一步上下文,可显著提升复杂推理与组合泛化。这与 Faith and Fate(arXiv:2305.18654)揭示的"组合推理准确率随步数指数衰减"相对应——分步执行就是把指数变成线性。

Things to Remember

  • 任何 ≥ 3 步的任务都先做"plan"再做"solve"。
  • 每一步的输出做严格校验,不达标重试或回退。
  • Plan 步骤本身可以让另一个更便宜的模型先做。

Item 20:用 LangGraph / 状态机做编排,不要让 LLM 自己规划全流程

Agent 的失败 80% 来自"LLM 决定了不该它决定的流程"。

核心

让 LLM 决定"接下来调用哪个工具"是合理的;让 LLM 决定"我现在应不应该终止"通常是灾难。用确定性的状态机(LangGraph、Inngest、Temporal)规定状态转换、由 LLM 填充状态内的具体动作,是工业级 Agent 的标准结构。

Things to Remember

  • 状态转换 = 程序的职责;状态内动作 = LLM 的职责。
  • 永远给 Agent 加 max_turns 防失控循环。
  • 关键状态("已下单"、"已退款")必须是显式的、可审计的。

Effective LLM