design-refinement
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDesign Refinement
设计细化
非自明なtaskでは、質問を作る前にprojectを読む。
目的はuserを大量の質問でinterviewすることではなく、read relentlessly, ask minimally を実行し、implementationが暗黙のassumptionに依存しない状態へすることである。
对于非平凡的任务,在拟定问题之前先阅读项目。
目标不是用大量问题对用户进行访谈,而是贯彻 read relentlessly, ask minimally(持续阅读,尽量少提问),确保实现不依赖隐含的假设。
1. Read before asking
1. 提问前先阅读
最低限、taskに関係するものを必要な範囲で確認する。
- current user request / Issue / acceptance criteria
- project-wide policy / canonical architecture / invariants
- design / specification
- relevant ADR
- relevant project-local Skills / operational docs
- relevant existing implementationを複数箇所
- tests / fixtures / schemas / contracts
- Git history / PR discussion when current codeだけではdecision intentが分からない場合
- framework/runtime/API/toolのcurrent official documentation when version-sensitive
- domain vocabulary / glossary when存在する場合
最初に見つけたfile、会話上の印象、一般的なbest practiceだけでproject intentを補完しない。
至少在必要范围内检查与任务相关的内容。
- 当前用户请求 / Issue / 验收标准
- 项目级策略 / 规范架构 / 不变量
- 设计 / 规格说明
- 相关 ADR
- 相关项目本地 Skills / 操作文档
- 多个位置的相关现有实现
- 测试 / fixtures / schemas / contracts
- 当仅凭当前代码无法理解决策意图时,查阅 Git history / PR discussion
- 对版本敏感的 framework/runtime/API/tool 当前官方文档
- 存在时的领域词汇 / 术语表
不要仅凭最先找到的文件、对话中的印象或通用最佳实践来补全项目意图。
2. Factとdecisionを分離する
2. 分离事实与决策
発見したunknownを少なくとも次へ分類する。
将发现的未知事项至少分为以下几类。
Fact
事实(Fact)
repository、official source、実行可能なprobe、既存system stateから調査できるもの。
例:
- 現在のAPI behavior
- existing naming/layout convention
- framework/runtime capability
- schema shape
- test coverage
- current release/branch state
Factは原則としてagentが調査して解決する。userへ質問しない。
可以从仓库、官方来源、可执行的 probe 或现有系统状态中调查得到的内容。
示例:
- 当前 API 行为
- 现有命名 / 布局约定
- framework/runtime 能力
- schema 结构
- 测试覆盖率
- 当前 release/branch 状态
事实原则上应由 Agent 调查并解决,不向用户提问。
Determined decision
已确定决策(Determined decision)
engineering-decisionsreversibleで局所的、acceptance criteriaやpublic contract等を変えない場合はagentが決めて進む。
根据 的优先级和项目证据可以实质上唯一确定的内容。
engineering-decisions如果决策是可逆且局部的,并且不会改变验收标准或 public contract 等内容,则由 Agent 决定并继续推进。
Unresolved consequential decision
未解决且影响重大的决策(Unresolved consequential decision)
evidenceを読んでも複数のmeaningful optionが残り、選択によってproduct semantics、architecture、public contract、risk、cost、release scope等が変わるもの。
user escalation候補はこのcategoryに限定する。
即使阅读了证据,仍然存在多个有意义的选项,且选择会改变产品语义、架构、public contract、风险、成本或发布范围等内容。
只有此类决策才应作为向用户升级的候选。
3. Assumptionをhidden stateにしない
3. 不让假设成为隐藏状态
implementationを成立させるために必要だがevidenceで確定していない前提を検出する。
特に確認する:
- user-visible behavior
- domain semantics
- ownership / responsibility boundary
- source of truth
- persistence / lifecycle
- failure behavior
- compatibility / migration
- security / privacy / permission
- performance / cost budget
- release / rollout behavior
「おそらくこうだろう」でimplementationへ進まず、factなら調査し、decisionならdecision graphへ入れる。
检测实现成立所必需、但无法由证据确定的假设。
尤其需要确认:
- 用户可见行为
- 领域语义
- 所有权 / 职责边界
- 事实源
- 持久化 / 生命周期
- 失败行为
- 兼容性 / 迁移
- 安全 / 隐私 / 权限
- 性能 / 成本预算
- 发布 / 推出行为
不要以“大概如此”为由直接进入实现;如果内容属于事实,则进行调查;如果内容属于决策,则将其加入决策图。
4. Decision dependency graph
4. 决策依赖图
unresolved decisionに依存関係がある場合、平坦な質問listにしない。
例:
text
A: canonical source of truth
├─ B: conflict resolution behavior
└─ C: offline/cache policy
└─ D: stale-data UXB/C/Dの回答がAに依存するなら、Aが未確定な状態で下流質問をuserへ投げない。
各decision nodeは必要に応じて:
- question / decision statement
- known evidence
- alternatives
- consequences
- dependency
- recommended option
- escalation reason
を持つ。
如果未解决的决策之间存在依赖关系,不要将其整理成扁平的问题列表。
示例:
text
A: canonical source of truth
├─ B: conflict resolution behavior
└─ C: offline/cache policy
└─ D: stale-data UX如果 B/C/D 的回答依赖 A,就不要在 A 尚未确定时向用户提出下游问题。
每个决策节点根据需要包含:
- 问题 / 决策陈述
- 已知证据
- 备选方案
- 后果
- 依赖关系
- 推荐方案
- 升级原因
5. Ask only the decision frontier
5. 只询问决策前沿
現在回答可能で、未解決の上流decisionを持たないnodeだけをdecision frontierとする。
userへ質問するのは、そのfrontierのうち のescalation criteriaに該当するものだけに限定する。
engineering-decisions質問時は単なる「A/Bどちらですか」ではなく、可能な範囲で:
- 既に確認したevidence
- 残った選択肢
- 各選択肢のmeaningful consequence
- agentの推奨案と理由
を簡潔に示す。
複数decisionが独立しており一度に答えられる場合はまとめてよい。依存しているdecisionを先読みして大量質問しない。
只有当前可以回答,并且不存在未解决上游决策的节点,才构成决策前沿。
向用户提问时,仅限决策前沿中符合 升级标准的节点。
engineering-decisions提问时,不要只问“A 还是 B”,而应在可能的情况下简要说明:
- 已确认的证据
- 剩余的选项
- 每个选项的重大影响
- Agent 的推荐方案及理由
如果多个决策相互独立且可以一次性回答,可以一并提出。不要提前询问存在依赖关系的决策,从而产生大量问题。
6. Stop condition
6. 停止条件
次を満たしたらrefinementを終了し、planning / ticketization / implementationへ進む。
- task scopeとacceptance criteriaが実装可能な粒度で明確
- relevant factが調査済み、または明示的なexternal blockerとして特定済み
- consequential unresolved decisionが残っていない
- implementationを左右するhidden assumptionが残っていない
- decision resultが必要なcanonical locationへ反映されている
すべてを完全仕様化することは目的ではない。implementationを安全に開始するために必要なuncertaintyだけを解消する。
满足以下条件后,结束细化并进入规划 / 工单拆分 / 实现阶段。
- 任务范围和验收标准已清晰到可以实现的粒度
- 相关事实均已调查,或已明确识别为外部阻塞项
- 不存在尚未解决且影响重大的决策
- 不存在会影响实现的隐藏假设
- 决策结果已反映到相应的权威位置
目标不是将所有内容完全规格化,而是只消除安全开始实现所必需的未知事项。
7. Persist selectively
7. 选择性持久化
long-lived valueを持つdecisionやdomain knowledgeだけをrepository-controlled stateへ永続化する。
候補:
- design / specification
- ADR
- project-local Skill
- architecture / development docs
- domain glossary / domain context
- schema / contract / test
次は通常永続化しない。
- formatter等が決める自明なchoice
- 一時的な調査結果
- reversibleな局所implementation detail
- conversationでのみ意味を持つ説明
- private chain-of-thought
domain vocabularyが複雑で複数contributor/agentの共通理解に価値がある場合は、projectに適したglossary/domain contextを作成・更新する。固定の file名や独立documentを全projectへ強制しない。
CONTEXT.md仅将具有长期价值的决策或领域知识持久化到由仓库管理的状态中。
候选内容包括:
- 设计 / 规格说明
- ADR
- 项目本地 Skill
- 架构 / 开发文档
- 领域术语表 / 领域上下文
- schema / contract / test
以下内容通常不应持久化:
- 由 formatter 等决定的显而易见选项
- 临时调查结果
- 可逆且局部的实现细节
- 仅在对话中有意义的说明
- 私有思维链
如果领域词汇复杂,并且对于多个 contributor/Agent 形成共同理解具有价值,则创建或更新适合该项目的术语表 / 领域上下文。不要对所有项目强制使用固定的 文件名或独立文档。
CONTEXT.md8. Relationship with engineering-decisions
8. 与 engineering-decisions 的关系
このSkillは を置き換えない。
engineering-decisions- : implementation前にunknown / assumption / decision dependencyを発見し、質問対象を絞る
design-refinement - : 発見されたdecisionをproject evidenceのprecedenceで自律決定するかuser escalationするか判定する
engineering-decisions
原則:
text
inspect evidence
-> classify facts / decisions
-> investigate facts
-> resolve determined decisions
-> build unresolved decision graph
-> ask only consequential frontier
-> persist significant results
-> plan / implement这个 Skill 不会取代 。
engineering-decisions- :在实现前发现未知事项、假设和决策依赖关系,并缩小提问范围
design-refinement - :根据项目证据的优先级,判断发现的决策应由 Agent 自主决定,还是升级给用户
engineering-decisions
原则:
text
inspect evidence
-> classify facts / decisions
-> investigate facts
-> resolve determined decisions
-> build unresolved decision graph
-> ask only consequential frontier
-> persist significant results
-> plan / implement