@optima-chat/optima-agent 0.9.45 → 0.9.47
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.
|
@@ -8,8 +8,8 @@ description: "基于 IPD 方法论的产品研究全生命周期工具。在 ~/k
|
|
|
8
8
|
## 启动 SOP
|
|
9
9
|
|
|
10
10
|
1. 检查 `~/kb/product-research/` 是否存在
|
|
11
|
-
- 不存在 → 使用 kb-skills 的 initializing-kb 流程创建,**KB 名称必须是 `product-research`**,不要复用其他已有 KB
|
|
12
|
-
- **必须询问用户填写 `wiki/entities/seller-profile.md`
|
|
11
|
+
- 不存在 → 使用 kb-skills 的 initializing-kb 流程创建,**KB 名称必须是 `product-research`**,不要复用其他已有 KB。用 `cp` 命令将 `template/kb/` 下的模板文件复制到 KB 对应位置(AGENTS.md、wiki/entities/seller-profile.md、wiki/overview/roadmap.md、wiki/overview/cbb.md)。
|
|
12
|
+
- **必须询问用户填写 `wiki/entities/seller-profile.md` 的关键字段**(至少:主营市场、目标价位、最低毛利率、最低净利率、单品启动预算)。**严格使用用户回答的数值,不要自行调整。**
|
|
13
13
|
2. 检查 `wiki/entities/seller-profile.md` 是否已填写关键字段
|
|
14
14
|
- 未填写 → 必须询问(不能跳过关键字段:最低毛利率、最低净利率、单品启动预算)
|
|
15
15
|
3. 读取 `~/kb/product-research/wiki/entities/seller-profile.md` + `~/kb/product-research/index.md` + `~/kb/product-research/wiki/overview/roadmap.md` + `~/kb/product-research/wiki/overview/cbb.md`
|
|
@@ -116,19 +116,21 @@
|
|
|
116
116
|
|
|
117
117
|
**Ingest 完成后执行检查。10 项全部通过才能进入分析阶段。任何一项未通过 → 补齐后重新检查。**
|
|
118
118
|
|
|
119
|
+
**检查方法:必须用 `ls` 或 `Glob` 实际验证文件是否存在,不要凭记忆或推测判断。**
|
|
120
|
+
|
|
119
121
|
```
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
□ 搜索覆盖度:wiki/sources
|
|
123
|
-
□ 子品类聚类:wiki/overview/market-{slug}.md
|
|
124
|
-
□
|
|
125
|
-
□
|
|
126
|
-
□
|
|
127
|
-
□
|
|
128
|
-
□
|
|
129
|
-
□
|
|
130
|
-
□
|
|
131
|
-
□ Ingest
|
|
122
|
+
数据完整性检查清单(每项必须用命令验证):
|
|
123
|
+
|
|
124
|
+
□ 搜索覆盖度:ls wiki/sources/*search* 确认有 ≥ 3 组搜索来源页,合计覆盖 ≥ 30 个不重复 ASIN
|
|
125
|
+
□ 子品类聚类:cat wiki/overview/market-{slug}.md 确认有 ≥ 5 个子品类行
|
|
126
|
+
□ 精确搜索量:ls wiki/sources/*sp-keywords-mine* 确认来源页存在
|
|
127
|
+
□ 品牌集中度:ls wiki/sources/*sp-brands* 确认来源页存在
|
|
128
|
+
□ 卖家国籍:ls wiki/sources/*sp-seller-countries* 确认来源页存在
|
|
129
|
+
□ 卖家类型:ls wiki/sources/*sp-seller-types* 确认来源页存在
|
|
130
|
+
□ 供应端成本:ls wiki/sources/*supplier-search* 确认来源页存在,且包含 ≥ 3 家供应商
|
|
131
|
+
□ 趋势信号:ls wiki/sources/*tiktok* wiki/sources/*reddit* wiki/sources/*twitter* wiki/sources/*instagram* 确认 ≥ 2 个平台
|
|
132
|
+
□ 缓存完整:ls ~/.scout/cache/{project}/ | wc -l 确认文件数 ≥ 采集命令数
|
|
133
|
+
□ Ingest 完整:对比 ls raw/ 和 ls wiki/sources/ 确认一一对应
|
|
132
134
|
```
|
|
133
135
|
|
|
134
136
|
**输出格式**:
|
|
@@ -70,29 +70,38 @@ It is just hoarding goods
|
|
|
70
70
|
|
|
71
71
|
写脚本时的判断:
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
**你的唯一任务:识别 NG 重拍 + 完全无意义填充语,删掉。其它一律保留。**
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
3. **重申/落地句**:核心卖点的二次出现,**判别启发**(关键,区分"重申要留" vs "NG 要删"):
|
|
79
|
-
- 换了角度? 地理 → 产品形态 → 操作步骤 / 实例 → 概念 → 是 → **留**
|
|
80
|
-
- 加了新信息? 新数字 / 新案例 / 新时间 → 是 → **留**
|
|
81
|
-
- 完全等价、只是措辞不同?(如"我做这个挺久了" / "做了三四年了")→ 否 → **算 NG 重拍,删一遍**
|
|
75
|
+
> ⚠️ 这条规则 2026-05-08 重写过(之前是"保留率 ≥ 60% + 三类必留 + 两类才删"):
|
|
76
|
+
>
|
|
77
|
+
> 实证显示百分比硬规则不工作 — LLM 心算字数飘 + 用户感觉"删多了"的真实原因是误删了非 NG 的内容句。改成**只删两类,边界明确**,不再设字数门槛。**卡顿/停顿由工具阈值控制**(下方 smart-cut 已放宽),不是 prompt 层判断。
|
|
82
78
|
|
|
83
|
-
|
|
84
|
-
1. **完全填充语**:`嗯`/`啊`/`呃`/`这个`/`那个`/`然后`,且单独成句、上下文无意义
|
|
85
|
-
2. **明确 NG 重拍**:同一句话出现 take A 和 take B(措辞可能不同但信息等价),选信息更全的留
|
|
79
|
+
**只删两类**(明确边界 + 反例):
|
|
86
80
|
|
|
87
|
-
|
|
81
|
+
1. **NG 重拍** = whisper 转写中**前后字面相同的字串**(2+ 字)出现两次。通常因为主播照稿子念时卡顿,然后从前面几个字重念。
|
|
82
|
+
- ✅ 删:转写得 `我们在我们在做跨境电商` → 删一份 `我们在`(留 `我们在做跨境电商`)
|
|
83
|
+
- ✅ 删:转写得 `批量打爆批量打爆你的店铺` → 删一份 `批量打爆`
|
|
84
|
+
- ✅ 删:转写得 `如果你想如果你想做店铺` → 删一份 `如果你想`
|
|
85
|
+
- **判定标准:字面相同字串 ≥ 2 字**(不是同义,是字面一致)
|
|
86
|
+
- 工具(`smart-cut HARD repeated-content`)会自动检测 4+ 字字面重复并阻断,你也可以预先在 cut_proposal 里看相邻 phrase 文本扫一眼
|
|
88
87
|
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
88
|
+
**以下不算 NG,默认保留**:
|
|
89
|
+
- **同义不同字**(如 `我做这个挺久了` / `做了三四年了`)— 字面不重复,留两个 OR 选措辞流畅那个,**不强制删**
|
|
90
|
+
- **同事实换措辞强调**(如 `日发四万单` + 后段 `我们日均出货四万`)— 字面不重复,留措辞好的就行,不强制删
|
|
91
|
+
- **同概念不同角度**(如 `海外货盘` + `一件代发`)— 信息有增量,**两个都留**
|
|
92
|
+
- 关键启发:**LLM 不可靠地判断"同义",但可靠地判断"字面相同"。所以 NG 严格收窄到字面级**
|
|
93
|
+
|
|
94
|
+
2. **完全无意义填充语**:`嗯`/`啊`/`呃` 单字**独立成短语**(不嵌在句中)。嵌在句中作为停顿语气词的**不删**。
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
**其它一律保留**:钩子条件句、背景前缀、重申/铺垫、引导词、CTA、即使你觉得"不那么核心"的句子。**不确定就留**。
|
|
97
|
+
|
|
98
|
+
**卡顿/短停顿/词尾喘气由 smart-cut 工具自动处理**(silencedetect + RMS 软停顿 + 残留验证三层),**不是你的工作**。短停顿(< 0.30s)是自然语流,工具会保留;长停顿才删。
|
|
99
|
+
|
|
100
|
+
**通用约束**(写法层):
|
|
101
|
+
- **中文必须用原文措辞**——不要润色或改写,否则匹配不上
|
|
102
|
+
- **每行 ≤ 10 个汉字**——超过会显示挤、可能溢出视频边界
|
|
103
|
+
- **`**关键词**` 标记 1-2 个**:挑能传达这句"重点信息"的实词(名词/动词),不要标助词、口头禅;短语里没明显重点就 0 个标记
|
|
104
|
+
- **英文翻译要地道、口语化**——给海外用户看的,不是直译。短句即可,可省略主语。
|
|
96
105
|
|
|
97
106
|
**写完后必做的自查(保存前)**:把 final_script 当成一段**连续口播稿**通读一遍——不是一行行检查,是**整体读**。问自己:
|
|
98
107
|
|
|
@@ -163,26 +172,27 @@ video-edit smart-cut <video>
|
|
|
163
172
|
|
|
164
173
|
## 写脚本的心法
|
|
165
174
|
|
|
166
|
-
|
|
175
|
+
读 proposal 时**逐 phrase 判断**(简化决策树):
|
|
167
176
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
3. 这句是明确 NG 重拍的较差版?(同一意思 take A 和 take B 选其一)→ 跳过较差那遍
|
|
172
|
-
4. 不属于上述任一类 → **默认留**(不确定就留,不要默认删)
|
|
177
|
+
1. 这句是 NG 重拍?(口误/吞字后当场重说同一句)→ 删较差那遍
|
|
178
|
+
2. 这句是孤立 `嗯/啊/呃` 单字独立短语?→ 跳过
|
|
179
|
+
3. 其它(包括钩子/背景/重申/引导/听起来"不太核心"的句子)→ **保留**
|
|
173
180
|
|
|
174
|
-
|
|
181
|
+
不算字数,不设比例。**疑则留**。
|
|
175
182
|
|
|
176
|
-
**关键纪律 1
|
|
177
|
-
|
|
183
|
+
**关键纪律 1**:脚本里的字**必须**来自原始转写——直接复制 proposal 里的 phrase 文本最稳。
|
|
184
|
+
你想怎么润色都不行(系统按字符匹配,改了字就匹不上)。
|
|
178
185
|
|
|
179
|
-
**关键纪律 2
|
|
186
|
+
**关键纪律 2**:**只识别 NG,卡顿交给工具**。你不要在 prompt 层做"内容是不是太长" / "保留率够不够"的判断 — 那是工具阈值的事,smart-cut 会自动删卡顿/短停顿/喘气。
|
|
180
187
|
|
|
181
|
-
> ⚠️ 这条纪律 2026-05-
|
|
188
|
+
> ⚠️ 这条纪律 2026-05-08 重写过(经历两次反转):
|
|
189
|
+
> - 2026-05-07 之前:"宁可激进删,删多了用户能加回来"
|
|
190
|
+
> - 2026-05-07:反转为"宁可保守 + 60% 保留率",理由是开拍对比发现我们删多了内容(钩子/重申被删)
|
|
191
|
+
> - 2026-05-08:再次重写为"只识别 NG,其它全留",理由是 60% 硬规则 LLM 心算飘 + 工具阈值同步放宽,prompt 层不需要数字约束
|
|
182
192
|
>
|
|
183
|
-
>
|
|
193
|
+
> 现在的模型:**agent 只判断 NG;静音/卡顿由 smart-cut 工具阈值控制**(`DELETE_SILENCE_MIN=0.30s`/`RESIDUAL_PAUSE_MAX=0.50s`)。两层职责不再交叉。
|
|
184
194
|
>
|
|
185
|
-
>
|
|
195
|
+
> 详见 [P0 spec](https://github.com/Optima-Chat/video-edit-skill-spec/blob/main/docs/spec/P0-content-preservation.md) 和 [ADR](https://github.com/Optima-Chat/video-edit-skill-spec/blob/main/docs/decisions/2026-05-07-stop-pause-tightening.md)。
|
|
186
196
|
|
|
187
197
|
## 交付怎么说
|
|
188
198
|
|