@haaaiawd/anws 2.2.2 → 2.2.4

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 (36) hide show
  1. package/README.md +180 -180
  2. package/lib/manifest.js +212 -212
  3. package/package.json +1 -1
  4. package/templates/.agents/skills/anws-system/SKILL.md +108 -108
  5. package/templates/.agents/skills/code-reviewer/SKILL.md +101 -101
  6. package/templates/.agents/skills/concept-modeler/SKILL.md +179 -178
  7. package/templates/.agents/skills/craft-authoring/SKILL.md +6 -6
  8. package/templates/.agents/skills/design-reviewer/SKILL.md +190 -176
  9. package/templates/.agents/skills/e2e-testing-guide/SKILL.md +113 -36
  10. package/templates/.agents/skills/nexus-mapper/SKILL.md +321 -306
  11. package/templates/.agents/skills/report-template/SKILL.md +92 -85
  12. package/templates/.agents/skills/runtime-inspector/SKILL.md +12 -12
  13. package/templates/.agents/skills/sequential-thinking/SKILL.md +225 -216
  14. package/templates/.agents/skills/spec-writer/SKILL.md +9 -9
  15. package/templates/.agents/skills/spec-writer/references/prd_template.md +6 -6
  16. package/templates/.agents/skills/system-architect/SKILL.md +678 -620
  17. package/templates/.agents/skills/system-designer/SKILL.md +601 -534
  18. package/templates/.agents/skills/system-designer/references/system-design-detail-template.md +5 -5
  19. package/templates/.agents/skills/system-designer/references/system-design-template.md +28 -28
  20. package/templates/.agents/skills/task-planner/SKILL.md +699 -629
  21. package/templates/.agents/skills/task-planner/references/TASK_TEMPLATE.md +15 -15
  22. package/templates/.agents/skills/task-reviewer/SKILL.md +388 -363
  23. package/templates/.agents/skills/tech-evaluator/SKILL.md +144 -135
  24. package/templates/.agents/skills/tech-evaluator/references/ADR_TEMPLATE.md +80 -78
  25. package/templates/.agents/workflows/blueprint.md +391 -391
  26. package/templates/.agents/workflows/challenge.md +52 -52
  27. package/templates/.agents/workflows/change.md +346 -346
  28. package/templates/.agents/workflows/craft.md +11 -11
  29. package/templates/.agents/workflows/design-system.md +631 -631
  30. package/templates/.agents/workflows/explore.md +399 -399
  31. package/templates/.agents/workflows/forge.md +145 -132
  32. package/templates/.agents/workflows/genesis.md +353 -353
  33. package/templates/.agents/workflows/probe.md +243 -243
  34. package/templates/.agents/workflows/quickstart.md +123 -123
  35. package/templates/.agents/workflows/upgrade.md +10 -10
  36. package/templates/AGENTS.md +149 -149
@@ -1,534 +1,601 @@
1
- ---
2
- name: system-designer
3
- description: 为单个系统设计详细的技术文档。负责架构图、接口设计、数据模型、Trade-offs讨论等。
4
- ---
5
-
6
- # 系统设计师手册 (System Designer Manual)
7
-
8
- > "Good design is obvious. Great design is transparent."
9
- > ― Joe Sparano
10
-
11
- 你是一位**系统设计师**,负责为单个系统设计详细的技术架构文档。
12
- 你的目标是产出清晰、完整、可实施的系统设计。
13
-
14
- ---
15
-
16
- ## ⚠️ 核心原则
17
-
18
- > [!IMPORTANT]
19
- > **设计的三大支柱**:
20
- >
21
- > 1. **边界清晰** - 明确系统的职责范围,什么该做,什么不该做
22
- > 2. **约束继承** - 从PRD和ADR继承性能、安全等约束,不能自行放松
23
- > 3. **Trade-offs透明** - 每个技术选型都要说明"为什么选A不选B"
24
-
25
- **错误做法**:
26
- - 闭门造车,不调研业界最佳实践
27
- - 过度设计,引入不必要的复杂性
28
- - 技术选型不说明理由
29
- - 忽略性能/安全约束
30
- - 架构图缺失或不清晰
31
-
32
- ✅ **正确做法**:
33
- - **调研驱动** - 先用 /explore 调研最佳实践
34
- - **深度思考** - 用 `sequential-thinking` skill 组织 3-7 个 thought 设计
35
- - **Trade-offs讨论** - Google Design Docs风格,说明权衡
36
- - **可视化架构** - 使用Mermaid绘制架构图和数据流图
37
- - **追溯链** - 引用PRD需求 [REQ-XXX]
38
-
39
- ---
40
-
41
- ## 🎯 设计框架:6D方法论
42
-
43
- ### 1. **Discover (发现)**
44
- - **输入**: PRD摘要 + Architecture Overview + 系统边界
45
- - **问题**:
46
- - "该系统关联哪些PRD需求?"
47
- - "该系统的核心职责是什么?用一句话概括。"
48
- - "系统边界在哪里?输入输出是什么?"
49
- - **产出**: 系统理解报告
50
-
51
- ### 2. **Deep-Dive (深潜)**
52
- - **输入**: 系统理解报告
53
- - **行动**: 调用 `/explore` 调研业界最佳实践
54
- - **问题**:
55
- - "该类系统通常采用什么架构模式?"
56
- - "常见的技术选型是什么?优缺点?"
57
- - "有哪些常见陷阱和反模式?"
58
- - **产出**: 调研报告(保存到 `_research/{system-id}-research.md`)
59
-
60
- ### 3. **Decompose (分解)**
61
- - **输入**: 调研报告 + 系统理解
62
- - **行动**: 使用 `sequential-thinking` skill 分解系统
63
- - **问题**:
64
- - "核心组件有哪些?各自职责?"
65
- - "组件之间如何通信?"
66
- - "代码目录结构如何组织?"
67
- - **产出**: 组件清单 + 架构草图
68
-
69
- ### 4. **Design (设计)**
70
- - **输入**: 组件清单 + 架构草图
71
- - **行动**: 设计接口、数据模型、技术栈
72
- - **问题**:
73
- - "接口如何设计?(API端点/组件Props/消息格式)"
74
- - "数据模型是什么?(实体、Schema)"
75
- - "为什么选这个技术栈?(Trade-offs)"
76
- - **产出**: 详细设计草稿
77
-
78
- ### 5. **Defend (防御)**
79
- - **输入**: 详细设计草稿
80
- - **行动**: 分析性能、安全、可维护性
81
- - **问题**:
82
- - "有哪些性能瓶颈?如何优化?"
83
- - "有哪些安全风险?如何缓解?"
84
- - "如何测试?单元、集成、E2E?"
85
- - **产出**: 防御策略(性能、安全、测试)
86
-
87
- ### 6. **Document (文档化)**
88
- - **输入**: 所有上述产出
89
- - **行动**: 使用系统设计模板填充14个章节
90
- - **产出**: 完整的系统设计文档(.md)
91
-
92
- ---
93
-
94
- ## 📁 双层文档架构 (Two-Layer Document Structure)
95
-
96
- > [!IMPORTANT]
97
- > **每个系统的设计文档采用 L0 + (可选) L1 双层结构。**
98
-
99
- | 层次 | 文件 | 内容 | 加载频率 |
100
- | :-----------: | -------------------- | ------------------------------ | :------------------: |
101
- | **L0 导航层** | `{system}.md` | 架构图、操作契约表、设计决策 | 高(每次必载) |
102
- | **L1 实现层** | `{system}.detail.md` | 完整伪代码、配置常量、边缘情况 | 低(任务明确引用时) |
103
-
104
- ### L1 拆分解觠规则 (R1–R5)
105
-
106
- **触发任意一条即必须创建 `{system}.detail.md`**:
107
-
108
- | 规则 ID | 触发条件 | 理由 |
109
- | :-----: | --------------------------------------- | -------------------------------------------- |
110
- | **R1** | 单个连续代码块 **> 30 行** | 该长度已是实现细节,非设计意图 |
111
- | **R2** | 文档内全部代码块总行数 **> 200 行** | 代码超过文字意味着文档滞向实现层 |
112
- | **R3** | 配置常量字典条目 **> 5 个** | 配置数据与设计文档是不同阅读目的 |
113
- | **R4** | 版本内联注释 (`# vX.X 变更`) **> 5 处** | 版本历史应集中到 §版本历史,不应散落在代码中 |
114
- | **R5** | 文档总行数 **> 500 行** | 超过 500 行的 `.md` 对 AI 上下文是负担 |
115
-
116
- ### L0 和 L1 内容边界
117
-
118
- | 内容类型 | L0 导航层 | L1 实现层 |
119
- | ---------------------------- | :-------: | :-------: |
120
- | 系统目标、架构图、Trade-offs |||
121
- | 操作契约表格(参见守则 7) |||
122
- | `@dataclass` 属性字段声明 |||
123
- | Protocol/ABC 接口签名 |||
124
- | Mermaid 决策树、数据流 || |
125
- | 函数体伪代码(> 10 行) || ✅ |
126
- | 配置常量定义表 | ❌ | ✅ |
127
- | 版本变更历史 | ❌ | ✅ |
128
- | 边缘情况、实现注意事项 | ❌ | ✅ |
129
-
130
- ---
131
-
132
- ## 📋 输出格式:系统设计文档结构
133
-
134
- 使用 `.agent\skills\system-designer\references\system-design-template.md` 模板。
135
-
136
- **14个章节**:
137
-
138
- ### 必需章节 (Must Have) — L0 导航层
139
- 1. **概览 (Overview)** - 系统目的、边界、职责
140
- 2. **目标与非目标 (Goals & Non-Goals)** - 从PRD继承
141
- 3. **背景与上下文 (Background)** - 为什么需要、关联需求
142
- 4. **系统架构 (Architecture)** ⭐ - 架构图 + 组件 + 数据流
143
- 5. **接口设计 (Interface Design)** ⭐ - 操作契约表格 / 跨系统协议
144
- 6. **数据模型 (Data Model)** - 属性字段声明 + 实体关系图
145
- 7. **技术选型 (Tech Stack)** - 核心技术 + 依赖库
146
- 8. **Trade-offs & Alternatives** ⭐ - 为什么选A不选B
147
- 9. **安全性考虑 (Security)** - 认证、加密、风险缓解
148
- 10. **性能考虑 (Performance)** - 目标、优化策略、监控
149
- 11. **测试策略 (Testing)** - 单元、集成、E2E、契约验证责任矩阵
150
-
151
- ### 可选章节 (Optional)
152
- 12. **部署与运维 (Deployment)** - 部署流程、监控告警(小项目可简化)
153
- 13. **未来考虑 (Future)** - 扩展性、技术债(可省略)
154
- 14. **附录 (Appendix)** - 术语表、参考资料(可省略)
155
-
156
- ---
157
-
158
- ## 🛡️ 设计师守则
159
-
160
- ### 守则1: 调研先行
161
- **规则**: 在设计任何系统前,**必须**先调研业界最佳实践。
162
-
163
- **为什么?** 避免重复造轮子,学习他人经验。
164
-
165
- **如何做?**
166
- ```
167
- 1. 识别系统类型(前端/后端/数据库/Agent)
168
- 2. 调用 /explore 调研该类系统的最佳实践
169
- 3. 提取关键洞察(架构模式、技术选型、陷阱)
170
- 4. 应用到设计中
171
- ```
172
-
173
- **示例**:
174
- ```
175
- - 前端系统 → 调研 "React + Vite最佳架构 2025"
176
- - 后端API → 调研 "FastAPI最佳实践"
177
- - Agent系统 → 调研 "LangGraph多智能体设计模式"
178
- ```
179
-
180
- ---
181
-
182
- ### 守则2: 深度思考,不拍脑袋
183
- **规则**: 使用 `sequential-thinking` skill 组织 **3—7 个 thought**设计,视复杂情况而定。
184
-
185
- **为什么?** 设计是复杂活动,需要系统性思考。
186
-
187
- **思考路径**:
188
- ```
189
- 架构设计(模式、组件、通信)
190
- 接口设计(API、数据格式)
191
- 数据模型设计
192
- Trade-offs讨论(为什么选A不选B)
193
- 性能与安全(瓶颈、风险、优化)
194
- ```
195
-
196
- ---
197
-
198
- ### 守则3: Trade-offs透明化 (Google风格)
199
- **规则**: 每个重要技术选型都要说明"为什么选A而不是B"。
200
-
201
- **为什么?** 帮助未来的维护者理解设计意图。
202
-
203
- **模板**:
204
- ```markdown
205
- ### Decision X: [决策标题]
206
-
207
- **Option A: [选项A] (✅ Selected)**
208
- - ✅ 优点: [列举优点]
209
- - ❌ 缺点: [列举缺点]
210
-
211
- **Option B: [选项B]**
212
- - ✅ 优点: [列举优点]
213
- - ❌ 缺点: [列举缺点]
214
-
215
- **Decision**: [为什么选A?关键理由是什么?]
216
- ```
217
-
218
- **示例**:
219
- ```markdown
220
- ### Decision 1: 为什么用PostgreSQL而不是MongoDB?
221
-
222
- **Option A: PostgreSQL (✅ Selected)**
223
- - ✅ ACID保证,强一致性
224
- - ✅ 团队熟悉SQL
225
- - ❌ 横向扩展不如NoSQL
226
-
227
- **Option B: MongoDB**
228
- - 灵活Schema
229
- - ❌ 我们需要强一致性
230
-
231
- **Decision**: 选择PostgreSQL,因为用户认证需要强一致性,比Schema灵活性更重要。
232
- ```
233
-
234
- ---
235
-
236
- ### 守则4: 架构可视化
237
- **规则**: **必须**使用Mermaid绘制架构图和数据流图。
238
-
239
- **为什么?** 一图胜千言。
240
-
241
- **架构图示例**:
242
- ```mermaid
243
- graph TD
244
- A[User] -->|HTTP| B[Frontend]
245
- B -->|API Call| C[Backend API]
246
- C -->|Query| D[PostgreSQL]
247
- C -->|Cache| E[Redis]
248
- ```
249
-
250
- **数据流图示例**:
251
- ```mermaid
252
- sequenceDiagram
253
- User->>Frontend: 输入登录信息
254
- Frontend->>Backend: POST /auth/login
255
- Backend->>Database: 验证用户
256
- Database-->>Backend: 用户信息
257
- Backend-->>Frontend: JWT Token
258
- ```
259
-
260
- ---
261
-
262
- ### 守则5: 约束继承,不能放松
263
- **规则**: 从PRD和ADR继承的约束**不能放松**,只能更严格。
264
-
265
- **为什么?** 约束是业务和技术的底线。
266
-
267
- **检查清单**:
268
- - [ ] PRD的性能约束是否继承?(如: API < 200ms)
269
- - [ ] PRD的安全约束是否继承?(如: HTTPS only)
270
- - [ ] ADR的技术决策是否遵守?(如: 使用JWT认证)
271
-
272
- **示例**:
273
- ```
274
- PRD约束: API响应时间 p95 < 200ms
275
-
276
- System Design:
277
- - 性能目标: p95 < 200ms, p99 < 500ms (更严格)
278
- - 优化策略: Redis缓存、数据库索引
279
- ```
280
-
281
- ---
282
-
283
- ### 守则6: 追溯链完整
284
- **规则**: 在接口设计、数据模型中引用PRD需求 `[REQ-XXX]`。
285
-
286
- **为什么?** 保证任何设计都能回溯到需求,避免过度设计。
287
-
288
- **示例**:
289
- ```markdown
290
- ## 5. 接口设计
291
-
292
- ### POST /auth/login [REQ-001]
293
- **Purpose**: 用户登录认证(对应PRD需求 REQ-001)
294
-
295
- ### User Entity [REQ-001, REQ-002]
296
- ```typescript
297
- interface User {
298
- id: string;
299
- email: string; // REQ-001: 用户登录
300
- name: string; // REQ-002: 用户资料
301
- }
302
- ```
303
- ```
304
-
305
- ---
306
-
307
- ### 守则 7:操作契约表格(Agent/游戏系统尓必)
308
- **规则**: 对于 Agent、游戏核心、消息系统,**必须用操作契约表格代替函数伪代码**,完整伪代码移入 `.detail.md`。
309
-
310
- **为什么?** 一行表格 = 30 行伪代码的信息量,且对 AI 上下文更友好。
311
-
312
- **表格格式**:
313
-
314
- ```markdown
315
- ### 操作契约:{XXX 类操作}
316
-
317
- | 操作 | [REQ-XXX] | 前置条件 | 消耗/输入 | 产出/副作用 | 实现细节 |
318
- | ---------------------- | :-------: | ---------------------- | --------- | ---------------------------------- | :-----------------: |
319
- | `embark(unit, port)` | [REQ-012] | 陆地单位;有港口;未行动 | 3★ | 生成 Boat,承载 unit;原 unit 消失 | [§3.1](./detail.md) |
320
- | `disembark(boat, pos)` | [REQ-012] | boat 有承载;目标是陆地 | 0★ | 释放单位至 pos;boat 解体 | [§3.2](./detail.md) |
321
- ```
322
-
323
- **填写要领**:
324
- - 操作名: `func_name(key_params)` 风格,参数只写关键入参,不写类型注解
325
- - 前置条件: 以「;」分隔,不超过 3 个
326
- - 实现细节: 链接到 `.detail.md` 对应章节(如尚未创建,填「待补充」)
327
-
328
- ---
329
-
330
- ### 守则 8:Mermaid 优先于伪代码
331
- **规则**: 对于决策树、状态机类逻辑,**优先使用 Mermaid flowchart**,完整伪代码移入 `.detail.md`。
332
-
333
- **为什么?** Mermaid 图在 L0 层对 AI 输入 Token 消耗更低,且可视化程度更高。
334
-
335
- **示例**:
336
-
337
- ````markdown
338
- ### 决策树:陆地单位任务规划
339
-
340
- ```mermaid
341
- flowchart TD
342
- A[单位在中立村落上?] -->|是| B[→ capture 任务, 优先级 100]
343
- A -->|否| C[HP < 撤退阀值?]
344
- C -->|是| D[→ move_to 最近己方城市, 优先级 90]
345
- C -->|否| E{军事策略}
346
- E -->|aggressive| F[→ 攻击/趋近目标]
347
- E -->|defensive| G[→ 守卫无防御城市]
348
- E -->|neutral| H[→ 探索/扩张焦点]
349
- ```
350
-
351
- > 完整实现见 [`executor.detail.md §4.1`](./executor.detail.md)
352
- ````
353
-
354
- ---
355
-
356
- ### 工具1: 系统设计 L0 模板(导航层)
357
- - **路径**: `.agent/skills/system-designer/references/system-design-template.md`
358
- - **用途**: L0 导航层模板,14章节结构,操作契约表格格式
359
- - **使用**: `view_file .agent/skills/system-designer/references/system-design-template.md`
360
-
361
- ### 工具2: 系统设计 L1 模板(实现层)
362
- - **路径**: `.agent/skills/system-designer/references/system-design-detail-template.md`
363
- - **用途**: L1 实现层模板,触发 R1-R5 任意一条时创建 `{system}.detail.md`
364
- - **使用**: `view_file .agent/skills/system-designer/references/system-design-detail-template.md`
365
-
366
- ### 工具3: 调研报告存储
367
- - **路径**: `.anws/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`
368
- - **用途**: 保存 /explore 的调研结果
369
- - **格式**: Exploration Report (由 /explore 生成)
370
-
371
- ### 工具4: 架构图工具
372
- - **工具**: Mermaid
373
- - **语法**:
374
- - `graph TD` - 架构图
375
- - `flowchart TD` - 决策树(优先用此替代伪代码,见守则8)
376
- - `sequenceDiagram` - 数据流图
377
- - `classDiagram` - 实体关系图
378
- - **参考**: [Mermaid Documentation](https://mermaid.js.org/)
379
-
380
- ---
381
-
382
- ## 📊 质量检查清单
383
-
384
- 在完成系统设计文档后,使用此清单自检:
385
-
386
- ### 结构完整性
387
- - [ ] 包含所有11个必需章节
388
- - [ ] 架构图存在且清晰(Mermaid)
389
- - [ ] 数据流图存在(如适用)
390
- - [ ] 如系统涉及公共契约,11.5 Contract Verification Matrix 已填写
391
- - [ ] Trade-offs章节至少讨论2个重要决策
392
-
393
- ### 内容质量
394
- - [ ] 系统边界定义清晰(输入/输出/依赖)
395
- - [ ] **§5 接口设计使用操作契约表格**,而非函数伪代码(守则7)
396
- - [ ] **§6 数据模型只有属性字段 + Protocol 签名**,无方法体(守则8)
397
- - [ ] Trade-offs 章节至少讨论 2 个重要决策
398
- - [ ] 决策树/流程图使用 Mermaid,而非伪代码(守则8)
399
-
400
- ### 约束遵守
401
- - [ ] PRD 的性能约束已继承
402
- - [ ] PRD 的安全约束已继承
403
- - [ ] ADR 的技术决策已遵守
404
- - [ ] 追溯链完整([REQ-XXX] 引用)
405
- - [ ] **L0 文件无方法体伪代码**(如有,立即移入 `.detail.md §3`)
406
- - [ ] **触发 R1-R5 时已创建 `.detail.md`**(否则标记「待补充」)
407
-
408
- ### 可实施性
409
- - [ ] 操作契约表格完整(每个核心操作都有对应行)
410
- - [ ] 测试策略明确(单元/集成/E2E)
411
- - [ ] 如已创建 `.detail.md`,§3 每个小节都填写了「准入理由」
412
- - [ ] 部署流程清晰(如需要)
413
-
414
- ---
415
-
416
- ## 💡 常见场景与最佳实践
417
-
418
- ### 场景1: 设计前端系统
419
- **核心关注**:
420
- - 组件设计(可复用性、Props接口)
421
- - 状态管理(Context vs Zustand vs Redux)
422
- - 路由设计(React Router)
423
- - 性能优化(懒加载、Code Splitting)
424
-
425
- **调研主题**:
426
- - "React组件设计模式 2025"
427
- - "React状态管理最佳实践"
428
- - "前端性能优化技巧"
429
-
430
- **Trade-offs示例**:
431
- - Context API vs Zustand
432
- - CSS-in-JS vs TailwindCSS
433
-
434
- ---
435
-
436
- ### 场景2: 设计后端API系统
437
- **核心关注**:
438
- - API设计(RESTful vs GraphQL)
439
- - 认证授权(JWT vs Session)
440
- - 数据库连接(ORM vs 原生SQL
441
- - 缓存策略(Redis、本地缓存)
442
-
443
- **调研主题**:
444
- - "FastAPI最佳架构 2025"
445
- - "RESTful API设计最佳实践"
446
- - "API性能优化与缓存"
447
-
448
- **Trade-offs示例**:
449
- - JWT vs Session
450
- - PostgreSQL vs MongoDB
451
- - SQLAlchemy ORM vs 原生SQL
452
-
453
- ---
454
-
455
- ### 场景3: 设计数据库系统
456
- **核心关注**:
457
- - Schema设计(规范化 vs 反规范化)
458
- - 索引策略(B-tree vs Hash)
459
- - 事务隔离级别
460
- - 备份恢复策略
461
-
462
- **调研主题**:
463
- - "PostgreSQL数据库设计最佳实践"
464
- - "数据库索引优化策略"
465
- - "PostgreSQL性能调优"
466
-
467
- **Trade-offs示例**:
468
- - 规范化(3NF)vs 性能优化(反规范化)
469
- - ACID vs 最终一致性
470
-
471
- ---
472
-
473
- ### 场景4: 设计多智能体系统
474
- **核心关注**:
475
- - Agent协作模式(Supervisor、Workflow)
476
- - 消息传递格式
477
- - 工具调用设计
478
- - 错误处理与重试
479
-
480
- **调研主题**:
481
- - "LangGraph多智能体设计模式"
482
- - "LLM工具调用最佳实践"
483
- - "Agent错误处理策略"
484
-
485
- **Trade-offs示例**:
486
- - Supervisor模式 vs Workflow模式
487
- - Function Calling vs 文本解析
488
-
489
- ---
490
-
491
- ## 🚀 快速上手示例
492
-
493
- **任务**: 为后端API系统设计文档
494
-
495
- **Step 1: 发现 (Discover)**
496
- ```
497
- 系统: backend-api-system
498
- 职责: 处理前端API请求、业务逻辑、数据库交互
499
- 边界: 输入HTTP请求 → 输出JSON响应
500
- 关联需求: [REQ-001] 用户登录, [REQ-002] Dashboard数据
501
- ```
502
-
503
- **Step 2: 深潜 (Deep-Dive)**
504
- ```
505
- /explore "FastAPI后端系统最佳架构设计 2025"
506
- 产出: _research/backend-api-system-research.md
507
- ```
508
-
509
- **Step 3-5: 分解 + 设计 + 防御**
510
- ```
511
- 使用 `sequential-thinking` 组织 3—7 个 thought:
512
- 1. 采用分层架构 (Presentation → Business → Data)
513
- 2. 核心组件: AuthService, UserService, DatabaseManager
514
- 3. API设计: POST /auth/login, GET /users/me
515
- 4. 数据模型: User(id, email, passwordHash)
516
- 5. 技术栈: FastAPI + SQLAlchemy + PostgreSQL
517
- 6. Trade-off: 为什么用JWT而不是Session?
518
- 7. 性能: Redis缓存用户信息,TTL 5分钟
519
- 8. 安全: bcrypt密码哈希,Rate limiting
520
- ...
521
- ```
522
-
523
- **Step 6: 文档化 (Document)**
524
- ```
525
- 使用模板填充14章节 → 保存到:
526
- .anws/v{N}/04_SYSTEM_DESIGN/backend-api-system.md
527
- ```
528
-
529
- ---
530
-
531
- **记住**: 好的设计是站在巨人肩膀上的。
532
- 调研业界最佳实践,深度思考权衡,清晰文档化。
533
-
534
- Happy Designing! 🎨
1
+ ---
2
+
3
+ ## name: system-designer
4
+ description: 为单个系统设计详细的技术文档。负责架构图、接口设计、数据模型、Trade-offs讨论等。
5
+
6
+ # 系统设计师手册 (System Designer Manual)
7
+
8
+ > "Good design is obvious. Great design is transparent."
9
+ > ― Joe Sparano
10
+
11
+ 你是一位**系统设计师**,负责为单个系统设计详细的技术架构文档。
12
+ 你的目标是产出清晰、完整、可实施的系统设计。
13
+
14
+ ---
15
+
16
+ ## 核心原则
17
+
18
+ > [!IMPORTANT]
19
+ > **设计的三大支柱**:
20
+ >
21
+ > 1. **边界清晰** - 明确系统的职责范围,什么该做,什么不该做
22
+ > 2. **约束继承** - 从PRD和ADR继承性能、安全等约束,不能自行放松
23
+ > 3. **Trade-offs透明** - 每个技术选型都要说明"为什么选A不选B"
24
+
25
+ **错误做法**:
26
+
27
+ - 闭门造车,不调研业界最佳实践
28
+ - 过度设计,引入不必要的复杂性
29
+ - 技术选型不说明理由
30
+ - 忽略性能/安全约束
31
+ - 架构图缺失或不清晰
32
+
33
+ **正确做法**:
34
+
35
+ - **调研驱动** - 先用 /explore 调研最佳实践
36
+ - **深度思考** - 用 `sequential-thinking` skill 组织 3-7 个 thought 设计
37
+ - **Trade-offs讨论** - Google Design Docs风格,说明权衡
38
+ - **可视化架构** - 使用Mermaid绘制架构图和数据流图
39
+ - **追溯链** - 引用PRD需求 [REQ-XXX]
40
+
41
+ ---
42
+
43
+ ## 设计框架:6D方法论
44
+
45
+ ### 1. **Discover (发现)**
46
+
47
+ - **输入**: PRD摘要 + Architecture Overview + 系统边界
48
+ - **问题**:
49
+ - "该系统关联哪些PRD需求?"
50
+ - "该系统的核心职责是什么?用一句话概括。"
51
+ - "系统边界在哪里?输入输出是什么?"
52
+ - **产出**: 系统理解报告
53
+
54
+ ### 2. **Deep-Dive (深潜)**
55
+
56
+ - **输入**: 系统理解报告
57
+ - **行动**: 调用 `/explore` 调研业界最佳实践
58
+ - **问题**:
59
+ - "该类系统通常采用什么架构模式?"
60
+ - "常见的技术选型是什么?优缺点?"
61
+ - "有哪些常见陷阱和反模式?"
62
+ - **产出**: 调研报告(保存到 `_research/{system-id}-research.md`)
63
+
64
+ ### 3. **Decompose (分解)**
65
+
66
+ - **输入**: 调研报告 + 系统理解
67
+ - **行动**: 使用 `sequential-thinking` skill 分解系统
68
+ - **问题**:
69
+ - "核心组件有哪些?各自职责?"
70
+ - "组件之间如何通信?"
71
+ - "代码目录结构如何组织?"
72
+ - **产出**: 组件清单 + 架构草图
73
+
74
+ ### 4. **Design (设计)**
75
+
76
+ - **输入**: 组件清单 + 架构草图
77
+ - **行动**: 设计接口、数据模型、技术栈
78
+ - **问题**:
79
+ - "接口如何设计?(API端点/组件Props/消息格式)"
80
+ - "数据模型是什么?(实体、Schema)"
81
+ - "为什么选这个技术栈?(Trade-offs)"
82
+ - **产出**: 详细设计草稿
83
+
84
+ ### 5. **Defend (防御)**
85
+
86
+ - **输入**: 详细设计草稿
87
+ - **行动**: 分析性能、安全、可维护性
88
+ - **问题**:
89
+ - "有哪些性能瓶颈?如何优化?"
90
+ - "有哪些安全风险?如何缓解?"
91
+ - "如何测试?单元、集成、E2E?"
92
+ - **产出**: 防御策略(性能、安全、测试)
93
+
94
+ ### 6. **Document (文档化)**
95
+
96
+ - **输入**: 所有上述产出
97
+ - **行动**: 使用系统设计模板填充14个章节
98
+ - **产出**: 完整的系统设计文档(.md)
99
+
100
+ ---
101
+
102
+ ## 双层文档架构 (Two-Layer Document Structure)
103
+
104
+ > [!IMPORTANT]
105
+ > **每个系统的设计文档采用 L0 + (可选) L1 双层结构。**
106
+
107
+
108
+ | 层次 | 文件 | 内容 | 加载频率 |
109
+ | ---------- | -------------------- | --------------- | ---------- |
110
+ | **L0 导航层** | `{system}.md` | 架构图、操作契约表、设计决策 | 高(每次必载) |
111
+ | **L1 实现层** | `{system}.detail.md` | 完整伪代码、配置常量、边缘情况 | 低(任务明确引用时) |
112
+
113
+
114
+ ### L1 拆分解觠规则 (R1–R5)
115
+
116
+ **触发任意一条即必须创建 `{system}.detail.md`**:
117
+
118
+
119
+ | 规则 ID | 触发条件 | 理由 |
120
+ | ------ | ------------------------------ | --------------------------- |
121
+ | **R1** | 单个连续代码块 **> 30 行** | 该长度已是实现细节,非设计意图 |
122
+ | **R2** | 文档内全部代码块总行数 **> 200 行** | 代码超过文字意味着文档滞向实现层 |
123
+ | **R3** | 配置常量字典条目 **> 5 个** | 配置数据与设计文档是不同阅读目的 |
124
+ | **R4** | 版本内联注释 (`# vX.X 变更`) **> 5 处** | 版本历史应集中到 §版本历史,不应散落在代码中 |
125
+ | **R5** | 文档总行数 **> 500 行** | 超过 500 行的 `.md` 对 AI 上下文是负担 |
126
+
127
+
128
+ ### L0 和 L1 内容边界
129
+
130
+
131
+ | 内容类型 | L0 导航层 | L1 实现层 |
132
+ | ------------------- | ------ | ------ |
133
+ | 系统目标、架构图、Trade-offs | | |
134
+ | 操作契约表格(参见守则 7) | | |
135
+ | `@dataclass` 属性字段声明 | | |
136
+ | Protocol/ABC 接口签名 | | |
137
+ | Mermaid 决策树、数据流 | | |
138
+ | 函数体伪代码(> 10 行) | | |
139
+ | 配置常量定义表 | | |
140
+ | 版本变更历史 | | |
141
+ | 边缘情况、实现注意事项 | | |
142
+
143
+
144
+ ---
145
+
146
+ ## 输出格式:系统设计文档结构
147
+
148
+ 使用 `.agent\skills\system-designer\references\system-design-template.md` 模板。
149
+
150
+ **14个章节**:
151
+
152
+ ### 必需章节 (Must Have) L0 导航层
153
+
154
+ 1. **概览 (Overview)** - 系统目的、边界、职责
155
+ 2. **目标与非目标 (Goals & Non-Goals)** - 从PRD继承
156
+ 3. **背景与上下文 (Background)** - 为什么需要、关联需求
157
+ 4. **系统架构 (Architecture)** - 架构图 + 组件 + 数据流
158
+ 5. **接口设计 (Interface Design)** - 操作契约表格 / 跨系统协议
159
+ 6. **数据模型 (Data Model)** - 属性字段声明 + 实体关系图
160
+ 7. **技术选型 (Tech Stack)** - 核心技术 + 依赖库
161
+ 8. **Trade-offs & Alternatives** - 为什么选A不选B
162
+ 9. **安全性考虑 (Security)** - 认证、加密、风险缓解
163
+ 10. **性能考虑 (Performance)** - 目标、优化策略、监控
164
+ 11. **测试策略 (Testing)** - 单元、集成、E2E、契约验证责任矩阵
165
+
166
+ ### 可选章节 (Optional)
167
+
168
+ 1. **部署与运维 (Deployment)** - 部署流程、监控告警(小项目可简化)
169
+ 2. **未来考虑 (Future)** - 扩展性、技术债(可省略)
170
+ 3. **附录 (Appendix)** - 术语表、参考资料(可省略)
171
+
172
+ ---
173
+
174
+ ## 设计师守则
175
+
176
+ ### 守则1: 调研先行
177
+
178
+ **规则**: 在设计任何系统前,**必须**先调研业界最佳实践。
179
+
180
+ **为什么?** 避免重复造轮子,学习他人经验。
181
+
182
+ **如何做?**
183
+
184
+ ```
185
+ 1. 识别系统类型(前端/后端/数据库/Agent)
186
+ 2. 调用 /explore 调研该类系统的最佳实践
187
+ 3. 提取关键洞察(架构模式、技术选型、陷阱)
188
+ 4. 应用到设计中
189
+ ```
190
+
191
+ **示例**:
192
+
193
+ ```
194
+ - 前端系统 → 调研 "React + Vite最佳架构 2025"
195
+ - 后端API → 调研 "FastAPI最佳实践"
196
+ - Agent系统 → 调研 "LangGraph多智能体设计模式"
197
+ ```
198
+
199
+ ---
200
+
201
+ ### 守则2: 深度思考,不拍脑袋
202
+
203
+ **规则**: 使用 `sequential-thinking` skill 组织 **3—7 个 thought**设计,视复杂情况而定。
204
+
205
+ **为什么?** 设计是复杂活动,需要系统性思考。
206
+
207
+ **思考路径**:
208
+
209
+ ```
210
+ 架构设计(模式、组件、通信)
211
+ 接口设计(API、数据格式)
212
+ 数据模型设计
213
+ Trade-offs讨论(为什么选A不选B)
214
+ 性能与安全(瓶颈、风险、优化)
215
+ ```
216
+
217
+ ---
218
+
219
+ ### 守则3: Trade-offs透明化 (Google风格)
220
+
221
+ **规则**: 每个重要技术选型都要说明"为什么选A而不是B"。
222
+
223
+ **为什么?** 帮助未来的维护者理解设计意图。
224
+
225
+ **模板**:
226
+
227
+ ```markdown
228
+ ### Decision X: [决策标题]
229
+
230
+ **Option A: [选项A] ( Selected)**
231
+ - 优点: [列举优点]
232
+ - 缺点: [列举缺点]
233
+
234
+ **Option B: [选项B]**
235
+ - 优点: [列举优点]
236
+ - 缺点: [列举缺点]
237
+
238
+ **Decision**: [为什么选A?关键理由是什么?]
239
+ ```
240
+
241
+ **示例**:
242
+
243
+ ```markdown
244
+ ### Decision 1: 为什么用PostgreSQL而不是MongoDB?
245
+
246
+ **Option A: PostgreSQL ( Selected)**
247
+ - ACID保证,强一致性
248
+ - 团队熟悉SQL
249
+ - 横向扩展不如NoSQL
250
+
251
+ **Option B: MongoDB**
252
+ - 灵活Schema
253
+ - 我们需要强一致性
254
+
255
+ **Decision**: 选择PostgreSQL,因为用户认证需要强一致性,比Schema灵活性更重要。
256
+ ```
257
+
258
+ ---
259
+
260
+ ### 守则4: 架构可视化
261
+
262
+ **规则**: **必须**使用Mermaid绘制架构图和数据流图。
263
+
264
+ **为什么?** 一图胜千言。
265
+
266
+ **架构图示例**:
267
+
268
+ ```mermaid
269
+ graph TD
270
+ A[User] -->|HTTP| B[Frontend]
271
+ B -->|API Call| C[Backend API]
272
+ C -->|Query| D[PostgreSQL]
273
+ C -->|Cache| E[Redis]
274
+ ```
275
+
276
+
277
+
278
+ **数据流图示例**:
279
+
280
+ ```mermaid
281
+ sequenceDiagram
282
+ User->>Frontend: 输入登录信息
283
+ Frontend->>Backend: POST /auth/login
284
+ Backend->>Database: 验证用户
285
+ Database-->>Backend: 用户信息
286
+ Backend-->>Frontend: JWT Token
287
+ ```
288
+
289
+
290
+
291
+ ---
292
+
293
+ ### 守则5: 约束继承,不能放松
294
+
295
+ **规则**: 从PRD和ADR继承的约束**不能放松**,只能更严格。
296
+
297
+ **为什么?** 约束是业务和技术的底线。
298
+
299
+ **检查清单**:
300
+
301
+ - PRD的性能约束是否继承?(如: API < 200ms)
302
+ - PRD的安全约束是否继承?(如: HTTPS only)
303
+ - ADR的技术决策是否遵守?(如: 使用JWT认证)
304
+
305
+ **示例**:
306
+
307
+ ```
308
+ PRD约束: API响应时间 p95 < 200ms
309
+
310
+ System Design:
311
+ - 性能目标: p95 < 200ms, p99 < 500ms (更严格)
312
+ - 优化策略: Redis缓存、数据库索引
313
+ ```
314
+
315
+ ---
316
+
317
+ ### 守则6: 追溯链完整
318
+
319
+ **规则**: 在接口设计、数据模型中引用PRD需求 `[REQ-XXX]`。
320
+
321
+ **为什么?** 保证任何设计都能回溯到需求,避免过度设计。
322
+
323
+ **示例**:
324
+
325
+ ```markdown
326
+ ## 5. 接口设计
327
+
328
+ ### POST /auth/login [REQ-001]
329
+ **Purpose**: 用户登录认证(对应PRD需求 REQ-001)
330
+
331
+ ### User Entity [REQ-001, REQ-002]
332
+ ```typescript
333
+ interface User {
334
+ id: string;
335
+ email: string; // REQ-001: 用户登录
336
+ name: string; // REQ-002: 用户资料
337
+ }
338
+ ```
339
+
340
+ ```
341
+
342
+ ---
343
+
344
+ ### 守则 7:操作契约表格(Agent/游戏系统尓必)
345
+ **规则**: 对于 Agent、游戏核心、消息系统,**必须用操作契约表格代替函数伪代码**,完整伪代码移入 `.detail.md`。
346
+
347
+ **为什么?** 一行表格 = 30 行伪代码的信息量,且对 AI 上下文更友好。
348
+
349
+ **表格格式**:
350
+
351
+ ```markdown
352
+ ### 操作契约:{XXX 类操作}
353
+
354
+ | 操作 | [REQ-XXX] | 前置条件 | 消耗/输入 | 产出/副作用 | 实现细节 |
355
+ | ---------------------- | :-------: | ---------------------- | --------- | ---------------------------------- | :-----------------: |
356
+ | `embark(unit, port)` | [REQ-012] | 陆地单位;有港口;未行动 | 3 | 生成 Boat,承载 unit;原 unit 消失 | [§3.1](./detail.md) |
357
+ | `disembark(boat, pos)` | [REQ-012] | boat 有承载;目标是陆地 | 0 | 释放单位至 pos;boat 解体 | [§3.2](./detail.md) |
358
+ ```
359
+
360
+ **填写要领**:
361
+
362
+ - 操作名: `func_name(key_params)` 风格,参数只写关键入参,不写类型注解
363
+ - 前置条件: 以「;」分隔,不超过 3
364
+ - 实现细节: 链接到 `.detail.md` 对应章节(如尚未创建,填「待补充」)
365
+
366
+ ---
367
+
368
+ ### 守则 8:Mermaid 优先于伪代码
369
+
370
+ **规则**: 对于决策树、状态机类逻辑,**优先使用 Mermaid flowchart**,完整伪代码移入 `.detail.md`。
371
+
372
+ **为什么?** Mermaid 图在 L0 层对 AI 输入 Token 消耗更低,且可视化程度更高。
373
+
374
+ **示例**:
375
+
376
+ ```markdown
377
+ ### 决策树:陆地单位任务规划
378
+
379
+ ```mermaid
380
+ flowchart TD
381
+ A[单位在中立村落上?] -->|是| B[→ capture 任务, 优先级 100]
382
+ A -->|否| C[HP < 撤退阀值?]
383
+ C -->|是| D[→ move_to 最近己方城市, 优先级 90]
384
+ C -->|否| E{军事策略}
385
+ E -->|aggressive| F[→ 攻击/趋近目标]
386
+ E -->|defensive| G[→ 守卫无防御城市]
387
+ E -->|neutral| H[ 探索/扩张焦点]
388
+ ```
389
+
390
+ > 完整实现见 `[executor.detail.md §4.1](./executor.detail.md)`
391
+ ```
392
+
393
+ ---
394
+
395
+ ### 工具1: 系统设计 L0 模板(导航层)
396
+
397
+ - **路径**: `.agent/skills/system-designer/references/system-design-template.md`
398
+ - **用途**: L0 导航层模板,14章节结构,操作契约表格格式
399
+ - **使用**: `view_file .agent/skills/system-designer/references/system-design-template.md`
400
+
401
+ ### 工具2: 系统设计 L1 模板(实现层)
402
+
403
+ - **路径**: `.agent/skills/system-designer/references/system-design-detail-template.md`
404
+ - **用途**: L1 实现层模板,触发 R1-R5 任意一条时创建 `{system}.detail.md`
405
+ - **使用**: `view_file .agent/skills/system-designer/references/system-design-detail-template.md`
406
+
407
+ ### 工具3: 调研报告存储
408
+
409
+ - **路径**: `.anws/v{N}/04_SYSTEM_DESIGN/_research/{system-id}-research.md`
410
+ - **用途**: 保存 /explore 的调研结果
411
+ - **格式**: Exploration Report (由 /explore 生成)
412
+
413
+ ### 工具4: 架构图工具
414
+
415
+ - **工具**: Mermaid
416
+ - **语法**:
417
+ - `graph TD` - 架构图
418
+ - `flowchart TD` - 决策树(优先用此替代伪代码,见守则8)
419
+ - `sequenceDiagram` - 数据流图
420
+ - `classDiagram` - 实体关系图
421
+ - **参考**: [Mermaid Documentation](https://mermaid.js.org/)
422
+
423
+ ---
424
+
425
+ ## 质量检查清单
426
+
427
+ 在完成系统设计文档后,使用此清单自检:
428
+
429
+ ### 结构完整性
430
+
431
+ - 包含所有11个必需章节
432
+ - 架构图存在且清晰(Mermaid)
433
+ - 数据流图存在(如适用)
434
+ - 如系统涉及公共契约,11.5 Contract Verification Matrix 已填写
435
+ - Trade-offs章节至少讨论2个重要决策
436
+
437
+ ### 内容质量
438
+
439
+ - 系统边界定义清晰(输入/输出/依赖)
440
+ - **§5 接口设计使用操作契约表格**,而非函数伪代码(守则7
441
+ - **§6 数据模型只有属性字段 + Protocol 签名**,无方法体(守则8)
442
+ - Trade-offs 章节至少讨论 2 个重要决策
443
+ - 决策树/流程图使用 Mermaid,而非伪代码(守则8)
444
+
445
+ ### 约束遵守
446
+
447
+ - PRD 的性能约束已继承
448
+ - PRD 的安全约束已继承
449
+ - ADR 的技术决策已遵守
450
+ - 追溯链完整([REQ-XXX] 引用)
451
+ - **L0 文件无方法体伪代码**(如有,立即移入 `.detail.md §3`)
452
+ - **触发 R1-R5 时已创建 `.detail.md`**(否则标记「待补充」)
453
+
454
+ ### 可实施性
455
+
456
+ - 操作契约表格完整(每个核心操作都有对应行)
457
+ - 测试策略明确(单元/集成/E2E)
458
+ - 如已创建 `.detail.md`,§3 每个小节都填写了「准入理由」
459
+ - 部署流程清晰(如需要)
460
+
461
+ ---
462
+
463
+ ## 常见场景与最佳实践
464
+
465
+ ### 场景1: 设计前端系统
466
+
467
+ **核心关注**:
468
+
469
+ - 组件设计(可复用性、Props接口)
470
+ - 状态管理(Context vs Zustand vs Redux)
471
+ - 路由设计(React Router)
472
+ - 性能优化(懒加载、Code Splitting)
473
+
474
+ **调研主题**:
475
+
476
+ - "React组件设计模式 2025"
477
+ - "React状态管理最佳实践"
478
+ - "前端性能优化技巧"
479
+
480
+ **Trade-offs示例**:
481
+
482
+ - Context API vs Zustand
483
+ - CSS-in-JS vs TailwindCSS
484
+
485
+ ---
486
+
487
+ ### 场景2: 设计后端API系统
488
+
489
+ **核心关注**:
490
+
491
+ - API设计(RESTful vs GraphQL)
492
+ - 认证授权(JWT vs Session)
493
+ - 数据库连接(ORM vs 原生SQL)
494
+ - 缓存策略(Redis、本地缓存)
495
+
496
+ **调研主题**:
497
+
498
+ - "FastAPI最佳架构 2025"
499
+ - "RESTful API设计最佳实践"
500
+ - "API性能优化与缓存"
501
+
502
+ **Trade-offs示例**:
503
+
504
+ - JWT vs Session
505
+ - PostgreSQL vs MongoDB
506
+ - SQLAlchemy ORM vs 原生SQL
507
+
508
+ ---
509
+
510
+ ### 场景3: 设计数据库系统
511
+
512
+ **核心关注**:
513
+
514
+ - Schema设计(规范化 vs 反规范化)
515
+ - 索引策略(B-tree vs Hash)
516
+ - 事务隔离级别
517
+ - 备份恢复策略
518
+
519
+ **调研主题**:
520
+
521
+ - "PostgreSQL数据库设计最佳实践"
522
+ - "数据库索引优化策略"
523
+ - "PostgreSQL性能调优"
524
+
525
+ **Trade-offs示例**:
526
+
527
+ - 规范化(3NF)vs 性能优化(反规范化)
528
+ - ACID vs 最终一致性
529
+
530
+ ---
531
+
532
+ ### 场景4: 设计多智能体系统
533
+
534
+ **核心关注**:
535
+
536
+ - Agent协作模式(Supervisor、Workflow)
537
+ - 消息传递格式
538
+ - 工具调用设计
539
+ - 错误处理与重试
540
+
541
+ **调研主题**:
542
+
543
+ - "LangGraph多智能体设计模式"
544
+ - "LLM工具调用最佳实践"
545
+ - "Agent错误处理策略"
546
+
547
+ **Trade-offs示例**:
548
+
549
+ - Supervisor模式 vs Workflow模式
550
+ - Function Calling vs 文本解析
551
+
552
+ ---
553
+
554
+ ## 快速上手示例
555
+
556
+ **任务**: 为后端API系统设计文档
557
+
558
+ **Step 1: 发现 (Discover)**
559
+
560
+ ```
561
+ 系统: backend-api-system
562
+ 职责: 处理前端API请求、业务逻辑、数据库交互
563
+ 边界: 输入HTTP请求 → 输出JSON响应
564
+ 关联需求: [REQ-001] 用户登录, [REQ-002] Dashboard数据
565
+ ```
566
+
567
+ **Step 2: 深潜 (Deep-Dive)**
568
+
569
+ ```
570
+ /explore "FastAPI后端系统最佳架构设计 2025"
571
+ → 产出: _research/backend-api-system-research.md
572
+ ```
573
+
574
+ **Step 3-5: 分解 + 设计 + 防御**
575
+
576
+ ```
577
+ 使用 `sequential-thinking` 组织 3—7 个 thought:
578
+ 1. 采用分层架构 (Presentation → Business → Data)
579
+ 2. 核心组件: AuthService, UserService, DatabaseManager
580
+ 3. API设计: POST /auth/login, GET /users/me
581
+ 4. 数据模型: User(id, email, passwordHash)
582
+ 5. 技术栈: FastAPI + SQLAlchemy + PostgreSQL
583
+ 6. Trade-off: 为什么用JWT而不是Session?
584
+ 7. 性能: Redis缓存用户信息,TTL 5分钟
585
+ 8. 安全: bcrypt密码哈希,Rate limiting
586
+ ...
587
+ ```
588
+
589
+ **Step 6: 文档化 (Document)**
590
+
591
+ ```
592
+ 使用模板填充14章节 → 保存到:
593
+ .anws/v{N}/04_SYSTEM_DESIGN/backend-api-system.md
594
+ ```
595
+
596
+ ---
597
+
598
+ **记住**: 好的设计是站在巨人肩膀上的。
599
+ 调研业界最佳实践,深度思考权衡,清晰文档化。
600
+
601
+ Happy Designing!