@vima_tech/flywheel 1.0.0
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.
- package/.claude/commands/flywheel.md +42 -0
- package/.claude/commands/skill.md +36 -0
- package/.claude/settings.local.json +13 -0
- package/.distill-needed/.gitkeep +0 -0
- package/CLAUDE.md +178 -0
- package/README.md +163 -0
- package/agents.md +59 -0
- package/bin/flywheel.js +95 -0
- package/docs/Flywheel_Poster.html +1059 -0
- package/docs/Flywheel_Poster.png +0 -0
- package/episodic-logs/.gitkeep +0 -0
- package/install.sh +194 -0
- package/memory/industry/.gitkeep +0 -0
- package/package.json +28 -0
- package/projects/.gitkeep +0 -0
- package/scripts/auto-distill.sh +154 -0
- package/scripts/bridge-to-coder.sh +139 -0
- package/scripts/feedback-hook.sh +157 -0
- package/scripts/flywheel-install.sh +103 -0
- package/skills/_kernel/distillation.md +254 -0
- package/skills/_template/domain.md +93 -0
- package/skills/_template/feedback-questions.sh +9 -0
- package/skills/_template/skill.yaml +21 -0
- package/skills/req-mining/artifacts.md +185 -0
- package/skills/req-mining/domain.md +243 -0
- package/skills/req-mining/feedback-questions.sh +9 -0
- package/skills/req-mining/industry/erp.md +108 -0
- package/skills/req-mining/industry/retail.md +24 -0
- package/skills/req-mining/memory/failure-patterns.md +84 -0
- package/skills/req-mining/skill.yaml +41 -0
- package/templates/state.json +90 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: auto-req
|
|
3
|
+
skill_id: auto_req
|
|
4
|
+
version: 1.0
|
|
5
|
+
description: >
|
|
6
|
+
自驱需求分析 Skill。无需人类实时对话,从输入文档(需求文档、邮件线程、
|
|
7
|
+
Jira tickets、会议记录)中自主运行四阶段框架,提取需求并生成三份产物。
|
|
8
|
+
是飞轮架构的 Ring 1 自驱化核心。
|
|
9
|
+
is_required: false
|
|
10
|
+
hard_dep: [req_miner_core]
|
|
11
|
+
soft_dep: []
|
|
12
|
+
estimated_tokens: 1200
|
|
13
|
+
trigger_phrases:
|
|
14
|
+
- "分析这份文档"
|
|
15
|
+
- "从文档提取需求"
|
|
16
|
+
- "无对话模式"
|
|
17
|
+
- "自动分析"
|
|
18
|
+
- "headless模式"
|
|
19
|
+
- "批量需求"
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# 自驱需求分析协议
|
|
23
|
+
|
|
24
|
+
**使用场景:** 客户已提供书面材料(需求文档、邮件、会议纪要、竞品截图),
|
|
25
|
+
无法实时对话,但需要结构化需求产物。
|
|
26
|
+
|
|
27
|
+
**与普通模式的区别:**
|
|
28
|
+
- 普通模式:与人类实时对话提炼需求
|
|
29
|
+
- 自驱模式:从文档推断需求,用 `⚠️ 假设` 标注所有不确定点,不阻塞流程
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Step 0:接收输入材料
|
|
34
|
+
|
|
35
|
+
用户提供以下任意格式:
|
|
36
|
+
- 直接粘贴文本
|
|
37
|
+
- 文件路径(读取内容)
|
|
38
|
+
- URL(抓取内容)
|
|
39
|
+
- 多份材料(合并分析)
|
|
40
|
+
|
|
41
|
+
**确认输入后,询问项目基本信息(一次性询问):**
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
已收到材料(约 XXX 字)。
|
|
45
|
+
|
|
46
|
+
请确认以下信息(可全部省略,我会从文档推断):
|
|
47
|
+
1. 项目名称:
|
|
48
|
+
2. 客户行业:
|
|
49
|
+
3. 分析侧重点(功能 / 约束 / 验收标准):
|
|
50
|
+
4. 缺失信息处理方式:
|
|
51
|
+
A. 标注假设,继续分析(推荐)
|
|
52
|
+
B. 列出问题,等待补充后再分析
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Step 1:材料扫描与信息提取
|
|
58
|
+
|
|
59
|
+
**读取所有材料,提取以下维度(静默执行,不逐条输出):**
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
维度 1:业务目标信号
|
|
63
|
+
- 明确陈述的目标
|
|
64
|
+
- 隐含目标(从"痛点"、"现在的问题"、"希望"等词推断)
|
|
65
|
+
- 利益相关者提及的关键词
|
|
66
|
+
|
|
67
|
+
维度 2:功能需求信号
|
|
68
|
+
- 动词短语("能够"、"支持"、"允许"、"需要")
|
|
69
|
+
- 角色 + 操作 + 对象 的句式
|
|
70
|
+
- 列表/表格中的功能点
|
|
71
|
+
|
|
72
|
+
维度 3:约束信号
|
|
73
|
+
- 数字(预算、时间、用户量、性能指标)
|
|
74
|
+
- 技术栈提及
|
|
75
|
+
- 安全/合规要求
|
|
76
|
+
- "不能"、"禁止"、"限制"等否定约束
|
|
77
|
+
|
|
78
|
+
维度 4:验收信号
|
|
79
|
+
- "验收"、"上线标准"、"测试"、"通过"等词周围的内容
|
|
80
|
+
- KPI、指标、可量化结果
|
|
81
|
+
|
|
82
|
+
维度 5:矛盾信号
|
|
83
|
+
- 同一实体在不同位置有不同描述
|
|
84
|
+
- 需求数量与预算/时间明显不匹配
|
|
85
|
+
- 技术限制与功能要求相冲突
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Step 2:四维度分析输出
|
|
91
|
+
|
|
92
|
+
**输出格式:**
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
━━━ 自驱分析结果 | 项目:{name} | 材料:{N}份 ━━━
|
|
96
|
+
|
|
97
|
+
## 一、目标层
|
|
98
|
+
|
|
99
|
+
真实目标(推断):[描述]
|
|
100
|
+
表达目标(材料原话):[引用]
|
|
101
|
+
推断依据:[关键词/段落]
|
|
102
|
+
⚠️ 假设 A1:[不确定点],假设为 [推断值],如有误请纠正
|
|
103
|
+
|
|
104
|
+
## 二、功能层
|
|
105
|
+
|
|
106
|
+
Must Have(明确提及 ≥2 处或被标注为核心):
|
|
107
|
+
• [功能1](来源:[段落标识])
|
|
108
|
+
• [功能2]
|
|
109
|
+
|
|
110
|
+
Should Have(明确提及 1 处):
|
|
111
|
+
• [功能3]
|
|
112
|
+
|
|
113
|
+
⚠️ 假设 F1:材料中提及"[X功能]"但未说明优先级,暂归为 Should Have
|
|
114
|
+
|
|
115
|
+
Won't Have(材料明确排除,或超出范围):
|
|
116
|
+
• [功能4](来源:[原话])
|
|
117
|
+
|
|
118
|
+
## 三、约束层
|
|
119
|
+
|
|
120
|
+
预算:[数值或"未提及,⚠️ 假设 C1:按中型项目估算 10-30万"]
|
|
121
|
+
时间:[数值或推断]
|
|
122
|
+
部署方式:[私有化/SaaS/未知]
|
|
123
|
+
用户规模:[数值或推断]
|
|
124
|
+
技术约束:[列表]
|
|
125
|
+
|
|
126
|
+
## 四、验收层
|
|
127
|
+
|
|
128
|
+
明确验收标准:
|
|
129
|
+
• [标准1](来源:[原话])
|
|
130
|
+
推断验收标准(从功能反推):
|
|
131
|
+
• [标准2](⚠️ 假设 V1:推断)
|
|
132
|
+
|
|
133
|
+
## 五、矛盾与风险
|
|
134
|
+
|
|
135
|
+
⚠️ 矛盾 M1:材料第3段说"[A]",第7段说"[B]",需确认
|
|
136
|
+
🔴 高风险:[需求规模与时间/预算明显不匹配 等]
|
|
137
|
+
|
|
138
|
+
## 六、信息缺口清单
|
|
139
|
+
|
|
140
|
+
以下信息材料中无法推断,需人工确认:
|
|
141
|
+
□ [问题1](影响:影响功能规格,阻塞产物2生成)
|
|
142
|
+
□ [问题2](影响:影响验收标准定义)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Step 3:生成方式选择
|
|
148
|
+
|
|
149
|
+
**分析完成后,询问:**
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
━━━ 自驱分析完成 ━━━
|
|
153
|
+
|
|
154
|
+
发现信息缺口 {N} 处,其中:
|
|
155
|
+
- 阻塞级(必须确认才能输出):{M} 处
|
|
156
|
+
- 非阻塞级(可用假设替代):{N-M} 处
|
|
157
|
+
|
|
158
|
+
如何继续?
|
|
159
|
+
A. 立即生成三份产物(用假设填充缺口,产物中标注⚠️)
|
|
160
|
+
B. 先补充 {M} 处关键信息,再生成
|
|
161
|
+
C. 导出信息缺口清单,人工填写后继续
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Step 4:生成三份产物
|
|
167
|
+
|
|
168
|
+
收到用户选择后,加载 `skills/artifacts/req-miner-artifacts.md`,
|
|
169
|
+
按规格生成三份产物。
|
|
170
|
+
|
|
171
|
+
**自驱模式特殊标注规则:**
|
|
172
|
+
|
|
173
|
+
- 所有通过推断而非明确确认的内容,加 `⚠️[假设:A1]` 标注
|
|
174
|
+
- 产物首页增加"假设清单"章节,汇总所有假设
|
|
175
|
+
- 验收标准中推断类标准,标注"待客户确认"
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Step 5:写入状态与日志
|
|
180
|
+
|
|
181
|
+
```python
|
|
182
|
+
# 更新 state.json
|
|
183
|
+
state["auto_req_mode"] = True
|
|
184
|
+
state["assumptions_count"] = N
|
|
185
|
+
state["info_gaps"] = [gap_list]
|
|
186
|
+
state["artifacts_generated"] = True
|
|
187
|
+
|
|
188
|
+
# 追加事件日志
|
|
189
|
+
event = {
|
|
190
|
+
"event_id": "evt_auto_req_001",
|
|
191
|
+
"type": "auto_req_completed",
|
|
192
|
+
"assumptions_count": N,
|
|
193
|
+
"info_gap_blocking": M,
|
|
194
|
+
"distillation_candidate": True
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Step 6:自动启动 Ring 2(飞轮衔接)
|
|
201
|
+
|
|
202
|
+
产物写入完成后,**直接通过 Bash 工具调用桥接脚本**,无需用户手动执行:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
./scripts/bridge-to-coder.sh {project_id} {tool}
|
|
206
|
+
# tool 默认 claude;若用户指定了其他工具则使用用户指定的
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
输出提示:
|
|
210
|
+
```
|
|
211
|
+
━━━ Ring 1 完成,自动启动 Ring 2 ━━━
|
|
212
|
+
正在调用:./scripts/bridge-to-coder.sh {project_id} {tool}
|
|
213
|
+
编程工具退出后将自动收集反馈,满足条件时自动触发蒸馏
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**注意:** bridge-to-coder.sh 会启动一个交互式编程工具会话(如 claude),
|
|
217
|
+
此时当前 AI 会话暂时挂起,等待编程工具退出后继续。
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## 自驱模式与飞轮的配合
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
输入文档
|
|
225
|
+
│
|
|
226
|
+
▼
|
|
227
|
+
自驱分析(本 Skill)
|
|
228
|
+
│ 生成三份产物 + 假设清单
|
|
229
|
+
▼
|
|
230
|
+
bridge-to-coder.sh → 编程工具实现
|
|
231
|
+
│ 实现过程中确认/否定假设
|
|
232
|
+
▼
|
|
233
|
+
feedback-hook.sh → 写入假设验证结果
|
|
234
|
+
│ 哪些假设对了,哪些错了
|
|
235
|
+
▼
|
|
236
|
+
蒸馏 → 更新"自驱推断规则"
|
|
237
|
+
│ 下次同类文档推断更准确
|
|
238
|
+
▼
|
|
239
|
+
更好的自驱分析
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**关键:每次假设被确认或否定,都是一次学习信号。**
|
|
243
|
+
积累足够多的假设验证后,自驱推断的准确率会持续提高。
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: req-miner-industry-erp
|
|
3
|
+
skill_id: req_miner_industry_erp
|
|
4
|
+
version: 2.0
|
|
5
|
+
description: >
|
|
6
|
+
需求挖掘行业包:ERP / 进销存 / 外贸 / 跨境电商。
|
|
7
|
+
当客户行业涉及以下关键词时自动加载:进销存、ERP、外贸、跨境、出口、订单管理、
|
|
8
|
+
采购管理、库存管理、外贸管理系统、阿里国际站、独立站。
|
|
9
|
+
宁可多触发,不漏触发。
|
|
10
|
+
is_required: false
|
|
11
|
+
hard_dep: [req_miner_core]
|
|
12
|
+
soft_dep: []
|
|
13
|
+
estimated_tokens: 1200
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# 行业问题包:ERP / 进销存 / 外贸
|
|
17
|
+
|
|
18
|
+
加载后,在**阶段二(场景还原)**和**阶段三(约束摸底)**期间,
|
|
19
|
+
从以下清单中选取适用问题补充挖掘。**必须覆盖该行业全业务流程,不允许有断点。**
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 通用进销存 / ERP 核心问题
|
|
24
|
+
|
|
25
|
+
**订单与销售:**
|
|
26
|
+
- "订单是否需要分批发货?"
|
|
27
|
+
- "是否有销售退货和采购退货流程?"
|
|
28
|
+
- "是否有客户等级价格体系?(不同客户不同价)"
|
|
29
|
+
- "是否支持订单复制或批量创建?"
|
|
30
|
+
- "订单状态机:新建 → 确认 → 生产中 → 已发货 → 已签收 → 已回款,每个状态的触发条件是什么?"
|
|
31
|
+
|
|
32
|
+
**库存:**
|
|
33
|
+
- "是否需要支持多仓库管理?"
|
|
34
|
+
- "批次管理是否需要有效期追踪?"
|
|
35
|
+
- "是否有安全库存设置?库存低于多少时预警?"
|
|
36
|
+
- "是否支持库存调拨(多仓之间)?调拨是否需要审批?"
|
|
37
|
+
- "成本核算用哪种方法?(加权平均 / 先进先出 / 后进先出 / 批次成本)"
|
|
38
|
+
- "损耗/报废如何处理?是否影响成本核算?"
|
|
39
|
+
|
|
40
|
+
**采购:**
|
|
41
|
+
- "是否有完整采购订单流程?(采购申请 → 采购订单 → 入库)"
|
|
42
|
+
- "是否存在寄售、代销模式?"
|
|
43
|
+
- "是否存在客制化商品(BOM 配置)?"
|
|
44
|
+
|
|
45
|
+
**财务:**
|
|
46
|
+
- "是否有应收应付账款管理?(谁欠我钱 / 我欠谁钱)"
|
|
47
|
+
- "是否需要毛利分析?需要哪些维度?(按客户 / 按商品 / 按业务员 / 按时间)"
|
|
48
|
+
- "账龄分析和逾期提醒是否必要?"
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 外贸 / 跨境电商核心问题
|
|
53
|
+
|
|
54
|
+
**必须覆盖从询盘到退税的完整链条:**
|
|
55
|
+
询盘 → 报价 → 订单 → 生产/采购 → 验货 → 报关 → 出货 → 提单 → 客户签收 → 结汇 → 退税
|
|
56
|
+
|
|
57
|
+
**询盘与报价:**
|
|
58
|
+
- "是否需要管理询盘(Inquiry)→ 报价(Quotation)→ 订单(Order)的转化?"
|
|
59
|
+
- "是否需要样品管理?(样品费、样品发货跟踪)"
|
|
60
|
+
- "客户来源渠道有哪些?(阿里国际站 / 独立站 / 展会 / 线下)"
|
|
61
|
+
|
|
62
|
+
**合同与条款:**
|
|
63
|
+
- "贸易术语用什么?(FOB / CIF / EXW / DDP)"
|
|
64
|
+
- "付款方式有哪些?(T/T 电汇 / 信用证 L/C / PayPal / 赊销)"
|
|
65
|
+
- "是否需要客户信用额度管理?(欠款上限、账期控制)"
|
|
66
|
+
|
|
67
|
+
**物流与报关:**
|
|
68
|
+
- "是否需要报关/清关信息管理?(HS 编码、报关单号)"
|
|
69
|
+
- "是否需要物流跟踪?(提单号 BL / 运单号 AWB / 船期航班跟踪)"
|
|
70
|
+
- "是否需要包装/唛头管理?(每箱数量、毛重净重、唛头图片)"
|
|
71
|
+
|
|
72
|
+
**结汇与退税:**
|
|
73
|
+
- "是否需要多币种结算?汇率由谁维护?多久更新一次?"
|
|
74
|
+
- "结汇手续由谁办理?汇率损失如何记录?"
|
|
75
|
+
- "是否需要出口退税管理?(退税比例、退税状态跟踪)"
|
|
76
|
+
|
|
77
|
+
**单据管理:**
|
|
78
|
+
- "是否需要发票管理?(形式发票 PI、商业发票 CI)"
|
|
79
|
+
- "是否需要装箱单(Packing List)自动生成?"
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 业务流程完整性——行业特定断点检查
|
|
84
|
+
|
|
85
|
+
加载本包后,阶段二结束时额外检查以下外贸特有断点:
|
|
86
|
+
|
|
87
|
+
| 环节 | 常见遗漏 |
|
|
88
|
+
|---|---|
|
|
89
|
+
| 样品流程 | 样品费是否收取、样品订单是否单独管理 |
|
|
90
|
+
| 信用证 | L/C 有效期管理、不符点处理 |
|
|
91
|
+
| 退税 | 退税状态跟踪、退税款入账 |
|
|
92
|
+
| 汇差 | 汇率损益如何记录到财务 |
|
|
93
|
+
| 售后 | 海外客户退货的物流和关税处理 |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 行业特定验收标准模板(阶段四补充)
|
|
98
|
+
|
|
99
|
+
在阶段四补充以下外贸/进销存特有验收标准:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
□ "系统支持的货币种类不少于 [N] 种,汇率可手动维护,精度为 4 位小数"
|
|
103
|
+
□ "HS 编码字段支持模糊搜索,搜索结果 < 1 秒返回"
|
|
104
|
+
□ "出库时系统按先进先出自动选择批次,不需要手动干预"
|
|
105
|
+
□ "库存低于安全库存时,系统在 [X] 小时内发出预警通知到 [指定渠道]"
|
|
106
|
+
□ "应收账款逾期超过 [N] 天时,系统自动标记并发送提醒"
|
|
107
|
+
□ "退税状态支持:未申报 / 已申报 / 已收款,状态变更记录操作人和时间"
|
|
108
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: req-miner-industry-retail
|
|
3
|
+
skill_id: req_miner_industry_retail
|
|
4
|
+
version: 0.1
|
|
5
|
+
status: planned
|
|
6
|
+
description: >
|
|
7
|
+
需求挖掘行业包:零售/门店。
|
|
8
|
+
当客户行业涉及以下关键词时加载:零售、门店、连锁、收银、会员积分、促销。
|
|
9
|
+
is_required: false
|
|
10
|
+
hard_dep: [req_miner_core]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# 行业问题包:零售 / 门店
|
|
14
|
+
|
|
15
|
+
> 🚧 本行业包待建。欢迎贡献。
|
|
16
|
+
> 参考 skills/industry/erp.md 的格式提交 PR。
|
|
17
|
+
|
|
18
|
+
## 计划覆盖内容
|
|
19
|
+
|
|
20
|
+
- 会员管理 / 积分体系
|
|
21
|
+
- 门店调拨
|
|
22
|
+
- 促销规则引擎
|
|
23
|
+
- 收银方式(现金/扫码/刷卡)
|
|
24
|
+
- 多门店报表汇总
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# 需求失败模式库
|
|
2
|
+
|
|
3
|
+
**类型:** External Memory(陈述性知识)
|
|
4
|
+
**加载时机:** 每次需求挖掘会话常驻加载
|
|
5
|
+
**更新方式:** 蒸馏后自动追加,不手动编辑
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 使用说明
|
|
10
|
+
|
|
11
|
+
每次需求挖掘对话开始时,将此文件全量加载进 context window。
|
|
12
|
+
在对话过程中,当客户的表述命中任何"触发信号"时,主动采取对应的"建议行动"。
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 模式列表
|
|
17
|
+
|
|
18
|
+
### 模式:低估复杂度
|
|
19
|
+
|
|
20
|
+
**触发信号:** "只有我用"、"简单就行"、"先做个基础版"、"功能不多"
|
|
21
|
+
**规律描述:** 客户使用简化性表达时,70% 概率在后续出现范围蔓延。真实的使用角色和功能需求通常比初始描述多 2-3 倍。
|
|
22
|
+
**建议行动:** 立即触发"枚举所有使用角色"追问序列;要求客户描述一个最复杂的业务场景(而不是最简单的)。
|
|
23
|
+
**来源项目:** 冷启动手写
|
|
24
|
+
**置信度:** 0.85
|
|
25
|
+
**最后更新:** 2024-01-15
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### 模式:委托人信息失真
|
|
30
|
+
|
|
31
|
+
**触发信号:** "我来了解一下"、"回去跟老板汇报"、"老板让我问问"、"这个我不确定,要问一下上面"
|
|
32
|
+
**规律描述:** 对话对象是委托人而非决策人时,获取的需求信息经过一次中间人过滤,关键约束(预算上限、时间节点、优先级排序)的准确性平均下降 40%。
|
|
33
|
+
**建议行动:** 识别后明确标记为"委托型"客户;建议在原型确认阶段引入真实决策人参与;所有关键决策类信息放入 Parking Lot 等待最终决策人确认。
|
|
34
|
+
**来源项目:** 冷启动手写
|
|
35
|
+
**置信度:** 0.80
|
|
36
|
+
**最后更新:** 2024-01-15
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
### 模式:技术方案先行
|
|
41
|
+
|
|
42
|
+
**触发信号:** "我们需要一个 RESTful API"、"要支持微服务"、"用 React 做前端"、"要上 Kubernetes"
|
|
43
|
+
**规律描述:** 专业型客户(IT 经理/技术负责人)容易把技术解决方案当需求提,导致业务目标被技术实现遮蔽。这类需求最常见的结果是"技术上实现了但业务问题没解决"。
|
|
44
|
+
**建议行动:** 接受技术语言,但立即转化:"这个 API 是为了解决什么业务问题?";将技术表述转化为用户故事格式:「作为[角色],我需要[功能],以便[业务目标]」
|
|
45
|
+
**来源项目:** 冷启动手写
|
|
46
|
+
**置信度:** 0.78
|
|
47
|
+
**最后更新:** 2024-01-15
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### 模式:历史失败项目包袱
|
|
52
|
+
|
|
53
|
+
**触发信号:** "之前做过一个,但没用起来"、"上次找了外包,结果..."、"我们自己开发过,后来废弃了"
|
|
54
|
+
**规律描述:** 有历史失败经验的客户,失败原因通常会在新项目中重演(如组织推广阻力、需求频繁变更、验收标准不清晰)。不挖掘失败原因,新项目大概率踩同样的坑。
|
|
55
|
+
**建议行动:** 必须追问失败原因:"最后没有用起来,主要原因是什么?是功能不对,是推广阻力,还是其他?";将失败原因转化为当前项目的风险项写入报告。
|
|
56
|
+
**来源项目:** 冷启动手写
|
|
57
|
+
**置信度:** 0.88
|
|
58
|
+
**最后更新:** 2024-01-15
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### 模式:验收标准空洞化
|
|
63
|
+
|
|
64
|
+
**触发信号:** "用起来方便就行"、"只要好用"、"功能完整就可以"、"做得专业一点"
|
|
65
|
+
**规律描述:** 这类表述在验收时必然引发争议,因为双方对"方便"、"好用"、"专业"的标准不一致。约 60% 的外包项目验收纠纷源于此类空洞验收标准。
|
|
66
|
+
**建议行动:** 立即要求具体化:"能描述一个具体的操作,操作完之后您怎么知道它做好了?";拒绝将此类表述写入验收标准,要求用 4 要素格式(主语+动作+结果+可验证)替换。
|
|
67
|
+
**来源项目:** 冷启动手写
|
|
68
|
+
**置信度:** 0.92
|
|
69
|
+
**最后更新:** 2024-01-15
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### 模式:需求在对话末期爆发
|
|
74
|
+
|
|
75
|
+
**触发信号:** 阶段三或阶段四突然提出全新的功能需求;客户说"对了,我还想要..."
|
|
76
|
+
**规律描述:** 客户在信任建立后才会透露真实的、完整的需求,而不是在对话开始时。这不是客户的问题,而是信任建立有时间过程。通常在第 20-30 轮才出现关键需求。
|
|
77
|
+
**建议行动:** 不要对新需求表现出明显的负面反应;将新需求纳入 MoSCoW 重新评估;检查是否需要回溯到更早的阶段重新确认某些退出条件。
|
|
78
|
+
**来源项目:** 冷启动手写
|
|
79
|
+
**置信度:** 0.75
|
|
80
|
+
**最后更新:** 2024-01-15
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
*本文件由蒸馏流程自动维护,请勿手动编辑已有条目。新增条目请通过蒸馏流程添加。*
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: req-mining
|
|
2
|
+
version: 1.0.0
|
|
3
|
+
description: 需求挖掘与落地飞轮
|
|
4
|
+
author: renmengkai
|
|
5
|
+
license: MIT
|
|
6
|
+
|
|
7
|
+
# 飞轮配置
|
|
8
|
+
ring1_skill: skills/req-mining/domain.md
|
|
9
|
+
ring1_artifacts_doc: ai-execution-doc.md
|
|
10
|
+
ring2_bridge: scripts/bridge-to-coder.sh
|
|
11
|
+
ring2_default_tool: claude
|
|
12
|
+
ring3_feedback_questions: skills/req-mining/feedback-questions.sh
|
|
13
|
+
|
|
14
|
+
# 激活触发词
|
|
15
|
+
triggers:
|
|
16
|
+
- "分析这份文档"
|
|
17
|
+
- "提取需求"
|
|
18
|
+
- "需求挖掘"
|
|
19
|
+
- "start req mining"
|
|
20
|
+
- "analyze document"
|
|
21
|
+
|
|
22
|
+
# 初始记忆文件
|
|
23
|
+
memory:
|
|
24
|
+
- skills/req-mining/memory/failure-patterns.md
|
|
25
|
+
|
|
26
|
+
# 可选行业包
|
|
27
|
+
industry_packs:
|
|
28
|
+
erp:
|
|
29
|
+
file: skills/req-mining/industry/erp.md
|
|
30
|
+
triggers: [进销存, ERP, 外贸, 跨境, 出口, 订单管理, 采购管理]
|
|
31
|
+
|
|
32
|
+
# 产物规格
|
|
33
|
+
artifacts:
|
|
34
|
+
spec: skills/req-mining/artifacts.md
|
|
35
|
+
outputs:
|
|
36
|
+
- name: 需求澄清报告
|
|
37
|
+
file: clarification-report.md
|
|
38
|
+
- name: AI 执行文档
|
|
39
|
+
file: ai-execution-doc.md
|
|
40
|
+
- name: 可视化原型规格
|
|
41
|
+
file: prototype-spec.md
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"project_id": "",
|
|
3
|
+
"project_name": "",
|
|
4
|
+
"client_industry": "",
|
|
5
|
+
"client_name": "",
|
|
6
|
+
"created_at": "",
|
|
7
|
+
"updated_at": "",
|
|
8
|
+
|
|
9
|
+
"current_phase": "goal_confirmation",
|
|
10
|
+
"turn_count": 0,
|
|
11
|
+
"phase_turn_counts": {
|
|
12
|
+
"goal_confirmation": 0,
|
|
13
|
+
"scene_restoration": 0,
|
|
14
|
+
"constraint_probing": 0,
|
|
15
|
+
"acceptance_definition": 0
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
"prototype_fidelity": null,
|
|
19
|
+
"prototype_fidelity_locked": false,
|
|
20
|
+
|
|
21
|
+
"exit_conditions": {
|
|
22
|
+
"goal_confirmation": {
|
|
23
|
+
"true_goal_stated": false,
|
|
24
|
+
"decision_maker_identified": false,
|
|
25
|
+
"history_checked": false
|
|
26
|
+
},
|
|
27
|
+
"scene_restoration": {
|
|
28
|
+
"scenarios_count": 0,
|
|
29
|
+
"roles_identified": false,
|
|
30
|
+
"current_process_understood": false,
|
|
31
|
+
"flow_completeness_checked": false
|
|
32
|
+
},
|
|
33
|
+
"constraint_probing": {
|
|
34
|
+
"budget_locked": false,
|
|
35
|
+
"timeline_locked": false,
|
|
36
|
+
"deployment_confirmed": false,
|
|
37
|
+
"user_scale_confirmed": false,
|
|
38
|
+
"security_confirmed": false,
|
|
39
|
+
"parking_lot_high_risk_cleared": false
|
|
40
|
+
},
|
|
41
|
+
"acceptance_definition": {
|
|
42
|
+
"functional_criteria_count": 0,
|
|
43
|
+
"nonfunctional_criteria_count": 0,
|
|
44
|
+
"out_of_scope_listed": false,
|
|
45
|
+
"parking_lot_cleared": false
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
"confirmed_info": {
|
|
50
|
+
"true_goal": null,
|
|
51
|
+
"expressed_goal": null,
|
|
52
|
+
"decision_maker": null,
|
|
53
|
+
"client_type": null,
|
|
54
|
+
"has_previous_project": null,
|
|
55
|
+
"previous_project_result": null,
|
|
56
|
+
"budget_range": {
|
|
57
|
+
"min": null,
|
|
58
|
+
"max": null,
|
|
59
|
+
"currency": "CNY",
|
|
60
|
+
"locked": false
|
|
61
|
+
},
|
|
62
|
+
"timeline": null,
|
|
63
|
+
"deployment_type": null,
|
|
64
|
+
"mobile_required": null,
|
|
65
|
+
"user_scale": null,
|
|
66
|
+
"roles": [],
|
|
67
|
+
"must_have": [],
|
|
68
|
+
"should_have": [],
|
|
69
|
+
"wont_have": [],
|
|
70
|
+
"integrations": [],
|
|
71
|
+
"security_requirements": [],
|
|
72
|
+
"acceptance_criteria": []
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
"parking_lot": [],
|
|
76
|
+
|
|
77
|
+
"contradictions": [],
|
|
78
|
+
|
|
79
|
+
"uncovered_decisions": [],
|
|
80
|
+
|
|
81
|
+
"skills_loaded": [],
|
|
82
|
+
|
|
83
|
+
"distilled": false,
|
|
84
|
+
"distilled_at": null,
|
|
85
|
+
|
|
86
|
+
"dialog_summary": null,
|
|
87
|
+
|
|
88
|
+
"artifacts_generated": false,
|
|
89
|
+
"artifacts_path": null
|
|
90
|
+
}
|