EP11. 架构驱动生成技能
🏛️ 四个专精单元与打破沉默默认值
上一集:无架构生成为何危险,ASR 与 ADR 如何锚定模糊文档。
本集打开 .opencode/skills/*/SKILL.md 下四个核心技能——各有原则与硬约束。
1. adr-writing:「为何这样决定」
- 核心规则:
1 ADR file = 1 concern
此处的 ADR 不限于软件「Architecture Decision Record」——而是 Any Decision Record:报告开篇、幻灯片流程、任何影响制品的结构选择。
- 禁止假选项: 偏心的「稻草人 B 衬托 A」不允许。2–3 个选项须真实、权衡均衡。
- 禁止散文墙: 长叙述埋没决策。每选项名称 + 2–4 条精炼要点,便于一眼比较。
- 批准关卡: 新 ADR 在
adr/中以proposed起步;用户明确批准("好,选 B")后才变approved——审计轨迹。
2. spec-writing:「我们约定要建什么」
- 核心规则:
Self-containment
ADR 定案后,spec-writing 写最终蓝图。一份 Spec 文件须足够说明建什么、怎么建。
- Spec 内禁止引用 ADR: 像 「见 adr/01-database.md」 的链接禁止。ADR 是 为何 的历史;Spec 是当下的 是什么——只写定稿需求,不写幕后辩论。
- 可验证要点: 一条要点 = 一条需求或约束——核验可明确通过/失败。
3. spec-driven-generation:「按蓝图建造」
- 核心规则:
Spec is the only constitution and authority
输出文本或代码——但在生成前知道何时停。
🛑 ASR 就绪关卡
"现在就出结果,别设计" 会触发关卡。不生成,而是要求就八个通用 ASR 类别做架构决策:
八个通用 ASR 类别: ① 目的与受众,② 制品形态,③ 范围边界,④ 质量门槛,⑤ 约束,⑥ 结构与构成,⑦ 集成与依赖,⑧ 流程与阶段
若首条提示与后续 Spec 冲突,Spec 永远优先——深思熟虑的蓝图才是真意图。
4. spec-driven-verification:「对照蓝图」
- 核心规则:
Dual-purpose verification (Deviation & Undocumented ASR)
生成后进入显微镜模式:是否匹配 Spec(Deviation)?AI 是否加了未声明结构(Undocumented ASR)?
- Deviation: Violates explicit spec (e.g. "PostgreSQL" but MongoDB used) → [must fix]
- Undocumented ASR: Not in spec but present in output (e.g. AI-added subsection) → [user choice]
🧐 处理 Undocumented ASR
AI 即兴不总错——有时更好。罪在于不经用户知情就黑箱化。核验报告写入 verification/,并问:确认?更新 Spec?修复?
📊 四技能摘要矩阵
| 技能 | 核心角色 | 输出路径 | 硬性禁止 |
|---|---|---|---|
adr-writing | 按关切列备选与决策 | adr/{concern-slug}.md | 假选项、散文式长文 |
spec-writing | 将已批决策合并为一份蓝图 | spec/{requirement-slug}.md | Spec 内引用 ADR |
spec-driven-generation | 仅从定稿 Spec 生成 | Artifact body files | 无 Spec 即生成(须过关卡) |
spec-driven-verification | Spec 匹配 + 未记录结构扫描 | verification/{requirement-slug}.md | 未经用户确认即修复 |
🎬 下期预告
ADR → Spec → Generation → Verification 可灵活用于任何制品。
若领域高度特定且重复——幻灯片、博客系列?与其每次都审八个通用类别,不如当场铸造专用技能。
下一集:generating-skill-creation——把架构本身技能化的元引擎。
「谁掌握架构,谁就掌握输出主权。最好的架构应编码为自动化技能。」
本系列介绍 Cocrates Harness 框架。Cocrates 是为苏格拉底式对话设计的智能体 Harness,让用户保持主体性并持续成长。