ia-planning

🗺️ 结构化软件规划方法论

结构化软件规划方法论:通过磁盘持久化(.plan/目录)管理多文件复杂变更,降低实现成本,防止上下文丢失。

收藏
3k
安装
1.1k
版本
4.1.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心定位

ia-planning 是一套面向 AI 辅助软件开发的轻量级规划方法论,核心解决「上下文窗口有限 vs. 复杂任务需要持久记忆」的矛盾。它将文件系统视为磁盘(持久、无限),对话上下文视为 RAM(易失、受限),强制将重要决策写入磁盘。

核心用法

1. 何时规划(When to Plan)

  • 完整规划(.plan/ 目录):多文件变更、新功能、重构、>5 次工具调用
  • 扁平清单(内联任务列表):3-5 文件变更、范围清晰、无需调研
  • 跳过规划:原子级任务(单 commit、无设计决策、无范围边界争议),如「修复 README 第 47 行错别字」

关键启发:许多「看起来原子」的请求实际隐藏设计决策——如「给端点加缓存」涉及 TTL、失效策略、键设计,必须写计划。

2. 目标质量门控(Goal Quality Gate)

执行规划前必须通过 5 问检验:
1. 完成时什么具体事物将为真?(命名产物、系统状态、用户可见行为)

2. 什么证据能证明它?(具体测试、命令、截图、指标)

3. 量化的成功阈值是什么?

4. 哪些范围边界重要?(明确包含/排除)

5. 哪些决策必须问用户而非 AI 决定?

拒绝纯活动目标(「取得进展」「继续调研」),必须转化为可验证结果。

3. 规划文件结构

通过 init-plan.sh "Feature Name" 生成:

  • .plan/task_plan.md:阶段、任务、决策、错误
  • .plan/findings.md:调研发现、代码分析
  • .plan/progress.md:会话日志、测试结果、变更文件

重要区分.plan/ 是临时工作状态(不提交),docs/plans/ 是正式规划文档(需提交)。

4. 计划模板核心要素

  • Scope:明确 In/Out 边界
  • File Structure:全量文件映射(创建/修改)+ 单行职责说明
  • 分阶段(Phase):每阶段 5-8 文件上限、2 小时内可完成、独立可交付
  • 执行姿态(Posture):test-first / characterization-first / external-delegate
  • 零占位符规则:禁止 "TBD"/"TODO"/"类似上文",每个任务必须自包含(具体文件路径、代码模式、命令)

5. 垂直切片 vs. 水平切片

  • 垂直切片:按用户可见能力分解(如「用户可以登录」同时触及 UI/API/DB),每片独立可演示
  • 水平切片:按技术分层(「建完所有模型」)在计划中被禁止——零价值交付直至全部完成

6. 决策权限分配

  • AI 决定:技术实现细节(语言、框架、架构、库、命名、测试策略、错误处理)
  • 用户决定:影响用户体验的权衡(范围裁剪、UX 选择、数据模型约束未来产品选项)

启发式:改变用户体验 → 问用户;改变代码工作方式 → AI 决定。

显著优点

1. 上下文安全:通过磁盘持久化防止长会话中的记忆丢失,支持会话中断后无缝恢复
2. 成本优化:规划 token 成本远低于实现 token,前置思考减少返工

3. 强制清晰:5 问门控和零占位符规则消除模糊目标导致的无效工作

4. 可追溯性:SHA 记录(Task 1.1 abc1234``)和偏差文档化建立计划→代码的信任链

5. 弹性执行:支持子代理并行(external-delegate)或主会话串行执行

潜在局限

1. 仪式开销:小任务可能感觉「过度规划」,作者明确承认「薄规划对小工作是轻度仪式」作为权衡
2. 学习曲线:需要掌握垂直切片、执行姿态、门控检查等概念,新手易混淆 .plan/docs/plans/ 的用法区别

3. 工具依赖:依赖 init-plan.sh 和特定目录结构,非 Unix 环境或禁 shell 场景需适配

4. 「弱目标」识别主观:虽然提供 5 问框架,但「是否比『修复第 47 行错别字』更模糊」的判断仍需经验

适合人群

  • 使用 AI 编码助手处理多文件复杂变更的开发者
  • 需要中断/恢复长周期功能的团队(支持编号中间文件如 01-setup.md
  • 追求计划→实现→验证闭环而非即兴编码的工程文化
  • 需要并行执行(多子代理)的复杂项目协调者

常规风险

  • 计划漂移:实现偏离计划时若未文档化偏差(**Deviation**: ...),将破坏协调者信任
  • 过度工程:忽视「跳过规划」条件,对真正原子的任务仍创建 .plan/ 结构
  • 范围蔓延:未严格执行「无镀金」规则,在计划中偷偷加入非需求功能
  • 恢复失败:会话恢复时未按流程读取 .plan/progress.md → 检查完成状态 → 审阅当前阶段,导致重复或遗漏工作

ia-planning 内容

references文件夹
scripts文件夹
手动下载zip · 14.2 kB
operational-patterns.mdtext/markdown
请选择文件