图 06 · 跨会话规划
目标太大、决策不明时,如何跨多个会话推进?
/wayfinder 的决策票据循环:从模糊终点开始,每个会话解决一个关键决策分支,逐步收敛到足够清晰的 spec,才切换到功能流。
/wayfinder 的核心机制
- 映射决策依赖图:哪些决策阻塞其他决策?
- 生成决策票据:每个未知量对应一张可追踪的票据
- 内部使用 {grilling}:通过采访引擎挖掘分支
- 评估折叠阈值:每个会话结束时问:现在足够开始了吗?
折叠阈值 ≠ 所有问题都答完
等待所有问题都有答案再开始构建是一种错觉。折叠阈值是「剩余不确定性不影响开始构建第一个切片」。
明确记录「已知的不知道」(CONTEXT.md 中的剩余未知量),比假装知道更安全,也让后续工单有明确的探索目标。
实例:「改进 TypeScript 实体库的架构」
会话 0(已解决)
决策:strict mode?
→ 是。Audit 显示 97% 的文件可以直接启用。ADR-001 已记录。
解锁:边界划分可以在 strict 约束下进行。
折叠后(切换到图 01)
第一张工单:将 EntityRegistry 模块边界迁移到 strict mode,覆盖 onMount/onUnmount 接口。
这是第一个可验证的切片,而不是「全面迁移」。
线性阅读顺序:大目标 → /wayfinder 映射决策依赖图,生成决策票据板 → 每个会话:选最阻塞的票据 → 使用 {grilling} / {research} / {prototype} 解决 → 解决后更新地图,解锁下游决策 → 重复直到折叠阈值(≥80% 已知,可以开始构建)→ 切换到图 01 功能流,持久化剩余未知量到 CONTEXT.md。