人人都会AI编程

4.2.2 复杂需求分步拆解方法

更新时间:2026-06-30

面对复杂需求时,一次性输入大段描述往往导致生成代码遗漏边界条件、结构混乱,甚至遗漏关键异常处理。将需求拆成多轮递进式指令,利用 CodeBuddy 的上下文记忆能力(见 3.2.3),能让结果更可控、更可审查。

核心原则:先骨架,后血肉;先主干,后分支。

四步拆解法

  1. 定目标与约束

首轮对话只交代背景、输入输出和限制条件,不要求直接写完整代码。
示例:
> "我要加一个 Koa2 的用户权限校验中间件。需要校验 JWT,区分 admin 和 user 角色,无效 token 返回 401,无权限返回 403。请先给出实现思路和大致步骤,不要写代码。"

  1. 确认框架与接口

基于 AI 给出的思路,锁定函数签名、文件位置和核心依赖,避免后续生成偏离预期。
示例:
> "按上面思路,先写中间件的核心骨架:函数名为 authMiddleware,接收 ctxnext,引入 jsonwebtoken。先只写基础结构、类型定义和注释占位。"

  1. 分模块实现细节

每轮聚焦一个子功能,逐步填充。
示例(第二轮):
> "在骨架基础上,实现 JWT 解析与过期校验逻辑,使用 SECRET_KEY 环境变量,过期或签名错误时返回 401。"
示例(第三轮):
> "继续补充角色校验:从 token 中读取 role 字段,若当前路由需要 admin 而 role 为 user,返回 403。"

  1. 整合与边界加固

最后要求 AI 将前面所有代码合并,并补充错误处理、日志或测试。
示例:
> "把前面几步的代码整合成最终版,补充 Authorization 头缺失的异常处理,并给这个中间件写两个 Jest 测试用例。"

实用技巧

  • 先伪代码再实现:逻辑特别复杂时,先让 AI 输出伪代码或流程图,你确认无误后再说"请将上述逻辑转为正式代码",可减少返工。
  • 善用文件引用:涉及跨文件修改时,每轮用 @文件@目录(见 3.4.1、3.4.2)锚定上下文,避免 AI 凭记忆虚构文件路径或接口名。
  • 及时纠偏:若某一步生成偏离预期,立即在当前轮指出"第二步不需要做缓存,请去掉 Redis 相关逻辑",上下文窗口会持续累积正确认知,降低后续偏差。

避坑提醒
不要在一个提示词里堆砌"实现一个带限流、熔断、日志、缓存、权限校验的用户服务"这类全能需求。拆成多次后,每轮代码量适中,你审查和调试的成本也会显著降低。