大模型应用
需要为重大架构决策创建新的 ADR 文档时…
当团队做出重要架构选择、需要记录技术决策的理由与权衡时,按标准结构新建一份 Architecture Decision Record。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要为重大架构决策创建新的 ADR 文档通用
解决思路
- Phase 1 确认 ADR 输入:向用户询问起草新 ADR 所需的最少信息——决策标题、决策状态(未定则默认 Proposed)、Context(驱动决策的问题/约束/力量)、Decision(选定的方案)、Consequences(哪些变容易、变难、风险更高或成本更高)
- 确认本次请求是新建 ADR,而不是编辑已有 ADR
- 若文档语言不明确,确认期望的仓库文档语言
- 确认是否需要保留已有的 ADR 命名约定
- 若用户实际想更新已有 ADR、修改旧 ADR 状态或管理取代关系链接,说明本技能只起草新 ADR 文档,并询问是否改为新建一条记录
- Phase 2 发现仓库中的 ADR 约定:搜索可能的 ADR 位置,如 docs/architecture/adr、docs/adr、adr、architecture/adr
- 若已存在 ADR 文件,阅读 1 到 3 个示例,推断编号格式、文件名模式、标题格式、语言与语气
- 若不存在 ADR 目录,推荐使用 docs/architecture/adr
- 尽可能从已有文件确定下一个 ADR 编号
- 若此前没有任何 ADR,从 0001 开始
- 无既有约定时的默认命名:目录 docs/architecture/adr,文件名 NNNN-short-kebab-title.md,标题 # ADR-NNNN: <Decision Title>
- Phase 3 起草 ADR:使用标准结构,包含 # ADR-NNNN: Decision Title、## Status(Proposed)、## Context、## Decision、## Consequences 各节
- 起草规则:标题要具体且以决策为导向
- 记录足够上下文以解释为什么需要该决策
- 清晰直接地记录所选方向
- 在已知时同时包含正面和负面后果
- 不要编造用户未提供的理由、约束或结果
- 若缺少关键信息,插入简洁占位符或在定稿前追问
- Phase 4 与用户评审草稿:写文件前先展示建议的文件路径、建议标题、ADR 状态以及各节草稿的简要预览
- 创建文件前先征求批准;若用户要调整,先修改草稿
- Phase 5 创建 ADR 文件:批准后,若 ADR 目录不存在则创建
- 按仓库既有模式写入 ADR markdown 文件(若有既有模式)
- 在保持文档简洁的同时,尽量保留用户对决策理由的原始措辞
- 报告最终文件路径并总结创建内容
- 创建完新 ADR 文件后即停止,使技能专注于单条新决策记录
- 最佳实践:每份 ADR 只聚焦一个架构决策
- 已有 ADR 时匹配仓库既有的命名、编号与写作风格
- 优先简洁说明而非长篇叙述
- 诚实记录权衡,包括缺点和新风险
- 除非用户确认其他状态,状态默认设为 Proposed
- 文档语言明确时使用仓库偏好的语言
适用边界 · 注意事项
- 仅用于新建 ADR,不适用于更新已有 ADR 文件、状态历史或取代关系链
- 当决策、上下文或后果过于模糊、无法负责任地记录时,不要强行起草,应先追问澄清
- 仓库已使用其他 ADR 位置时,不要强行使用 docs/architecture/adr