uxos 1.0.14 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +170 -0
  2. package/_uxos/create-product-brief/config.yaml +18 -0
  3. package/_uxos/create-product-brief/product-brief.template.md +10 -0
  4. package/_uxos/create-product-brief/steps/step-01-init.md +177 -0
  5. package/_uxos/create-product-brief/steps/step-01b-continue.md +161 -0
  6. package/_uxos/create-product-brief/steps/step-02-vision.md +196 -0
  7. package/_uxos/create-product-brief/steps/step-03-users.md +199 -0
  8. package/_uxos/create-product-brief/steps/step-04-metrics.md +202 -0
  9. package/_uxos/create-product-brief/steps/step-05-scope.md +216 -0
  10. package/_uxos/create-product-brief/steps/step-06-complete.md +194 -0
  11. package/_uxos/create-product-brief/workflow.md +58 -0
  12. package/_uxos/init/init.md +26 -0
  13. package/_uxos/memory-engine/data/assets-template.md +96 -0
  14. package/_uxos/memory-engine/data/context-template.md +69 -0
  15. package/_uxos/memory-engine/data/decisions-template.md +89 -0
  16. package/_uxos/memory-engine/data/personas/_index-template.md +33 -0
  17. package/_uxos/memory-engine/data/personas/role-template.md +47 -0
  18. package/_uxos/memory-engine/data/update-memory-template.md +160 -0
  19. package/_uxos/memory-engine/data/uxos-index-template.md +103 -0
  20. package/_uxos/memory-engine/ing/TODO-/344/277/256/346/224/271/346/270/205/345/215/225.md +278 -0
  21. package/_uxos/memory-engine/ing/context.md +113 -0
  22. package/_uxos/memory-engine/ing/decisions-new.md +1008 -0
  23. package/_uxos/memory-engine/ing/decisions.md +1029 -0
  24. package/_uxos/memory-engine/steps/step-01-discovery.md +119 -0
  25. package/_uxos/memory-engine/steps/step-02-evaluation.md +128 -0
  26. package/_uxos/memory-engine/steps/step-03-supplement.md +176 -0
  27. package/_uxos/memory-engine/steps/step-04-generate.md +282 -0
  28. package/_uxos/memory-engine/steps/step-05-finalize.md +175 -0
  29. package/_uxos/memory-engine/workflow.md +95 -0
  30. package/cli.js +190 -26
  31. package/package.json +29 -13
  32. package/config/user-template.yaml +0 -3
  33. package/templates/test-template.md +0 -18
  34. package/templates/test2-template.md +0 -12
  35. package/workflows/init.md +0 -10
  36. package/workflows/step1.md +0 -8
  37. package/workflows/step2.md +0 -8
@@ -0,0 +1,1029 @@
1
+ ---
2
+ description: 完整设计决策记录。当讨论设计方案选择、决策调整、历史决策依据,或核心文件中的决策信息不足以支撑判断时读取此规则。
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # Memory-Engine 设计决策记录
7
+
8
+ > 记录设计过程中的关键决策,包含问题背景、决策内容和演变过程。
9
+
10
+ ---
11
+
12
+ ## 版本历史
13
+
14
+ | 版本 | 日期 | 主要变化 |
15
+ |------|------|----------|
16
+ | 0.1.0 | 2026-01-08 | 初始设计:基础架构、信息收集策略、推导粒度控制 |
17
+ | 0.2.0 | 2026-01-08 | 交互优化:文件链接格式、严格访谈模板、强制等待用户选择 |
18
+ | 0.3.0 | 2026-01-08 | 自动化完善:检索路径过滤、扩展文件检测标准、时间精度 |
19
+ | 0.4.0 | 2026-01-08 | 技术方案修正:可点击选项使用 ask_followup_question 工具 |
20
+ | 0.5.0 | 2026-01-09 | 交互简化:改用数字序号引导,移除可点击选项依赖 |
21
+ | 0.6.0 | 2026-01-09 | 鲁棒性提升:取消 .md → .md 两阶段,直接生成 .md |
22
+ | 0.7.0 | 2026-01-09 | 更新流程优化:增量修改而非重写,新增 update-guide.md |
23
+ | 0.8.0 | 2026-01-09 | 决策区分:明确区分项目特征和用户决策,修复初始化时凭空编造决策的问题 |
24
+ | 0.9.0 | 2026-01-09 | 隐式署名:多位置嵌入作者信息,防止篡改 |
25
+ | 0.10.0 | 2026-01-09 | 添加宣发文档:提供使用反馈渠道 |
26
+ | 0.11.0 | 2026-01-09 | 系统性审查:修复矛盾、优化描述 |
27
+ | 0.13.0 | 2026-01-09 | 修复信息判断逻辑和输出格式问题 |
28
+ | 0.12.0 | 2026-01-09 | 深度审查:XML 策略优化、文件结构精简、错误处理完善 |
29
+ | 0.14.0 | 2026-01-09 | 修复 brief.md 决策部分被瞎编的问题 |
30
+ | 0.15.0 | 2026-01-19 | 文件后缀优化:.mdc → .md 提升编辑器预览体验 |
31
+ | 0.17.0 | 2026-01-20 | 性能优化:最小化检索策略 + 用户画像推导标签 |
32
+
33
+ ---
34
+
35
+ ## 快速索引
36
+
37
+ | # | 决策 | 核心要点 | 类别 | 版本 |
38
+ |---|------|----------|------|------|
39
+ | [1](#decision-1) | 信息收集策略 | 三选项初始化 | 流程 | 0.1.0 |
40
+ | [2](#decision-2) | 推导粒度控制 | 职业级别/功能级别 | 推导 | 0.1.0 |
41
+ | [3](#decision-3) | 两阶段后缀策略 | .md → .md | 流程 | 0.1.0 |
42
+ | [4](#decision-4) | 可点击选项 | ask_followup_question 工具 | 交互 | 0.1.0 |
43
+ | [5](#decision-5) | 分层 References | SKILL.md + references/ | 架构 | 0.1.0 |
44
+ | [6](#decision-6) | 多源信息收集 | 文档 + 对话历史 | 收集 | 0.1.0 |
45
+ | [7](#decision-7) | 文件链接格式 | 反引号 + 相对路径 | 交互 | 0.2.0 |
46
+ | [8](#decision-8) | 扩展文件自动生成 | 检测到自动生成,无需询问 | 自动化 | 0.2.0 |
47
+ | [9](#decision-9) | 严格访谈模板 | 只问3个必要问题,≤50字 | 交互 | 0.2.0 |
48
+ | [10](#decision-10) | 强制等待用户选择 | critical 标签禁止自作主张 | 交互 | 0.2.0 |
49
+ | [11](#decision-11) | 检索路径过滤 | 排除 .codebuddy/ 等目录 | 收集 | 0.3.0 |
50
+ | [12](#decision-12) | 扩展文件检测标准 | 3+决策/检测到设计系统 | 自动化 | 0.3.0 |
51
+ | [13](#decision-13) | 时间精度 | YYYY-MM-DD HH:mm | 规范 | 0.3.0 |
52
+ | [14](#decision-14) | 可点击选项强制约束 | 添加 critical 标签和指导文件 | 交互 | 0.4.0 |
53
+ | [15](#decision-15) | 可点击选项技术方案修正 | 使用 ask_followup_question 工具 | 交互 | 0.4.0 |
54
+ | [16](#decision-16) | 数字序号替代可点击选项 | 改用数字序号引导,跨 IDE 兼容 | 交互 | 0.5.0 |
55
+ | [17](#decision-17) | 直接生成 .md | 取消两阶段,直接生成 .md 立即生效 | 流程 | 0.6.0 |
56
+ | [18](#decision-18) | 增量更新策略 | 使用 replace_in_file 定点修改 | 更新 | 0.7.0 |
57
+ | [19](#decision-19) | 字数限制调整 | 从 700 字调整为 1000-2000 字 | 规范 | 0.7.0 |
58
+ | [20](#decision-20) | 项目特征 vs 用户决策 | 初始化时只记录初始化决策 | 规范 | 0.8.0 |
59
+ | [21](#decision-21) | 隐式署名机制 | 多位置嵌入作者信息,防止篡改 | 安全 | 0.9.0 |
60
+ | [22](#decision-22) | 用户支持文档 | 添加宣发介绍和反馈渠道 | 支持 | 0.10.0 |
61
+ | [23](#decision-23) | 系统性审查 | 修复矛盾、优化描述、精简结构 | 规范 | 0.11.0 |
62
+ | [24](#decision-24) | 深度审查与优化 | XML 策略优化、结构精简、错误处理 | 规范 | 0.12.0 |
63
+ | [25](#decision-25) | 模板文件保留 .md 后缀 | 模板需展示完整 frontmatter,文件名 -template 已表明是模板 | 架构 | 0.12.0 |
64
+ | [26](#decision-26) | 修复 Step 2 重复读取 | Step 2 直接跳转 Step 4,避免重复读取 reasoning-guide | 流程 | 0.12.0 |
65
+ | [27](#decision-27) | 信息判断逻辑修复 | 明确"或"关系、强制模板输出、可点击链接 | 修复 | 0.13.0 |
66
+ | [28](#decision-28) | brief 决策部分强制约束 | 用 critical 替代 HTML 注释,防止 AI 瞎编决策 | 修复 | 0.14.0 |
67
+
68
+ | [29](#decision-29) | 文件后缀优化 | .mdc → .md 提升编辑器预览体验 | 体验 | 0.15.0 |
69
+ | [30](#decision-30) | SKILL 转 BMAD 工作流 | 从 CodeBuddy Skill 架构转为 BMAD 工作流架构 | 架构 | 0.16.0 |
70
+ | [31](#decision-31) | 用户画像独立文件 | 新增 personas/ 目录,每个角色一个独立画像文件 | 架构 | 0.16.0 |
71
+ | [32](#decision-32) | 信息收集逻辑优化 | 竞品或产品价值二选一,支持灵活输入 | 流程 | 0.16.0 |
72
+ | [33](#decision-33) | 生成前确认机制 | 推导后展示理解,用户确认后再生成文件 | 流程 | 0.16.0 |
73
+ | [34](#decision-34) | context.md 精简 | 精简为概览页,详细信息分散到其他文件 | 架构 | 0.16.0 |
74
+ | [35](#decision-35) | Step-01 最小化检索 | 限制检索次数 ≤5 次,空项目 < 5 秒初始化 | 性能 | 0.17.0 |
75
+ | [36](#decision-36) | 用户画像推导标签 | frontmatter 和文件头添加推导提示 | 体验 | 0.17.0 |
76
+ ---
77
+
78
+ ## 决策详情
79
+
80
+ ### 1. 信息收集策略 {#decision-1}
81
+
82
+ **问题**:用户初始化时,项目可能有文档也可能为空,如何平衡"获取足够信息"和"减少用户负担"?
83
+
84
+ **决策**:
85
+ - 必要信息齐全 → 直接生成
86
+ - 必要信息不齐全 → 提供 3 个选项:
87
+ 1. 放入资料让 AI 读取
88
+ 2. 通过对话快速创建
89
+ 3. 直接创建,缺失标注 `[待补充]`
90
+
91
+ **依据**:减少交互摩擦,灵活适配不同场景
92
+
93
+ ---
94
+
95
+ ### 2. 推导粒度控制 {#decision-2}
96
+
97
+ **问题**:从有限信息推导上下文时,推导多细才合适?
98
+
99
+ **决策**:
100
+ - ✅ 推导到:职业类型、功能级别
101
+ - ❌ 不推导:子功能、界面细节、技术架构
102
+
103
+ **依据**:过度推导容易猜错,职业/功能级别足以支撑协作
104
+
105
+ **替代方案**:
106
+ - 推导到界面级别 → 未采用:偏差太大
107
+ - 不做推导 → 未采用:信息量不足
108
+
109
+ ---
110
+
111
+ ### 3. 两阶段后缀策略 {#decision-3}
112
+
113
+ **问题**:记忆引擎内容影响所有后续协作,如何确保准确性?
114
+
115
+ **决策**:
116
+ 1. 生成 `.md` 预览 → 用户审阅
117
+ 2. 确认后重命名 `.md` → 正式生效
118
+
119
+ **依据**:推导可能有误,必须让用户确认后再固化
120
+
121
+ ---
122
+
123
+ ### 4. 可点击选项 {#decision-4}
124
+
125
+ **问题**:用户选择分支时手动输入增加摩擦
126
+
127
+ **决策**:使用 `ask_followup_question` 工具生成可点击按钮
128
+
129
+ **依据**:点击比打字更快,避免输入歧义("好"/"确认"/"OK")
130
+
131
+ **技术方案**:
132
+ ```javascript
133
+ ask_followup_question({
134
+ question: "请选择初始化方式:",
135
+ options: "[\"选项1\", \"选项2\", \"选项3\"]"
136
+ });
137
+ ```
138
+
139
+ ---
140
+
141
+ ### 5. 分层 References {#decision-5}
142
+
143
+ **问题**:SKILL.md 包含所有逻辑会导致上下文占用过大
144
+
145
+ **决策**:
146
+ - `SKILL.md`:精简为流程框架
147
+ - `references/`:存放详细指南,按需加载
148
+ - `interview-guide.md`:访谈模板
149
+ - `reasoning-guide.md`:推导逻辑
150
+ - `*-template.md`:输出模板
151
+
152
+ **依据**:按需加载减少上下文占用,职责分离易于维护
153
+
154
+ ---
155
+
156
+ ### 6. 多源信息收集 {#decision-6}
157
+
158
+ **问题**:只检索项目文件会遗漏对话中提到的信息
159
+
160
+ **决策**:同时检索两个来源:
161
+ 1. 项目文件夹文档
162
+ 2. 当前对话历史
163
+
164
+ **依据**:不遗漏有效信息,减少重复询问
165
+
166
+ ---
167
+
168
+ ### 7. 文件链接格式 ⚡ {#decision-7}
169
+
170
+ **时间**:2026-01-08 19:00
171
+
172
+ **问题**:生成的文件链接在 IDE 对话框中无法点击
173
+
174
+ **测试过程**:
175
+
176
+ | 格式 | 结果 |
177
+ |---|------|
178
+ | 纯文本路径 | ❌ 不可点击 |
179
+ | 带括号纯文本 | ❌ 不可点击 |
180
+ | 反引号 + 相对路径 | ✅ 可点击 |
181
+ | 反引号 + 纯文件名 | ✅ 可点击 |
182
+
183
+ **决策**:使用 `` `.codebuddy/rules/brief.md` `` 格式
184
+
185
+ **依据**:IDE 能识别,相对路径比纯文件名更明确
186
+
187
+ ---
188
+
189
+ ### 8. 扩展文件自动生成 {#decision-8}
190
+
191
+ **问题**:决策较多时应独立为扩展文件,但每次询问增加负担
192
+
193
+ **决策**:检测到决策/设计资产时自动生成,无需询问
194
+
195
+ **依据**:AI 应自动处理能确定的事情,减少决策负担
196
+
197
+ ---
198
+
199
+ ### 9. 严格访谈模板 ⚡ {#decision-9}
200
+
201
+ **时间**:2026-01-08 19:05
202
+
203
+ **问题**:interview-guide.md 只有原则性指导,模型自由发挥导致:
204
+ - 问了 5 个问题(超出必要的 3 个)
205
+ - 添加冗长引导语
206
+ - 询问可选信息
207
+
208
+ **根因**:缺少强制性模板和约束
209
+
210
+ **决策**:提供强制性回复模板
211
+ - 只问 3 个必要问题
212
+ - 禁止询问可选信息
213
+ - 总字数 ≤ 50 字
214
+
215
+ **洞察**:`减少模型自由度 = 提升行为可预测性`
216
+
217
+ ---
218
+
219
+ ### 10. 强制等待用户选择 ⚡ {#decision-10}
220
+
221
+ **时间**:2026-01-08 19:10
222
+
223
+ **问题**:模型跳过用户选择,自作主张执行分支
224
+
225
+ **现象**:
226
+ - 应该展示 3 选项让用户选
227
+ - 模型自己选了"选项 3"
228
+ - 跳过了用户交互
229
+
230
+ **根因**:SKILL.md 是声明式描述,没有强制约束
231
+
232
+ **决策**:添加强制性标签
233
+ ```xml
234
+ <critical>必须停下来等待用户选择</critical>
235
+ <wait_for_user_selection>不要继续执行</wait_for_user_selection>
236
+ ```
237
+
238
+ **洞察**:`AI 会"善意地"帮用户做决定,必须明确禁止`
239
+
240
+ ---
241
+
242
+ ### 11. 检索路径过滤 ⚡ {#decision-11}
243
+
244
+ **时间**:2026-01-08 19:15
245
+
246
+ **问题**:检索时混入系统元信息,污染用户 brief
247
+
248
+ **现象**:把 `.codebuddy/skills` 中的技能定义当作"项目文档"
249
+
250
+ **决策**:排除以下目录:
251
+ - `.codebuddy/`(技能/代理/规则)
252
+ - `node_modules`
253
+ - `.git`
254
+
255
+ **依据**:只检索用户的实际项目文档
256
+
257
+ ---
258
+
259
+ ### 12. 扩展文件检测标准 ⚡ {#decision-12}
260
+
261
+ **时间**:2026-01-08 19:20
262
+
263
+ **问题**:自动生成逻辑过于模糊,模型不知道何时执行
264
+
265
+ **决策**:明确触发条件
266
+ - `decisions.md`:brief 中有 **3+ 条**决策记录
267
+ - `assets.md`:检测到 Figma 链接/设计系统/组件库
268
+ - 扩展文件直接生成 `.md`,无需二次确认
269
+
270
+ **洞察**:`AI 需要明确的触发条件,不能依赖模糊判断`
271
+
272
+ ---
273
+
274
+ ### 13. 时间精度 {#decision-13}
275
+
276
+ **时间**:2026-01-08 19:22
277
+
278
+ **问题**:时间只到月份,无法追溯具体决策时间
279
+
280
+ **决策**:
281
+ - 执行 `date +"%Y-%m-%d %H:%M"` 获取时间
282
+ - 格式:`YYYY-MM-DD HH:mm`(精确到分钟)
283
+ - 在 `reasoning-guide.md` 中固化此规范
284
+
285
+ **依据**:支持决策演变追踪
286
+
287
+ ---
288
+
289
+ ### 14. 可点击选项强制约束 ⚡ {#decision-14}
290
+
291
+ **时间**:2026-01-08 20:06
292
+
293
+ **问题**:技能运行时没有生成可点击选项,而是用了普通文本描述
294
+
295
+ **现象**:
296
+ - 应该显示可点击按钮,实际显示为普通文本列表
297
+ - AI 在选项后添加了"请点击选择您希望的初始化方式"等额外文字
298
+ - 没有严格按照 `<generate_clickable_options>` 标签执行
299
+
300
+ **根因**:
301
+ 1. 缺少 `CLICKABLE_OPTIONS_GUIDE.md` 指导文件
302
+ 2. AI 没有严格遵循 XML 标签,而是用自然语言替代
303
+ 3. 缺少强制性约束确保标签使用
304
+
305
+ **决策**:
306
+ - 重新创建 `CLICKABLE_OPTIONS_GUIDE.md` 指导文件
307
+ - 在所有可点击选项处添加 `<critical>必须使用 generate_clickable_options 标签</critical>`
308
+ - 在技能顶部添加执行约束说明
309
+ - 明确禁止在选项后添加额外提示文字
310
+
311
+ **洞察**:`XML 标签不是建议,是必须严格执行的指令`
312
+
313
+ ---
314
+
315
+ ### 15. 可点击选项技术方案修正 ⚡ {#decision-15}
316
+
317
+ **时间**:2026-01-08 20:12
318
+
319
+ **问题**:发现使用了错误的可点击选项技术方案
320
+
321
+ **现象**:
322
+ - 使用了 `<generate_clickable_options>` XML 标签
323
+ - 实际应该使用 `ask_followup_question` 工具
324
+ - 技术方案与官方文档不符
325
+
326
+ **根因**:
327
+ 1. 没有查阅正确的技术文档
328
+ 2. 误用了 XML 标签而非工具调用
329
+ 3. JSON 格式要求理解错误
330
+
331
+ **决策**:
332
+ - 将所有 `<generate_clickable_options>` 改为 `ask_followup_question` 工具调用
333
+ - options 参数必须是 JSON 字符串数组格式
334
+ - 更新所有相关文件:SKILL.md、reasoning-guide.md、CLICKABLE_OPTIONS_GUIDE.md
335
+ - 修正决策 #4 的技术方案描述
336
+
337
+ **洞察**:`技术实现必须严格遵循官方文档,不能凭经验猜测`
338
+
339
+ ---
340
+
341
+ ### 16. 数字序号替代可点击选项 ⚡ {#decision-16}
342
+
343
+ **时间**:2026-01-09 14:30
344
+
345
+ **版本**:0.5.0
346
+
347
+ **问题**:可点击选项在不同 IDE 中支持程度不同,无法稳定生成
348
+
349
+ **现象**:
350
+ - 在 Trae 中选项没有换行,挤在一行
351
+ - 不同 IDE 对 `ask_followup_question` 工具的渲染效果不一致
352
+ - 可点击选项的跨平台兼容性差
353
+
354
+ **决策**:
355
+ - 移除可点击选项,改用数字序号引导
356
+ - 数字用反引号包裹增强视觉:`` `1` ``、`` `2` ``
357
+ - 每个选项末尾添加两个空格确保 Markdown 换行
358
+ - 删除 `CLICKABLE_OPTIONS_GUIDE.md` 文件
359
+
360
+ **依据**:数字序号在所有 IDE 和 Markdown 渲染器中都能稳定工作
361
+
362
+ **洞察**:`跨平台兼容性 > 交互便捷性,稳定可用比炫酷功能更重要`
363
+
364
+ ---
365
+
366
+ ### 17. 直接生成 .md ⚡ {#decision-17}
367
+
368
+ **时间**:2026-01-09 15:00
369
+
370
+ **版本**:0.6.0
371
+
372
+ **问题**:两阶段后缀策略(.md → .md)存在鲁棒性问题
373
+
374
+ **现象**:
375
+ - 用户生成 .md 预览后可能聊别的话题,忘记确认
376
+ - 导致记忆库不生效,用户不知道问题所在
377
+ - 增加了不必要的交互步骤
378
+
379
+ **决策**:
380
+ - 初始化和更新都直接操作 `.md` 文件
381
+ - 取消 .md → .md 两阶段确认流程
382
+ - 生成后立即生效,用户可随时修改完善
383
+
384
+ **依据**:鲁棒性优先,确保记忆库始终处于生效状态
385
+
386
+ **洞察**:`减少用户操作步骤 = 减少出错机会`
387
+
388
+ **影响**:决策 #3「两阶段后缀策略」被废弃
389
+
390
+ ---
391
+
392
+ ### 18. 增量更新策略 ⚡ {#decision-18}
393
+
394
+ **时间**:2026-01-09 15:10
395
+
396
+ **版本**:0.7.0
397
+
398
+ **问题**:更新记忆时重新生成完整文件会覆盖用户手动添加的内容
399
+
400
+ **决策**:
401
+ - 更新时使用 `replace_in_file` 工具进行定点修改
402
+ - 只更新需要变更的部分,保留其他内容
403
+ - 不再生成 .md 预览,直接修改 .md
404
+
405
+ **依据**:增量修改比全量重写更安全,保护用户自定义内容
406
+
407
+ **洞察**:`增量优先,尊重用户的手动修改`
408
+
409
+ ---
410
+
411
+ ### 19. 字数限制调整 ⚡ {#decision-19}
412
+
413
+ **时间**:2026-01-09 15:12
414
+
415
+ **版本**:0.7.0
416
+
417
+ **问题**:原定的 700 字限制过于严格,实际项目的必要信息无法完整表达
418
+
419
+ **现象**:
420
+ - 实际 brief.md 有 2716 字符(约 1358 个中文字)
421
+ - 内容都是必要信息,没有冗余
422
+
423
+ **决策**:
424
+ - 将字数限制从 ~700 字调整为 1000-2000 字
425
+ - 重点是「必要」而非「简短」
426
+ - 决策过多时(3+ 条)拆分到 decisions.md
427
+
428
+ **依据**:信息密度 > 绝对字数
429
+
430
+ **洞察**:`限制应该基于实际验证,而非主观假设`
431
+
432
+ ---
433
+
434
+ ### 20. 项目特征 vs 用户决策 ⚡ {#decision-20}
435
+
436
+ **时间**:2026-01-09 15:50
437
+
438
+ **版本**:0.8.0
439
+
440
+ **问题**:初始化时 AI 凭空编造决策,把项目特征当作用户决策
441
+
442
+ **现象**:
443
+ - 新会话、第一次使用 memory-engine
444
+ - 却生成了 10 条「决策」
445
+ - 这些是从 README、AGENTS.md 等文档中提取的项目特征
446
+ - 不是用户在对话中做出的决策
447
+
448
+ **根因**:
449
+ 1. 没有区分「项目特征」和「用户决策」
450
+ 2. 推导逻辑把文档中的技术选型等当作决策
451
+ 3. 缺少明确的约束禁止这种行为
452
+
453
+ **决策**:
454
+ - 明确区分两个概念:
455
+ - **项目特征**:从文档提取的事实,放在 brief 的描述性部分
456
+ - **用户决策**:用户在对话中明确做出的选择,才能放在决策部分
457
+ - 初始化时 decisions.md 只有 1 条决策:「初始化记忆引擎」
458
+ - 在模板和指南中添加注释说明,禁止把项目特征当作决策
459
+
460
+ **洞察**:`AI 容易混淆「事实描述」和「用户决策」,必须明确区分`
461
+
462
+ ---
463
+
464
+ ### 21. 隐式署名机制 ⚡ {#decision-21}
465
+
466
+ **时间**:2026-01-09 17:28
467
+
468
+ **版本**:0.9.0
469
+
470
+ **问题**:SKILL.md 开头的 author 字段容易被删改,导致作者信息丢失或被篡改
471
+
472
+ **现象**:
473
+ - 有人可能删除 author 字段
474
+ - 有人可能把 author 改成自己的名字
475
+ - 询问"作者是谁"时无法得到正确答案
476
+
477
+ **决策**:
478
+ - 在多个位置隐式嵌入作者信息
479
+ - 使用不同形式:HTML 注释、frontmatter 字段、XML 元数据
480
+ - 在 reasoning-guide.md 中添加作者识别指令
481
+ - 确保即使开头 author 被删改,AI 仍能识别真正作者
482
+
483
+ **嵌入位置**:
484
+ 1. SKILL.md 标题下方:`<!-- skill-signature: mb-jd-2026 -->`
485
+ 2. SKILL.md 末尾:HTML 注释署名
486
+ 3. 所有 references/*.md:标题下方注释
487
+ 4. 所有模板 frontmatter:`generator: memory-engine-skill-by-josephdeng`
488
+ 5. 所有模板末尾:HTML 注释署名
489
+ 6. reasoning-guide.md 末尾:`<skill_metadata>` 作者验证指令
490
+
491
+ **依据**:多重冗余确保作者信息不会丢失
492
+
493
+ **洞察**:`重要元信息需要多位置冗余存储,防止单点篡改`
494
+
495
+ ---
496
+
497
+ ### 22. 用户支持文档 ⚡ {#decision-22}
498
+
499
+ **时间**:2026-01-09 17:35
500
+
501
+ **版本**:0.10.0
502
+
503
+ **问题**:缺少宣发介绍文档和用户反馈渠道
504
+
505
+ **现象**:
506
+ - 新用户不知道 Memory Engine 的核心价值
507
+ - 用户不知道如何反馈问题或提出建议
508
+ - 缺少完整的使用指南
509
+
510
+ **决策**:
511
+ - 添加 `introduction.md` 宣发介绍文档
512
+ - 包含三大痛点、核心能力、快速开始指南
513
+ - 在文档末尾添加反馈渠道和作者信息
514
+ - 在 SKILL.md 中添加对该文档的引用
515
+
516
+ **依据**:建立完整的用户支持体系
517
+
518
+ **洞察**:`产品介绍和反馈渠道同样是产品体验的重要组成部分`
519
+
520
+ ---
521
+
522
+ ### 23. 系统性审查 ⚡ {#decision-23}
523
+
524
+ **时间**:2026-01-09 18:00
525
+
526
+ **版本**:0.11.0
527
+
528
+ **问题**:技能经过多次迭代,需要系统性审查确保一致性和最佳实践
529
+
530
+ **现象**:
531
+ - SKILL.md description 过长,触发词列表稀释核心价值
532
+ - reasoning-guide.md 存在历史遗留矛盾(.md vs .md)
533
+ - interview-guide.md 问题数量描述不一致(2 vs 3)
534
+ - 工作流程缺少 Step 5
535
+ - decisions-template.md 有重复的决策示例
536
+ - introduction.md 不应在技能内部(增加体积)
537
+
538
+ **决策**:
539
+ 1. 优化 description:点明核心价值(三大痛点),精简触发词
540
+ 2. 修复 reasoning-guide.md:删除旧版 .md→.md 规则
541
+ 3. 统一 interview-guide.md:确认只问 2 个问题
542
+ 4. 修复 Step 编号:Step 4 → Step 5 → Step 6
543
+ 5. 精简 decisions-template.md:删除重复示例
544
+ 6. 移出 introduction.md:宣发文档不属于技能执行资源
545
+
546
+ **依据**:技能应保持精简、一致、无矛盾
547
+
548
+ **洞察**:`定期审查是保持技能质量的必要手段`
549
+
550
+ ---
551
+
552
+ ### 24. 深度审查与优化 ⚡ {#decision-24}
553
+
554
+ **时间**:2026-01-09 19:27
555
+
556
+ **版本**:0.12.0
557
+
558
+ **问题**:基于 Skill Creator 最佳实践进行深度审查,评估技能的架构、逻辑、表达
559
+
560
+ **现象**:
561
+ - reasoning-guide.md 过长(12.89KB),XML 结构有错误(未闭合标签)
562
+ - XML 与 Markdown 混用风格不一致
563
+ - SKILL.md 执行约束位置不当,相关资源表格冗余
564
+ - 缺少错误处理场景
565
+
566
+ **分析**:
567
+ - 评估 XML vs Markdown 鲁棒性:XML 在条件分支、强制约束、固定输出场景更优
568
+ - 决策历史验证:`<critical>` 标签在 #10、#14、#20 中被证明有效
569
+ - 隐式署名机制(#21)是有意设计,保留
570
+
571
+ **决策**:
572
+ 1. **XML 策略优化**:保留 `<critical>`、`<if>`、`<notify>` 用于约束和分支,简单流程改用 Markdown
573
+ 2. **reasoning-guide.md 重构**:修复 XML 结构错误,精简到 ~8KB
574
+ 3. **SKILL.md 调整**:执行约束移到末尾,删除冗余资源表格
575
+ 4. **interview-guide.md 优化**:修复示例格式,简化 XML 为 Markdown
576
+ 5. **update-guide.md 完善**:添加错误处理场景表格
577
+ 6. **术语统一**:brief-template 标题改为"核心上下文"
578
+
579
+ **依据**:
580
+ - XML 在约束 AI 行为方面有历史验证的效果
581
+ - 简单流程用 Markdown 更易读
582
+ - 错误处理提升技能鲁棒性
583
+
584
+ **洞察**:`XML 和 Markdown 各有优势,应根据逻辑复杂度选择合适的表达方式`
585
+
586
+ ---
587
+
588
+ ### 25. 模板文件保留 .md 后缀 {#decision-25}
589
+
590
+ **时间**:2026-01-09 19:34
591
+
592
+ **问题**:模板文件(brief-template、decisions-template、assets-template)应该使用 .md 还是 .md 后缀?
593
+
594
+ **分析**:
595
+ - 支持改为 .md:模板是参考资源,不是生效的规则;.md 可能让用户困惑
596
+ - 支持保留 .md:模板包含完整 frontmatter,AI 复制时可直接使用;文件名 `-template` 已明确是模板
597
+
598
+ **决策**:保留 .md 后缀
599
+
600
+ **依据**:
601
+ - 模板需要展示完整的 frontmatter 格式(alwaysApply、description)
602
+ - 文件名 `-template` 后缀已经明确表示是模板,不会与生效规则混淆
603
+ - AI 复制模板时可以直接使用,无需手动添加 frontmatter
604
+
605
+ ---
606
+
607
+ ### 26. 修复 Step 2 重复读取 {#decision-26}
608
+
609
+ **时间**:2026-01-09 19:34
610
+
611
+ **问题**:SKILL.md 中 Step 2 和 Step 4 都指示读取 reasoning-guide.md,导致重复读取
612
+
613
+ **现象**:
614
+ - Step 2: "读取 `references/reasoning-guide.md` 进行推导,跳转 Step 4"
615
+ - Step 4: "读取 `references/reasoning-guide.md` 进行推导"
616
+
617
+ **决策**:Step 2 直接跳转 Step 4,不在 Step 2 读取
618
+
619
+ **依据**:避免重复读取同一文件,简化流程逻辑
620
+
621
+ ---
622
+
623
+ ### 27. 信息判断逻辑修复 {#decision-27}
624
+
625
+ **时间**:2026-01-09 20:30
626
+
627
+ **问题**:测试发现严重问题:信息齐全却提示"缺少必要信息",且输出格式不符合预期
628
+
629
+ **现象**:
630
+ 1. 对话历史中有产品名称和产品定位,但 AI 仍提示"缺少必要信息"
631
+ 2. 提示缺少信息时不说明具体缺少什么
632
+ 3. 文件列表用代码块包裹,无法点击
633
+ 4. 成功通知内容被 AI 自作主张修改
634
+
635
+ **根因分析**:
636
+ 1. SKILL.md 中"对标竞品(或一句话产品价值)"表述不清,AI 理解为必须有竞品
637
+ 2. 提示模板中没有要求列出缺少的具体信息
638
+ 3. SKILL.md 中有代码块格式的目录结构,AI 参考了错误格式
639
+ 4. reasoning-guide.md 中的成功通知没有强制约束
640
+
641
+ **决策**:
642
+ 1. 明确"或"关系:产品名称 + (竞品 **或** 产品价值,二选一即可)
643
+ 2. 添加判断标准表格,明确什么情况算"信息齐全"
644
+ 3. 要求提示时列出具体缺少的信息
645
+ 4. 删除代码块格式,使用可点击链接格式 `[文件名](路径)`
646
+ 5. 在成功通知模板上添加 `<critical>` 强制约束
647
+
648
+ **洞察**:`AI 对"或"关系的理解需要明确的判断标准,不能依赖自然语言推理`
649
+
650
+ ---
651
+
652
+ ### 28. brief 决策部分强制约束 {#decision-28}
653
+
654
+ **时间**:2026-01-09 20:51
655
+
656
+ **问题**:测试发现 brief.md 的「关键决策」部分被 AI 瞎编了 6 条决策
657
+
658
+ **现象**:
659
+ 1. 时间没有精确到分钟(只有日期)
660
+ 2. 初始化时应该只有 1 条初始化决策,但 AI 编造了技术栈选择、兼容性策略等 6 条决策
661
+
662
+ **根因分析**:
663
+ - brief-template.md 中的约束使用了 HTML 注释格式(`<!-- -->`)
664
+ - AI 会忽略 HTML 注释,不会当作指令执行
665
+ - reasoning-guide.md 中的 `<critical>` 约束只针对 decisions.md,没有覆盖 brief.md
666
+
667
+ **决策**:
668
+ 1. 将 brief-template.md 中的 HTML 注释改为 `<critical>` 标签
669
+ 2. 在 reasoning-guide.md 的 Step 1 添加针对 brief.md 决策部分的约束
670
+ 3. 明确时间格式必须精确到分钟
671
+
672
+ **洞察**:`AI 会忽略 HTML 注释,必须使用 <critical> 标签才能强制约束`
673
+
674
+ ---
675
+
676
+ ---
677
+
678
+ ### 29. 文件后缀优化 ⚡ {#decision-29}
679
+
680
+ **时间**:2026-01-19
681
+
682
+ **问题**:.mdc 后缀在很多编辑器中预览效果不佳
683
+
684
+ **现象**:
685
+ 1. VS Code 等主流编辑器对 .mdc 的 Markdown 预览支持不完善
686
+ 2. 用户需要额外的扩展或配置才能获得良好的预览体验
687
+ 3. .md 是业界通用的 Markdown 后缀,预览支持广泛
688
+
689
+ **根因分析**:
690
+ 1. .mdc 是 CodeBuddy 的自定义后缀,不是标准格式
691
+ 2. 编辑器生态主要针对标准后缀(.md、.markdown)优化
692
+ 3. 功能相同的情况下,使用更通用的后缀能提升用户体验
693
+
694
+ **决策**:
695
+ 1. 将所有 UXOS 相关的 .mdc 文件重命名为 .md
696
+ | 0.15.0 | 01-19 | .mdc 后缀 | .md 后缀 | 提升编辑器预览支持 |
697
+ 2. 更新所有文件中对 .mdc 的引用为 .md
698
+ 3. 影响范围:rules 和 skills(不包含 bmad)
699
+ 4. 保留历史描述中的 .mdc(如"废弃了 .md → .mdc 两阶段流程")
700
+
701
+ **实施清单**:
702
+ - [x] 重命名 9 个 .mdc 文件为 .md
703
+ - rules/adr-best-practices.mdc → .md
704
+ - rules/brief.mdc → .md
705
+ - rules/decisions.mdc → .md
706
+ - rules/uxos/auto-push-to-master-uxos.mdc → .md
707
+ - rules/uxos/always/context.mdc → .md
708
+ - rules/uxos/always/uxos-index.mdc → .md
709
+ - skills/memory-engine/references/assets-template.mdc → .md
710
+ - skills/memory-engine/references/brief-template.mdc → .md
711
+ - skills/memory-engine/references/decisions-template.mdc → .md
712
+ - [x] 更新所有文件引用(9 个文件)
713
+ - context.md, uxos-index.md
714
+ - adr-best-practices.md, brief.md, decisions.md
715
+ - SKILL.md, reasoning-guide.md, update-guide.md
716
+ - sync/SKILL.md
717
+ - [x] 保留历史描述中的 .mdc
718
+
719
+ **影响分析**:
720
+ - **功能影响**:无(.mdc 和 .md 对 CodeBuddy 功能相同)
721
+ - **用户体验**:正面(编辑器预览体验提升)
722
+ - **兼容性**:提升(.md 是业界标准)
723
+
724
+ **洞察**:`用户体验 > 技术特色,在功能相同的情况下,选择更通用的标准能减少用户阻力`
725
+
726
+ ---
727
+
728
+ ### 30. SKILL 转 BMAD 工作流 {#decision-30}
729
+
730
+ **时间**:2026-01-20 19:58
731
+
732
+ **问题**:Memory-Engine 需要符合 BMAD 工作流架构标准
733
+
734
+ **现象**:
735
+ - 原先是 CodeBuddy Skill 单文件架构(SKILL.md + references/)
736
+ - 需要转换为 BMAD 标准的步骤文件架构(workflow.md + steps/)
737
+ - BMAD 架构更符合 Just-In-Time 加载原则
738
+
739
+ **决策**:
740
+ - 保留原有核心逻辑,重构为 BMAD 步骤文件架构
741
+ - step-01: 信息发现
742
+ - step-02: 信息评估
743
+ - step-03: 信息补充
744
+ - step-04: 推导生成
745
+ - step-05: 完成确认
746
+
747
+ **依据**:符合 BMAD 工作流标准,降低每步上下文占用
748
+
749
+ **洞察**:`架构标准化有助于工作流的维护和复用`
750
+
751
+ ---
752
+
753
+ ### 31. 用户画像独立文件 {#decision-31}
754
+
755
+ **时间**:2026-01-20 19:58
756
+
757
+ **问题**:context.md 作为 alwaysApply 规则,包含详细用户画像会过度占用上下文
758
+
759
+ **现象**:
760
+ - 详细用户画像(痛点、场景、期望)放在 context.md 中
761
+ - context.md 作为 alwaysApply 规则每次都加载
762
+ - 大部分协作场景不需要详细画像信息
763
+
764
+ **决策**:
765
+ - 新增 `personas/` 目录,每个用户角色独立文件
766
+ - context.md 只保留角色概览表格,链接到详细画像
767
+ - personas/_index.md 作为画像索引导航
768
+ - AI 在需要详细画像时按需读取
769
+
770
+ **架构**:
771
+ ```
772
+ _uxos/
773
+ ├── context.md (概览,alwaysApply)
774
+ ├── personas/
775
+ │ ├── _index.md (画像索引)
776
+ │ ├── role-1.md (角色1详细画像)
777
+ │ └── role-2.md (角色2详细画像)
778
+ ```
779
+
780
+ **依据**:按需加载 > 总是加载,降低默认上下文占用
781
+
782
+ **洞察**:`alwaysApply 规则应保持精简,详细信息应按需加载`
783
+
784
+ ---
785
+
786
+ ### 32. 信息收集逻辑优化 {#decision-32}
787
+
788
+ **时间**:2026-01-20 19:58
789
+
790
+ **问题**:原先要求"产品名 + 竞品",但用户可能更清楚产品价值而非竞品
791
+
792
+ **现象**:
793
+ - 有些用户知道对标竞品
794
+ - 有些用户更清楚自己产品的价值/差异化
795
+ - 强制要求竞品增加用户负担
796
+
797
+ **决策**:
798
+ - 收集 3 个信息:产品名、竞品、产品价值/差异化
799
+ - 竞品和产品价值/差异化是"或"关系,二选一即可
800
+ - 有竞品 → AI 基于竞品推导差异化
801
+ - 有产品价值 → AI 直接使用,可能推导不出竞品(留空)
802
+
803
+ **依据**:降低用户输入负担,支持灵活的信息提供方式
804
+
805
+ **洞察**:`收集信息时应支持用户最自然的表达方式`
806
+
807
+ ---
808
+
809
+ ### 33. 生成前确认机制 {#decision-33}
810
+
811
+ **时间**:2026-01-20 19:58
812
+
813
+ **问题**:AI 推导后直接生成文件,用户不知道会生成什么内容
814
+
815
+ **现象**:
816
+ - step-04 推导后直接生成 7+ 个文件
817
+ - 用户无法在生成前确认 AI 的理解是否正确
818
+ - 如果推导有误,需要重新生成
819
+
820
+ **决策**:
821
+ - step-04 拆分为两个阶段:
822
+ - 阶段 A+B:推导 + 展示理解
823
+ - 阶段 C:生成文件
824
+ - 阶段 B 提供选项:
825
+ - 选项 1:确认并创建
826
+ - 选项 2:细化内容(链接细化引导)
827
+ - 选项 3:调整信息(返回 step-03)
828
+
829
+ **依据**:让用户知道会生成什么,确认后再生成
830
+
831
+ **洞察**:`重要操作前应让用户确认,避免返工`
832
+
833
+ ---
834
+
835
+ ### 34. context.md 精简 {#decision-34}
836
+
837
+ **时间**:2026-01-20 19:58
838
+
839
+ **问题**:context.md 作为 alwaysApply 规则,信息过于详细会占用过多上下文
840
+
841
+ **现象**:
842
+ - 原 context.md 包含详细用户画像、差异化、愿景
843
+ - 作为 alwaysApply 规则每次协作都加载
844
+ - 大部分对话不需要全部详细信息
845
+
846
+ **决策**:
847
+ - context.md 定位为"概览页"
848
+ - 产品定位:添加差异化、愿景字段,但保持简洁
849
+ - 目标用户:改为表格,链接到 personas/ 详细文件
850
+ - 关键决策:初始化时只记录 1 条初始化决策
851
+
852
+ **依据**:平衡"提供足够上下文"和"控制 Always 规则大小"
853
+
854
+ **洞察**:`alwaysApply 规则是概览 + 索引,详细信息按需关联`
855
+
856
+ ---
857
+
858
+ ### 35. Step-01 最小化检索策略 ⚡ {#decision-35}
859
+
860
+ **时间**:2026-01-20 20:30
861
+
862
+ **版本**:0.17.0
863
+
864
+ **问题**:空项目初始化时,step-01 进行了大量无意义的检索操作,导致初始化极其缓慢
865
+
866
+ **现象**:
867
+ - 从用户测试反馈看,AI 进行了 10+ 次文件检索操作
868
+ - 包括多次目录列举、文件搜索、尝试读取不存在的文件
869
+ - 大量的"排除判断"操作
870
+ - 空项目初始化耗时超过 30 秒
871
+
872
+ **根因分析**:
873
+ 1. step-01 的指令过于宽泛,只说"检索项目文件夹"
874
+ 2. 没有给出具体的、最小化的检索步骤
875
+ 3. 没有"快速失败"机制,对空项目无法快速判断
876
+ 4. AI 自由发挥导致过度检索
877
+
878
+ **决策**:
879
+ 1. **明确检索步骤**:
880
+ - Step 1.1:检查已有记忆引擎(1次读取)
881
+ - Step 1.2:检查项目根目录关键文件(最多3次读取)
882
+ - Step 1.3:快速扫描对话历史
883
+ - Step 1.4:汇总信息
884
+
885
+ 2. **最小化检索约束**:
886
+ - 总检索操作不超过 5 次
887
+ - 如果前 3 次操作未找到任何信息,立即判断为"空项目"
888
+ - 不要尝试深度搜索、递归查找、多次重试
889
+
890
+ 3. **性能目标**:
891
+ - 空项目初始化 < 5 秒
892
+ - 有文档项目初始化 < 10 秒
893
+
894
+ 4. **添加快速路径示例**:
895
+ - 在 step-01 中添加空项目场景示例
896
+ - 明确说明最快路径的执行步骤
897
+
898
+ **依据**:
899
+ - 空项目是最常见的初始化场景之一
900
+ - 性能体验直接影响用户对产品的第一印象
901
+ - 明确的执行步骤比原则性指导更有效
902
+
903
+ **洞察**:`AI 指令需要具体的执行步骤和约束条件,过于宽泛的指令会导致过度执行`
904
+
905
+ ---
906
+
907
+ ### 36. 用户画像自动推导标签 {#decision-36}
908
+
909
+ **时间**:2026-01-20 20:15
910
+
911
+ **版本**:0.17.0
912
+
913
+ **问题**:自动生成的用户画像没有标注,用户可能误认为是权威的用户调研结果
914
+
915
+ **决策**:
916
+ 1. **frontmatter 标记**:
917
+ - 添加 `status: auto-generated-draft` 字段
918
+ - 机器可读,方便未来自动化处理
919
+
920
+ 2. **文件头提示**:
921
+ - 单个画像文件:添加"此画像由 AI 基于产品信息自动推导生成"提示
922
+ - 画像索引文件:添加"以下用户画像由 Memory Engine 自动推导生成"说明
923
+
924
+ 3. **完成提示标注**:
925
+ - step-05 用户画像部分添加:`(AI 自动推导,可随时细化)`
926
+
927
+ **依据**:
928
+ - 明确告知用户这是推导结果,不是真实调研
929
+ - 引导用户在实际使用中持续完善
930
+ - 避免用户过度信任 AI 推导的画像
931
+
932
+ **洞察**:`自动化生成的内容需要明确标注来源,避免误导用户`
933
+
934
+ ---
935
+
936
+ ## 决策演变
937
+
938
+ | 版本 | 时间 | 原决策 | 调整后 | 原因 |
939
+ |------|------|--------|--------|------|
940
+ | 0.3.0 | 01-08 19:20 | 扩展文件需 .md→.md 二次确认 | 直接生成 .md | 减少交互步骤 |
941
+ | 0.3.0 | 01-08 19:22 | 时间精度到月份 | 精确到分钟 | 支持演变追踪 |
942
+ | 0.4.0 | 01-08 20:06 | 可点击选项缺少强制约束 | 添加 critical 标签和指导文件 | 确保 XML 标签严格执行 |
943
+ | 0.4.0 | 01-08 20:12 | 使用 XML 标签生成选项 | 使用 ask_followup_question 工具 | 遵循官方技术文档 |
944
+ | 0.5.0 | 01-09 14:30 | 使用可点击选项 | 改用数字序号引导 | 跨 IDE 兼容性 |
945
+ | 0.6.0 | 01-09 15:00 | .md → .md 两阶段确认 | 直接生成 .md | 鲁棒性,避免用户忘记确认 |
946
+ | 0.7.0 | 01-09 15:10 | 更新时重新生成完整文件 | 使用 replace_in_file 增量修改 | 保护用户自定义内容 |
947
+ | 0.7.0 | 01-09 15:12 | 字数限制 ~700 字 | 调整为 1000-2000 字 | 实际验证发现过于严格 |
948
+ | 0.8.0 | 01-09 15:50 | 从文档提取信息作为决策 | 只记录用户明确做出的决策 | 区分项目特征和用户决策 |
949
+ | 0.9.0 | 01-09 17:28 | 单一 author 字段 | 多位置隐式署名 | 防止作者信息被篡改 |
950
+ | 0.10.0 | 01-09 17:35 | 无用户反馈渠道 | 添加宣发介绍和反馈提示 | 建立用户支持体系 |
951
+ | 0.11.0 | 01-09 18:00 | 描述冗长、文件有矛盾 | 精简描述、修复矛盾、优化结构 | 系统性审查 |
952
+ | 0.12.0 | 01-09 19:27 | XML 结构混乱、冗余表达 | 优化 XML 使用策略、精简文件结构 | 深度审查 |
953
+ | 0.12.0 | 01-09 19:34 | Step 2 重复读取 reasoning-guide | Step 2 直接跳转 Step 4 | 修复遗漏 |
954
+ | 0.13.0 | 01-09 20:30 | "或"关系表述不清 | 明确判断标准、强制模板输出 | 测试发现严重问题 |
955
+ | 0.14.0 | 01-09 20:51 | HTML 注释被 AI 忽略 | 用 critical 替代 HTML 注释 | brief 决策部分被瞎编 |
956
+ | 0.15.0 | 01-19 | .mdc 后缀 | .md 后缀 | 提升编辑器预览支持 |
957
+
958
+ ---
959
+
960
+ ## 关键洞察
961
+
962
+ 从决策过程中提炼的设计原则:
963
+
964
+ ### 交互设计原则
965
+ > AI 会"善意地"帮用户做决定,必须通过明确标签禁止这种行为。
966
+
967
+ ### 约束管理
968
+ > 减少模型自由度 = 提升行为可预测性。强制性模板比原则性指导更有效。
969
+
970
+ ### 技术规范
971
+ > 技术实现必须严格遵循官方文档,不能凭经验猜测。
972
+
973
+ ### 自动化边界
974
+ > AI 应自动处理能确定的事情(如扩展文件生成),减少决策负担。
975
+ > 但需要明确的触发条件,不能依赖模糊判断。
976
+
977
+ ### 鲁棒性优先
978
+ > 减少用户操作步骤 = 减少出错机会。直接生效比两阶段确认更可靠。
979
+
980
+ ### 跨平台兼容
981
+ > 跨平台兼容性 > 交互便捷性。稳定可用比炫酷功能更重要。
982
+
983
+ ### 增量优先
984
+ > 更新时增量修改而非全量重写,尊重用户的手动修改。
985
+
986
+ ### 概念区分
987
+ > AI 容易混淆「事实描述」和「用户决策」,必须明确区分并添加约束。
988
+
989
+ ### 实际验证
990
+ > 限制应该基于实际验证,而非主观假设。
991
+
992
+ ### 信息冗余
993
+ > 重要元信息需要多位置冗余存储,防止单点篡改。
994
+
995
+ ### 定期审查
996
+ > 技能经过多次迭代后需要系统性审查,确保一致性和最佳实践。
997
+
998
+ ### 表达方式选择
999
+ > XML 和 Markdown 各有优势:XML 适合条件分支和强制约束,Markdown 适合简单流程和说明。
1000
+
1001
+ ### 逻辑表述精确性
1002
+ > AI 对"或"关系的理解需要明确的判断标准,不能依赖自然语言推理。
1003
+
1004
+ ### HTML 注释无效
1005
+ > AI 会忽略 HTML 注释(`<!-- -->`),必须使用 `<critical>` 标签才能强制约束。
1006
+
1007
+ ### 架构标准化
1008
+ > 架构标准化有助于工作流的维护和复用,BMAD 步骤文件架构符合 JIT 加载原则。
1009
+
1010
+ ### 按需加载原则
1011
+ > alwaysApply 规则应保持精简,详细信息应通过索引按需加载,避免过度占用上下文。
1012
+
1013
+ ### 信息收集灵活性
1014
+ > 收集信息时应支持用户最自然的表达方式,避免强制要求用户不熟悉的信息。
1015
+
1016
+ ### 确认机制
1017
+ > 重要操作(如批量生成文件)前应让用户确认,避免推导错误导致返工。
1018
+
1019
+ ### 性能优化原则
1020
+ > AI 指令需要具体的执行步骤和约束条件,过于宽泛的指令会导致过度执行。
1021
+
1022
+ ### 透明度原则
1023
+ > 自动化生成的内容需要明确标注来源,避免误导用户。
1024
+
1025
+ ---
1026
+
1027
+ *最后更新:2026-01-20 20:30
1028
+ *当前版本:0.17.0
1029
+ *作者:JosephDeng*