# Wave 1 F3-2C — System Prompt 独立 MD 目录建立 + 拆分 + 修正认知错误

| 字段 | 值 |
|---|---|
| 日期 | 2026-05-05 |
| Wave | 1 / Day 5 收尾(F3-2 系列) |
| 范围 | 建立 `docs/ai/system-prompts/` 目录;8 APP system prompt 拆出独立 MD;Neo 同步事件入仓;修正 F3-2B 认知错误 |
| 文件改动 | 新增 11 文件(_INDEX + 9 APP MD)+ 1 文件改名 + 2 文件指引修正 + 1 审计 |

## 一、起因

Neo 5/5 反馈:
> 我把百炼平台 8 个 APP 的 system prompt 更新到了被删除的文件里(`docs/ai/ai_system_prompt_by_app.md`),你帮我整理好成单独的 8 个文件(加 2a 是 9 个),并加上一些说明,放在合适的目录下并妥善保管。

附带要求:
- 选择 B 方案:拆 8 份独立 MD(加 App2a = 9 份)
- 把 `ai_system_prompt_by_app.md` 移出原位置

## 二、关键认知修正(F3-2B 纠错)

之前 5/4 F3-2B 给 Neo 的对照清单(`docs/_overview/wave1-findings/F3-2-prompt-files-list.md`)逻辑是错的:

❌ 旧逻辑:让 Neo 对照 `apps/backend/app/ai/prompts/app[2-8]_*_prompt.py` 与百炼控制台 system prompt

**真相**(由 `apps/backend/app/ai/prompts/app2_finance_prompt.py:7` 注释证实):
- `.py` 文件 = **user message 拼装代码**(数据 JSON + 中文翻译)
- system prompt 在**百炼控制台**配置
- 二者**没有对照关系**,不应 diff

✅ 新逻辑:对照 `docs/ai/system-prompts/app<N>_<name>.md` 与百炼控制台。

此认知修正避免 Neo 走错一遍 8 APP 的 diff,是 F3-2C 的核心价值。

## 三、Neo 5/5 同步事件细节

Neo 在 `docs/ai/ai_system_prompt_by_app.md`(原"行业背景片段汇总")中**一次性更新了 8 APP 完整 system prompt**(817 行):
- App1 / App2 / App3 / App4 / App5 / App6 / App7 / App8 全部从云端复制
- App2 章节内容已升级为"区域业态专员"模式(254 行,加 H1-H7 硬约束 + 12 条 seq + 板块 A-F)
- App2a 未单独同步(Neo 让 Claude 帮补充)

## 四、目录结构(F3-2C 产出)

```
docs/ai/system-prompts/
├─ _INDEX.md                              ← 关系图 + APP ID 映射 + 同步状态表 + SOP
├─ _snapshot-20260505-source.md           ← 5/5 全量快照源(原 ai_system_prompt_by_app.md 改名)
├─ app1_chat.md                           ← 5/5 已同步最新
├─ app2_finance.md                        ← 5/5 已同步最新(区域业态专员模式)
├─ app2a_finance_area.md                  ← 4/22 v1 + ⚠️ 待 Neo 厘清 App2 vs App2a 关系
├─ app3_clue.md                           ← 5/5 已同步最新
├─ app4_analysis.md                       ← 5/5 已同步最新
├─ app5_tactics.md                        ← 5/5 已同步最新
├─ app6_note.md                           ← 5/5 已同步最新
├─ app7_customer.md                       ← 5/5 已同步最新
└─ app8_consolidation.md                  ← 5/5 已同步最新
```

每份独立 MD 包含:
- 元信息表(APP ID / env / 模型 / temperature / 最后同步 / 关联代码)
- 场景与所需背景
- 提示词参数(`biz_params.user_prompt_params`)
- **System Prompt(云端快照,2026-05-05)**(用 ````text 4 反引号外层避免内部 ```json 冲突)
- 协作关系
- 同步历史(可追溯每次同步)

## 五、改动摘要

### 5.1 新增 11 文件

- `docs/ai/system-prompts/_INDEX.md`:关系图 + APP ID 映射 + 同步状态表 + 同步流程 SOP
- `docs/ai/system-prompts/app1_chat.md` ~ `app8_consolidation.md`(8 份)
- `docs/ai/system-prompts/app2a_finance_area.md`:特殊版,引用 4/22 v1,标注 App2 vs App2a 关系待 Neo 厘清

### 5.2 改名 1 文件

`docs/ai/ai_system_prompt_by_app.md` → `docs/ai/system-prompts/_snapshot-20260505-source.md`
- 用 `git mv` 移动 + 改名(保留 git 历史)
- 加文件头 Banner 说明已被拆分,本文件作为 5/5 时点全量快照参考

### 5.3 修正 2 文件

- `docs/_overview/wave1-findings/F3-2-prompt-files-list.md`:全文重写,**修正 .py vs system prompt 的认知错误**,新增对照流程指向 `docs/ai/system-prompts/`
- `docs/prd/ai-app-prompts.md`:在文件头部加 Banner,指引"system prompt 内容已迁移到 `docs/ai/system-prompts/`",本文件保留 NS2 实现要点 / APP ID 映射 / 前端消费方式 / 附录代码审计对照表

### 5.4 撤销前期错误

5/4 F3-2C 一开始(本次 session 早段)我用过时的 `docs/prd/ai-app-prompts.md`(2026-03-21)作为源切了 8 份独立 MD,这是错误的。已用 Neo 5/5 同步的最新内容覆盖。

## 六、App2a 厘清 + 同步入仓(2026-05-05 已完成)

Neo 同日在百炼控制台核对确认:**状态 A** — App2 与 App2a 是两个独立百炼 APP(独立 APP_ID,各自的 system prompt)。

Neo 提供 App2a 完整 system prompt,已写入 `app2a_finance_area.md` §五。**关键发现**:App2a prompt 是 App2 5/5 版本的**精细化扩充**:
- H6 新增"助教成本的特殊规则":声明助教字段来自 DWS `dws_coach_area_hours` 按 area_code 精确聚合,只有"字段存在"和"字段整块缺失"两种状态,不存在"值=0";禁用"数据稀疏"等表述
- 板块 D 新增"助教字段缺失业态判断":麻将房/团建房 缺失属业态正常 / 大厅/VIP/斯诺克 缺失属业态异常(必须作为隐患)

App2a 文件已更新:
- §一 元信息:最后同步 → 2026-05-05;APP_ID 待 Neo 补全(状态 A 确认 = 独立 APP_ID,具体值要从百炼抄)
- §二 删除"待厘清"段 → 改为"已确认状态 A + Prompt 关系详述"
- §五 完整 prompt 全文(用 ````text 4 反引号外层避免 ```json 冲突)
- §六 与 App2 关键差异速查表
- §九 同步历史追加 5/5 行

同步状态表(`_INDEX.md` §四 / `F3-2-prompt-files-list.md` §四)对应行更新为 ✅。

## 七、App2a APP_ID 补全 + ai-app-prompts.md A 处置(2026-05-05 已完成)

### 7.1 App2a APP_ID 补全(Neo 提供)

Neo 提供:
- 百炼显示名:`ZQYY-APP2a-指定区域财务洞察`
- APP ID:`0ae965029bc54706bcff44f511ac716b`
- 环境变量:`DASHSCOPE_APP_ID_2A_FINANCE_AREA`(代码 `apps/backend/app/ai/config.py:21,41` 验证 2026-04-23 P14 注册时已命名)

补全位置:
- [`docs/ai/system-prompts/_INDEX.md`](../../ai/system-prompts/_INDEX.md) §三 APP ID 与环境变量映射表 — App2a 行
- [`docs/ai/system-prompts/app2a_finance_area.md`](../../ai/system-prompts/app2a_finance_area.md) §一 元信息表
- [`docs/prd/ai-app-prompts.md`](../../prd/ai-app-prompts.md) §应用 ID 与环境变量映射表(本节加新行 + 更新章节标题"2026-04-23 App2a 注册 / 2026-05-05 同步对齐")

### 7.2 `docs/prd/ai-app-prompts.md` A 处置(Neo 同意)

Neo 决策:**选项 A** — 改造瘦身,留 `docs/prd/`,删 stale 8 APP system prompt 章节。

执行:
- 文件从 727 行 → 110 行(减 84.9%)
- 标题改为"百炼平台 AI 应用集成实现规范"(原"百炼平台 AI 应用提示词")
- 路径保留 `docs/prd/ai-app-prompts.md` 不变(避免动其他文档引用)
- **删除**:§应用 1-8 完整 system prompt 章节(line 79-690,共 ~611 行,已迁移到 `docs/ai/system-prompts/`)
- **保留**:文件头(更新 Banner 反映 9 APP)+ NS2 后端实现要点(补 App2a 的 biz_params 注入说明)+ APP ID 映射表(补 App2a 行)+ 前端消费方式速查(补 App2a 行)+ 附录代码审计对照表(2026-03-21,标"历史回溯")
- **新增**:文件末尾"改造历史"表(记录 2026-03-21 创建 / 2026-03-22 P14 迁移 / 2026-04-23 App2a 注册 / 2026-05-05 F3-2C 改造瘦身)

## 八、F3-2C 完整收口清单

- [x] 建立 `docs/ai/system-prompts/` 目录 + `_INDEX.md`
- [x] 9 份独立 MD(App1/2/2a/3/4/5/6/7/8)
- [x] git mv `ai_system_prompt_by_app.md` → `_snapshot-20260505-source.md` + 加 Banner
- [x] App2a 厘清(状态 A)+ system prompt 入仓 + APP_ID 补全
- [x] `docs/prd/ai-app-prompts.md` A 处置(瘦身改造)
- [x] `F3-2-prompt-files-list.md` 重写修正 .py vs system prompt 认知错误
- [x] App2a 关键差异速查表(H6 + 板块 D 助教成本规则)
- [x] 后续待办全部清空

## 九、`docs/prd/ai-app-prompts.md` 处置回顾(已选 A)

## 七、风险与回滚

| 项 | 风险 | 回滚 |
|---|---|---|
| 9 份独立 MD 新增 | 低 — 内容来自 Neo 已确认的云端同步 | `git rm docs/ai/system-prompts/app*.md _INDEX.md` |
| `ai_system_prompt_by_app.md` 改名 | 低 — git mv 保留历史 | `git mv docs/ai/system-prompts/_snapshot-20260505-source.md docs/ai/ai_system_prompt_by_app.md` |
| `docs/prd/ai-app-prompts.md` 加 Banner | 极低 — 仅头部 Banner 加,主体内容未删 | 删除 Banner 段即可 |
| F3-2-prompt-files-list.md 重写 | 低 — 修正错误指引 | 见 git history |

## 八、关联

- F3-2B 原决策(5/4):Neo 选 B 云端权威 + git 备份(`01-W1-findings-response.md` §10.4)
- F3-2-prompt-files-list.md(5/4 创建,5/5 重写)
- 后续 Wave 2-3 待办:F2-1B 防御机制 hook(改 router 提醒抓 OpenAPI),F3-2C 同类机制(改 router 不影响 prompt,但可加月初提醒对照 prompt)

## 九、`docs/prd/ai-app-prompts.md` 处置建议(待 Neo 决策)

**现状**:文件 712 行,主体是 8 APP 完整 system prompt(已 stale,正式权威源已迁移到 `docs/ai/system-prompts/`)。剩下有价值的部分:

| 章节 | 内容 | 是否仍权威 |
|---|---|---|
| 文件头 + Banner | 引导 + 元信息说明 | ✅ 已加迁移 Banner |
| NS2 后端实现要点 | 应用 1 的 10 种 contextType 数据来源映射 + 应用 3-7 的 biz_params 注入机制 + Token 预算约束 | ✅ 实现规范 |
| 应用 ID 与环境变量映射(2026-03-22 P14) | 8 APP 的 APP_ID + env + 模型 + temperature | ✅ 元信息(注:App2a 缺) |
| 前端消费方式速查 | 各 APP 展示位置 + 缓存键 | ✅ 元信息 |
| 应用 1-8 完整 system prompt | (stale) | ❌ 已迁移到独立 MD |
| 附录:代码审计对照表(2026-03-21) | 代码 vs 文档差异修正记录 | ✅ 历史回溯 |

**三个处置选项**:

### 选项 A · 改造瘦身留下(推荐)

- 删 stale 的 §应用 1-8 完整 system prompt 章节(8 APP 主体,~600 行)
- 留:文件头 + NS2 实现要点 + APP ID 映射(补 App2a)+ 前端消费方式 + 附录代码审计对照表
- 文件改名 `docs/prd/ai-app-integration-spec.md` 反映新职责("AI 应用集成实现规范")
- 删完后大约 ~120 行
- **好处**:`docs/prd/` 留 PRD 实现规范 / `docs/ai/` 留 prompt 快照,职责清晰
- **坏处**:文件改名会触发引用更新(其他文档可能引这个路径)
- **工作量**:30 分钟内做完(包含子代理排查引用)
- **建议时机**:Wave 1 收尾前一次性做完

### 选项 B · 合并到 `system-prompts/_INDEX.md`

- NS2 实现要点 + 前端消费方式 + 附录全部并入 `_INDEX.md`
- 删除 `docs/prd/ai-app-prompts.md`
- **好处**:单一权威源,从一个目录就能看全
- **坏处**:`_INDEX.md` 角色变重(从"维护工具"变成"PRD 实现规范 + 维护工具"二合一);`docs/prd/` 失去 AI 集成入口
- **工作量**:45 分钟(_INDEX 内容拼装 + 文件删除 + 引用更新)
- **建议时机**:Wave 1 内或 Wave 5

### 选项 C · 留到 Wave 5 文档收尾任务

- 现状不动,文件头 Banner 已加(指向新位置)
- Wave 5 文档收尾时统一处理(连同其他 PRD 整理一起)
- **好处**:稳妥不急,避免 Wave 1 收尾时被这个分散注意力
- **坏处**:文件中间 30+ 天处于"一头雾水"状态(8 APP system prompt 章节 stale 但仍存在,容易让人误读)
- **工作量**:0(此次)+ Wave 5 一次性
- **建议时机**:Wave 5

**Claude 推荐 A**。理由:
- 这个文件已经被本次 F3-2C 触动(加了 Banner),逻辑上一气呵成做完更彻底
- 删 stale 章节避免误读风险(Wave 5 之前几十天里,有人误把这里 stale 内容当作权威是真实风险)
- `docs/prd/` 留 PRD 实现规范是合理的,不应清空
- 30 分钟工作量在 Wave 1 收尾路径上不会拖累 F1-5 / W1-T8

**Neo 决策选项**:A / B / C / 自己想做的方案(欢迎提)。

## 十、commit 建议

```
docs(ai-prompt): 8 APP system prompt 独立 MD 目录 + Neo 5/5 同步事件入仓 (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)
- app1_chat / app2_finance / app2a_finance_area /
  app3_clue / app4_analysis / app5_tactics /
  app6_note / app7_customer / app8_consolidation (9 份独立 MD)
- 每份带元信息表 + 场景 + 提示词参数 + system prompt 全文 +
  协作关系 + 同步历史 (用 ````text 4 反引号避免内部 ```json 冲突)

改名 + Banner:
- docs/ai/ai_system_prompt_by_app.md
  → docs/ai/system-prompts/_snapshot-20260505-source.md
  (git mv 保留历史; 文件头加"已拆分"Banner)
- docs/prd/ai-app-prompts.md 文件头加 Banner 指引到 system-prompts/

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

8 APP 状态:
- App1/2/3/4/5/6/7/8 已 5/5 同步最新
- App2a 仍是 4/22 v1, 待 Neo 在百炼核对 App2 vs App2a 关系
  (App2 5/5 已升级"区域业态专员"模式)

详见 docs/audit/changes/2026-05-05__wave1_f3_2c_system_prompts_split.md
```
