用 AI 写代码时,你是不是总在这四个坑里打转?
每个 Skill 就像一个有明确职责的团队成员。点开看看它干什么。
5 个核心 Skill 的精确输入输出。搞懂这个,才能把它们串起来。
自由发散阶段。你抛出一个想法,Agent 不停追问,直到每个分支都有结论。
带代码库上下文的追问。比 grill-me 更强:它还能更新 CONTEXT.md 和写 ADR。
把对话沉淀成结构化 PRD。包含六个必填部分。
用一次性代码回答一个具体问题。分两条路走。
逐条行为写测试,再写实现。每次只走一颗"追踪弹"。
点"播放"看五个 Skill 依次发言,前一个的输出变成后一个的输入。
Breadboarding 不写代码,它画地图。用表格说清楚"有什么"和"怎么连"。
一个 Place 就是一个有边界的交互场景。比如"搜索页"、"结果列表"。
用户能看到的、能操作的。按钮、输入框、列表、标签页。
用户看不到但系统在做的。函数调用、订阅、状态写入。
一个操作触发了哪个下一步。这是控制流的方向。
数据从哪里来、回哪里去。这是数据流的方向。
| Place | 描述 |
|---|---|
| SearchPage | 用户输入搜索词的页面 |
| ResultsList | 展示搜索结果的列表 |
| Place | Affordance | 类型 |
|---|---|---|
| SearchPage | searchInput | 输入框 |
| SearchPage | submitButton | 按钮 |
| ResultsList | resultCards | 列表 |
| ResultsList | loadingSpinner | 加载指示 |
| Place | Affordance | 类型 |
|---|---|---|
| SearchPage | activeQuery.next() | BehaviorSubject 发射 |
| ResultsList | performSearch() | API 调用 |
| ResultsList | searchStore.results | Store 写入 |
点"播放"看数据从用户输入流到界面更新。
表格才是真相。Mermaid 图只是给人看的可视化。Breadboarding 的核心产出是结构化表格,不是流程图。
Breadboarding 和 Prototype 最容易搞混。一个是画地图,一个是搭模型。
先画地图,再搭模型。Breadboarding 先把系统结构理清,Prototype 再验证结构是否正确。
它们覆盖范围重叠(都涉及 UI + Code),但方法不同(描述 vs 实验)。
把下面的概念拖到正确的类别里。
Skill 不是孤立的。它们像乐高一样拼起来,但拼法有讲究。
⚠️ 问题:prototype 可能发现 PRD 里的假设是错的,需要回头改 PRD。
grill-with-docs 是 grill-me 的超集。它不仅能追问,还能对照代码库追问,还能更新 CONTEXT.md 和写 ADR。大多数场景下直接用 grill-with-docs 就够了。
针对 PM 角色定制的三套实战流程。选场景,照着走。
从零开始做新功能。先自由发散,再逐步收敛,最后落地。
在已有代码库上做修改。跳过自由发散,直接带上下文对齐。
线上出了问题。先诊断,再修复,最后回归测试。
Skill 是积木,工作流是拼法。搞懂每个 Skill 的输入输出,你就知道怎么拼。
Breadboarding 是地图,Prototype 是模型。先画地图再搭模型,效率最高。
迭代不是失败,是设计。每个回头箭头都是学习的机会。