docs(ai-prompt): 9 APP system prompt 独立 MD 目录 + ai-app-prompts.md 瘦身改造 (W1 / F3-2C)

Neo 反馈: 我把百炼 8 APP 的 system prompt 更新到了 ai_system_prompt_by_app.md,
帮我整理成单独 8+1 个文件, 加说明, 放合适目录, 妥善保管。

新增 docs/ai/system-prompts/ 目录:
- _INDEX.md (关系图 + APP ID 映射 + 同步状态表 + SOP)
- 9 份独立 MD: app1_chat / app2_finance / app2a_finance_area /
  app3_clue / app4_analysis / app5_tactics /
  app6_note / app7_customer / app8_consolidation
- 每份带元信息表 + 场景 + 提示词参数 + system prompt 全文 +
  协作关系 + 同步历史 (用 4 反引号 ````text 避免内部 ```json 冲突)

App2a 厘清 (状态 A):
- 与 App2 是两个独立百炼 APP, APP_ID 0ae965029bc54706bcff44f511ac716b
- 显示名 ZQYY-APP2a-指定区域财务洞察, env DASHSCOPE_APP_ID_2A_FINANCE_AREA
- prompt 是 App2 5/5 版本的精细化扩充: H6 新增'助教成本特殊规则'+
  板块 D 新增'助教字段缺失业态判断'(麻将/KTV 缺失=业态正常 /
  大厅/VIP/斯诺克 缺失=业态异常)

改名 + Banner:
- docs/ai/ai_system_prompt_by_app.md
  -> docs/ai/system-prompts/_snapshot-20260505-source.md
  (git mv 保留历史; 文件头加 Banner 说明已被拆分)

A 处置 docs/prd/ai-app-prompts.md (Neo 同意):
- 727 行 -> 110 行 (减 84.9%)
- 标题改为 '百炼平台 AI 应用集成实现规范'
- 删 8 APP system prompt 章节 (已迁移)
- 留 NS2 实现要点 + APP ID 映射 (补 App2a 行) + 前端消费方式 (补 App2a 行) + 附录代码审计对照表

修正认知错误:
- 5/4 F3-2-prompt-files-list.md 给的对照逻辑 (对照 .py 与云端) 是错的
- .py 是 user message 拼装代码, 不是 system prompt 备份
- 5/5 重写该文件: 对照对象改为 docs/ai/system-prompts/*.md

详见 docs/audit/changes/2026-05-05__wave1_f3_2c_system_prompts_split.md
This commit is contained in:
Neo
2026-05-05 02:03:20 +08:00
parent f92f2d98f3
commit b3ad4b8325
15 changed files with 2841 additions and 1036 deletions

View File

@@ -0,0 +1,123 @@
# 百炼 AI 应用 System Prompt 集中管理
> 8 个百炼 AI 应用的 system prompt 在云端权威、本地 git 备份。
> 维护人:Neo / 创建日期:2026-05-05 / 来源拆分:`docs/prd/ai-app-prompts.md`
## 一、为什么有这个目录
历史上 8 个 AI 应用的 system prompt **集中**在 `docs/prd/ai-app-prompts.md` 一个文件里(2026-03-21 最后同步,内容已 stale 40+ 天)。
为方便**逐 APP 独立维护、独立 commit、独立 diff**,2026-05-05 拆成本目录下 8 份独立文件。
## 二、三层关系(关键澄清)
```
[云端权威]
百炼控制台 8 APP system prompt + 角色设定
↓ Neo 人工同步(对照后粘贴)
[本地 MD 快照 — 本目录]
docs/ai/system-prompts/
├─ app1_chat.md
├─ app2_finance.md (引用 ../app2_finance_system_prompt_20260422_v5_1.md)
├─ app2a_finance_area.md (引用 ../app2a_finance_area_system_prompt_20260422_v1.md)
├─ app3_clue.md
├─ app4_analysis.md
├─ app5_tactics.md
├─ app6_note.md
├─ app7_customer.md
├─ app8_consolidation.md
└─ _industry-context-by-app.md (8 APP 行业背景片段汇总,粘贴到 system prompt 顶部用)
× 不是同一份内容
[本地 .py 代码 — 不要混淆]
apps/backend/app/ai/prompts/app[2-8]_*_prompt.py
→ 这些 .py 是 **user message(数据载荷)拼装代码**,
不是 system prompt。SDK 调用时上传给百炼,
百炼云端的 system prompt 才是 LLM 真正读到的角色设定。
```
**结论**:
- ✅ MD 文件 ↔ 云端 system prompt:**有对照关系**(本文档要追的就是这个)
-`.py` 文件 ↔ 云端 system prompt:**没有对照关系**(不要 diff)
- ⚠️ 不存在 `app1_chat_prompt.py`(App1 是 SSE 流式,user message 直接由 chat 流处理,无独立拼装文件)
## 三、APP ID 与环境变量映射(2026-03-22,P14 DashScope 迁移)
| APP | 中文名 | 环境变量 | 百炼 APP ID | 模型 | temperature | 独立 MD |
|---|---|---|---|---|---|---|
| 1 | 通用对话 | `DASHSCOPE_APP_ID_1_CHAT` | `979dabe6f22a43989632b8c662cac97c` | Qwen3.5-Plus | 0.7 | [app1_chat.md](app1_chat.md) |
| 2 | 财务洞察 | `DASHSCOPE_APP_ID_2_FINANCE` | `1dcdb5f39c3040b6af8ef79215b9b051` | Qwen3-Max-Preview | 0 | [app2_finance.md](app2_finance.md) |
| 2a | 财务洞察(区域)`ZQYY-APP2a-指定区域财务洞察` | `DASHSCOPE_APP_ID_2A_FINANCE_AREA` | `0ae965029bc54706bcff44f511ac716b` | Qwen3-Max-Preview | 0 | [app2a_finance_area.md](app2a_finance_area.md) |
| 3 | 客户数据维客线索分析 | `DASHSCOPE_APP_ID_3_CLUE` | `708bf45439cd48c7ab9a514d03482890` | Qwen3-Max-Preview | 0 | [app3_clue.md](app3_clue.md) |
| 4 | 关系分析 / 任务建议 | `DASHSCOPE_APP_ID_4_ANALYSIS` | `ea7b1c374f574b9a925a2fb5789a9b90` | Qwen3-Max-Preview | 0 | [app4_analysis.md](app4_analysis.md) |
| 5 | 话术参考 | `DASHSCOPE_APP_ID_5_TACTICS` | `46f54e6053df4bb0b83be29366025cf6` | Qwen3.5-Plus | 0.8 | [app5_tactics.md](app5_tactics.md) |
| 6 | 备注分析 | `DASHSCOPE_APP_ID_6_NOTE` | `025bb344146b4e4e8be30c444adab3b4` | Qwen3-Max-Preview | 0 | [app6_note.md](app6_note.md) |
| 7 | 客户分析 | `DASHSCOPE_APP_ID_7_CUSTOMER` | `df35e06991b24d49971c03c6428a9c87` | Qwen3-Max-Preview | 0 | [app7_customer.md](app7_customer.md) |
| 8 | 维客线索整理 | `DASHSCOPE_APP_ID_8_CONSOLIDATE` | `407dfb89283b4196934eec5fefe3ebc2` | Qwen3-Max-Preview | 0 | [app8_consolidation.md](app8_consolidation.md) |
## 四、同步状态表(Neo 维护)
| APP | 最后同步 | 状态 | 同步人 | 备注 |
|---|---|---|---|---|
| 1 (chat) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md) |
| 2 (finance) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md);prompt 已升级为"区域业态专员"模式 |
| 2a (finance_area) | **2026-05-05** | ✅ 最新 | Neo | 已确认状态 A:与 App2 是两个独立百炼 APP;App2a 是 App2 5/5 版本的精细化扩充(H6 + 板块 D 助教成本特殊规则) |
| 3 (clue) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md) |
| 4 (analysis) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md) |
| 5 (tactics) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md) |
| 6 (note) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md) |
| 7 (customer) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md) |
| 8 (consolidation) | **2026-05-05** | ✅ 最新 | Neo | 内容来源 [`_snapshot-20260505-source.md`](_snapshot-20260505-source.md) |
> ✅ 9 APP(含 App2a)system prompt 已于 2026-05-05 全部从百炼控制台同步到位。
> ⚠️ App2a 百炼 APP_ID 待 Neo 补全(本目录 §三 表格)。
## 五、同步流程(SOP)
每次云端 prompt 调整后:
1. 打开百炼控制台 → 进入对应 APP → 配置页 → 复制 system prompt 全文
2. 打开本目录对应 MD 文件(如 `app3_clue.md`)
3. 替换 `## System Prompt(云端快照)` 章节内容
4. 修改元信息表里的"最后同步"日期 + "同步人"
5. 在"同步历史"章节追加一行
6. 修改本文件 §四 同步状态表对应行
7. `git add docs/ai/system-prompts/<file>.md _INDEX.md && git commit -m "docs(ai-prompt): 同步 AppN system prompt 至 YYYY-MM-DD"`
## 六、前端消费方式速查
| APP | 展示位置 | 数据来源 | 备注 |
|---|---|---|---|
| 1 | chat 页面 | SSE 流式 + `ai_messages` | 实时对话 |
| 2 | board-finance | `ai_cache (app2_finance)` | 洞察卡片 |
| 2a | board-finance(area≠all) | `ai_cache (app2a_finance_area)` | 区域洞察 |
| 3 | 不展示 | `ai_cache (app3_clue)` | 供 App8 整合 |
| 4 | task-detail + task-list 卡片摘要 | `ai_cache (app4_analysis)` | summary 在卡片显示 |
| 5 | task-detail | `ai_cache (app5_tactics)` | 话术列表 |
| 6 | task-detail 备注卡片(打星) | `ai_cache (app6_note_analysis)` | 线索供 App8 |
| 7 | customer-detail | `ai_cache (app7_customer_analysis)` | 策略+总结 |
| 8 | customer-detail + task-detail | `member_retention_clue` | By:系统/By:备注 |
## 七、关联文档
- **行业背景片段汇总**:[`_industry-context-by-app.md`](_industry-context-by-app.md)(8 APP system prompt **顶部**粘贴的"行业背景"块,与各自 system prompt 内容**不重合**)
- **F3-2B Prompt 文件清单**:[`docs/_overview/wave1-findings/F3-2-prompt-files-list.md`](../../_overview/wave1-findings/F3-2-prompt-files-list.md)
- **App2 历史多版本**(已封存,仅作回溯):
- [`../app2_finance_system_prompt_v3.md`](../app2_finance_system_prompt_v3.md)
- [`../app2_finance_system_prompt_20260422.md`](../app2_finance_system_prompt_20260422.md)
- [`../app2_finance_system_prompt_20260422_v4_concise.md`](../app2_finance_system_prompt_20260422_v4_concise.md)
- [`../app2_finance_system_prompt_20260422_v5.md`](../app2_finance_system_prompt_20260422_v5.md)
- [`../app2_finance_system_prompt_20260422_v5_1.md`](../app2_finance_system_prompt_20260422_v5_1.md) ← App2 当前最新
- [`../app2_finance_prompt_version_history.md`](../app2_finance_prompt_version_history.md)
- **App2a 当前最新**:[`../app2a_finance_area_system_prompt_20260422_v1.md`](../app2a_finance_area_system_prompt_20260422_v1.md)
- **App2 设计文档**:[`../app2_finance_multi_app_design.md`](../app2_finance_multi_app_design.md)
- **AI 应用验收 spec**:[`../ai_apps_feature_acceptance_spec.md`](../ai_apps_feature_acceptance_spec.md)
- **运行时实现要点**(NS2 后端):见 [`docs/prd/ai-app-prompts.md`](../../prd/ai-app-prompts.md) NS2 章节
- **代码 user message 拼装**:`apps/backend/app/ai/prompts/app[2-8]_*_prompt.py`
## 八、后续待办
- [x] ~~App2a 厘清~~(2026-05-05 已确认状态 A:独立 APP,prompt 已同步)
- [ ] **App2a APP_ID 补全**:在本目录 §三 表格中填 App2a 的百炼 APP ID 和环境变量名(Neo 从百炼控制台抄)
- [ ] (可选)搭定时机制:每月初 hook 提醒检查云端 prompt 是否有调整