悟空技巧四:分步执行,用 Planning 思维驾驭复杂任务

Wukong Tip #4: Step-by-Step Execution for Complex Tasks

当你让悟空「设计一个高并发电商系统架构」或「重构这段 500 行的遗留代码」时,你是否遇到过这样的崩溃时刻:

AI 洋洋洒洒生成了两千字,前半部分逻辑严密,后半部分开始胡言乱语;或者它给出了一个看似完美的方案,但当你深入细节时,发现核心链路的设计完全是幻觉,根本无法落地。

试图让 AI 一口吃成胖子,是复杂任务失败的头号原因。

在前面的文章中,我们分别解决了 需求模糊格式返工风格不对齐 的问题。但这些都是针对「单次交互」的优化。

当面对多步骤、长链条、高复杂度的任务时,单次 Prompt 往往会突破 AI 的注意力窗口或推理能力上限,导致逻辑断裂或幻觉。

今天,我们探讨技巧四:如何通过「分步执行」,用 Planning 思维驾驭复杂任务,确保每一步都稳扎稳打。

🎯 核心问题:为什么复杂任务容易翻车?

大语言模型(LLM)的本质是基于概率的下一个 Token 预测。当任务链条过长时,模型面临两个物理限制:

  1. 注意力衰减(Attention Decay):随着生成内容的增加,模型对早期上下文(如核心约束、初始目标)的注意力会逐渐稀释,导致「顾头不顾尾」。
  2. 误差累积(Error Accumulation):如果第一步的推理有 5% 的偏差,第二步基于错误的前提继续推理,偏差会呈指数级放大,最终导致结果完全不可用。

解决思路:把大任务拆解为小步骤,步步为营。

这在 AI Agent 领域被称为 Plan-and-Solve 模式。通过强制 AI 先制定计划(Planning),再分步执行(Execution),可以显著提升推理的准确率和可控性。

🧩 核心理念:分步执行(Step-by-Step)

不要试图用一个 Prompt 搞定复杂任务。先拆解计划,确认无误后,再按步骤逐一执行。

标准 Prompt 模式

"这是一个复杂任务:[任务描述]。
请不要直接给出最终结果。

第一步:请先将任务拆解为 N 个具体的执行步骤,列出详细的执行计划。
第二步:等我确认计划后,我们再按顺序逐步执行。每完成一步,请暂停等待我的反馈。"

🛠️ 实战案例

案例一:系统架构设计

❌ 错误做法(一次性生成)

“帮我设计一个支持百万级并发的电商秒杀系统架构,包括前端、网关、服务层、数据库和缓存。”

结果:AI 可能会生成一篇泛泛而谈的「八股文」,涵盖了所有组件但缺乏深度,或者在数据库分库分表策略上产生幻觉。

✅ 分步执行

“我需要设计一个支持百万级并发的电商秒杀系统。这是一个复杂任务,请不要直接给出完整方案。

第一步:请将设计过程拆解为合理的步骤(如需求分析、核心链路设计、技术选型、容量规划、容灾方案等),并列出执行计划。 第二步:等我确认计划后,我们再逐步展开。”

执行过程

  1. AI 输出计划
    Step 1: 核心需求与约束分析(QPS 预估、库存一致性要求、防刷策略)
    Step 2: 整体架构分层设计(接入层、服务层、存储层)
    Step 3: 核心链路详细设计(秒杀请求流转、库存扣减逻辑)
    Step 4: 关键技术选型与理由(Redis Lua vs DB 乐观锁、消息队列削峰)
    Step 5: 容灾与降级方案
    
  2. 用户确认:“计划没问题,请先执行 Step 1。”
  3. AI 执行 Step 1:输出详细的需求分析。
  4. 用户反馈:“Step 1 很好,但 QPS 预估偏保守,请按 200 万 QPS 重新调整。确认后执行 Step 2。”

结果:每一步都经过用户审核和纠偏,最终方案精准、可落地,且完全符合业务约束。

案例二:遗留代码重构

❌ 错误做法

“重构这段 500 行的 Python 代码,让它更 Pythonic 并修复所有 Bug。”

结果:AI 可能会修改了函数名但引入了新的逻辑错误,或者遗漏了边界条件的处理。

✅ 分步执行

“这段代码逻辑复杂且缺乏测试。请不要直接重写。

第一步:分析现有代码逻辑,识别主要的「坏味道」(Code Smells)和潜在 Bug。 第二步:为关键逻辑编写单元测试用例(确保重构不破坏功能)。 第三步:基于测试结果,分模块进行重构(提取函数、优化命名、类型注解)。

请先输出第一步的分析报告。”

结果:通过「先测试、后重构」的分步策略,确保了重构的安全性。即使 AI 在某一步出错,也能立即被测试用例拦截,避免灾难性后果。

🧠 为什么分步执行有效?

  1. 强制思维链(Chain of Thought):让 AI 先输出计划,本质上是强制它展示推理过程(CoT)。研究表明,CoT 能显著提升 LLM 在复杂推理任务上的准确率。
  2. 降低上下文压力:分步执行减少了单次生成的 Token 消耗,避免 AI 因注意力窗口过载而丢失关键约束。
  3. Human-in-the-loop(人在回路):在关键节点(Checkpoint)介入纠偏,确保方向始终正确。一旦发现偏差,只需回退一步,而非全盘推翻。

🔄 与前三个技巧的组合

技巧四提供了 流程框架(Process),前三个技巧是 填充物(Execution)

┌─────────────────────────────────────────────────────────┐
│              复杂任务分步执行工作流                      │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1. 任务拆解(技巧四)                                   │
│     AI 输出执行计划 → 用户确认步骤                        │
│     ↓                                                   │
│  2. 步骤 N 执行循环                                      │
│     ├─ 提问澄清(技巧一):AI 确认该步骤的细节             │
│     ├─ 交付物定义(技巧二):明确该步骤的输出格式          │
│     ├─ 示例对齐(技巧三):提供参考样例对齐风格            │
│     └─ AI 生成 → 用户 Review → 进入下一步                │
│                                                         │
└─────────────────────────────────────────────────────────┘

实战建议

  • 何时使用分步执行?
    • 任务涉及多个独立模块或阶段(如架构设计、长文写作)。
    • 任务对准确性要求极高(如代码重构、数据分析)。
    • 任务包含大量隐含约束,需要逐步确认。
  • 步骤粒度如何控制?
    • 太粗(如 2 步):失去分步的意义,容易翻车。
    • 太细(如 20 步):交互成本过高,效率低下。
    • 建议:一般拆解为 4-6 个关键步骤,每个步骤对应一个可验证的交付物。

🚀 进阶用法

变体一:自动分步(Auto-Step)

如果你不想手动控制每一步,可以让 AI 自动分步执行,但在关键节点暂停。

“请按照你制定的计划逐步执行。每完成一个步骤,请输出该步骤的结果,并暂停等待我的确认。只有在我回复’继续’后,才执行下一步。”

变体二:并行分支(Parallel Branching)

对于相互独立的子任务,可以让 AI 并行处理。

“Step 2 和 Step 3 是相互独立的。请同时输出这两个步骤的方案,我会分别审核。”


分步执行看似增加了交互次数,但实际上大幅减少了返工时间。对于复杂任务,一次性生成的失败率极高,往往需要反复推倒重来。而分步执行虽然前期多花了 2 分钟拆解计划,但确保了每一步都走在正确的轨道上,最终交付质量远超预期。

下一篇 悟空技巧五:迭代优化 将讨论当 AI 首次输出只有 70% 满意时,如何通过结构化反馈精准推到 100%,完成 AI 协作的最后一块拼图。


你在处理复杂任务时,是如何拆解步骤的?有没有遇到过 AI「顾头不顾尾」的翻车现场?欢迎留言讨论。


See also