Add project management documentation for JinRong financial project
- Introduced three key documents: - **01-每日会议纪要模板与流程.md**: A template for daily meeting minutes and processes. - **02-项目开发计划.md**: A project-level development plan outlining the project timeline, team roles, and dependencies. - **03-表设计文档.md**: A readable table design document serving as a dictionary for understanding database structures and relationships. - Created a README.md to index project management documents and their purposes. - Enhanced documentation to support a 5-person full-stack novice team in project execution and collaboration.
This commit is contained in:
@@ -0,0 +1,347 @@
|
||||
# 每日会议纪要模板与流程
|
||||
|
||||
> 路径:`docs/项目管理/01-每日会议纪要模板与流程.md`
|
||||
> 适用:JinRong 金融四 Agent 项目 · 5 人全栈新手团队
|
||||
> 关联:[02-项目开发计划.md](./02-项目开发计划.md) · [03-表设计文档.md](./03-表设计文档.md) · [../memory/MEMORY.md](../memory/MEMORY.md) §0 交接清单
|
||||
|
||||
---
|
||||
|
||||
## 1. 会议目的
|
||||
|
||||
每天组内至少开一次站会式同步,三件事必须做完:
|
||||
|
||||
1. **评审需求** —— 对照 `docs/memory/REQUIREMENTS.md` 的场景编号(F/C/A/D/R),确认当天要推进的是哪几条,避免做偏。
|
||||
2. **评估进度** —— 对照 `docs/项目管理/02-项目开发计划.md` 的本周验收门,看每个人是「绿 / 黄 / 红」。
|
||||
3. **任务分配调整** —— 谁卡住了、谁提前完成了、依赖解锁了没,当场把活儿从一个人调到另一个人。
|
||||
|
||||
> 一句话原则:**会短、事清、阻塞显形**。会议不是汇报表演,是「让阻塞在 24 小时内被看见」。
|
||||
|
||||
---
|
||||
|
||||
## 2. 会议形式建议
|
||||
|
||||
| 项 | 建议 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 频次 | **每天 1 次**(周一至周五),必要时周末加一次 | 项目 5 周,节奏紧;新人多,每天对齐成本低 |
|
||||
| 时长 | **15~20 分钟**,最长不超过 30 分钟 | 超时说明议题没拆细,转线下讨论 |
|
||||
| 形式 | **线下为主**,远程可腾讯会议 | 新手团队面对面更易暴露问题 |
|
||||
| 主持 | **统筹(P1 平台集成)** | P1 同时是平台 Owner,最清楚依赖链;如 P1 请假由 P3 代理主持 |
|
||||
| 时间 | 建议每天 **10:00** 或 **17:30** | 避开早高峰调试和午休 |
|
||||
| 必到 | P1~P5 全员 | 缺席须提前在群里请假并指定代理人 |
|
||||
| 产出 | 一份当日纪要(本模板) | 主持人写,当天 18:00 前提交 `docs/项目管理/纪要/` |
|
||||
|
||||
> 主持人的核心动作不是「念稿」,而是 **盯依赖**:谁 Blocked by 谁、解锁了谁、是否影响周五 Demo。
|
||||
|
||||
---
|
||||
|
||||
## 3. 纪要模板(Markdown 表格)
|
||||
|
||||
每份纪要包含以下 8 个固定小节,顺序不要换:
|
||||
|
||||
| 小节 | 内容 | 谁填 |
|
||||
| --- | --- | --- |
|
||||
| ① 基本信息 | 日期、参会人、缺席人、主持人 | 主持人 |
|
||||
| ② 昨日完成 | 每人一句话,对照场景编号 | 各成员 |
|
||||
| ③ 今日计划 | 每人今天要交付的最小可验证单元 | 各成员 |
|
||||
| ④ 阻塞问题 | **必须写「Blocked by 谁 / 解锁了谁」** | 各成员 |
|
||||
| ⑤ 任务调整 | 「从谁调到谁、为什么」 | 主持人 |
|
||||
| ⑥ 决议 | 当天拍板的事项 + 责任人 + 截止时间 | 主持人 |
|
||||
| ⑦ 风险提示 | 影响周五 Demo 或里程碑的事项 | 主持人 |
|
||||
| ⑧ 下次会议 | 时间、预计重点 | 主持人 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 「阻塞问题」怎么写(关键)
|
||||
|
||||
本项目是 **垂直切 + 依赖解锁** 模式(见 [02-项目开发计划.md](./02-项目开发计划.md) §依赖关系),所以阻塞必须显式标注 **上下游**:
|
||||
|
||||
> 格式:`[我的任务] Blocked by [谁/什么] → 解锁了 [谁/什么]`
|
||||
|
||||
**正例:**
|
||||
- `P5 投顾 Agent 接 check_suitability` Blocked by `P1 未挂载 /api/chat 路由` → 解锁了 `P5 的 R-02 落库联调`
|
||||
- `P2 客服 RAG 检索` Blocked by `P1 Milvus Lite 连接配置未定` → 解锁了 `P2 的 C-02 产品规则问答`
|
||||
|
||||
**反例(不要这么写):**
|
||||
- 不要「接口还没好」 —— 谁的接口?什么接口?
|
||||
- 不要「等平台」 —— 等平台哪个人?哪一块?
|
||||
- 不要「有点卡」 —— 卡在哪?影响谁?
|
||||
|
||||
---
|
||||
|
||||
## 5. 「任务调整」怎么写
|
||||
|
||||
调整必须写明 **三要素**:从谁 → 到谁 → 为什么。原因要能对应到依赖链或风险:
|
||||
|
||||
| 调整类型 | 示例写法 |
|
||||
| --- | --- |
|
||||
| 依赖解锁后前移 | `P4 NL2SQL Schema 注入` 从 P4 调到 P1+P4 配对,因为 P1 已挂好 chat 路由,需 P1 配合注入 Schema |
|
||||
| 阻塞下沉 | `P5 GraphRAG 推荐查询` 从 P5 调到 P3 协助,因为 P3 画像 API 未就绪,P5 等 L1 接口 |
|
||||
| 瓶颈分流 | `P1 JWT 中间件` 保留 P1 主写,P2 协助写 RBAC 单测,因为 P1 同时要做 LangGraph 骨架是瓶颈 |
|
||||
| 风险对冲 | `P5 Neo4j 同步` 从 P5 调到 P1 兜底,因为 P5 周 3 才能开始,影响周五 Demo |
|
||||
|
||||
> 调整后必须同步更新 `docs/memory/TODO.md` 的责任人,并在群里 @ 到人。
|
||||
|
||||
---
|
||||
|
||||
## 6. 空白模板(复制即用)
|
||||
|
||||
> 以下用四个反引号 ` ```` ` 包裹,方便整段复制(避免和本文档的三反引号冲突)。
|
||||
|
||||
````
|
||||
# 每日会议纪要 · {{YYYY-MM-DD}}
|
||||
|
||||
## ① 基本信息
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 日期 | {{YYYY-MM-DD}}(周{{X}}) |
|
||||
| 里程碑 | M{{n}} · 第 {{n}} 周 · Day {{n}} |
|
||||
| 主持人 | {{P1}} |
|
||||
| 参会人 | P1 / P2 / P3 / P4 / P5 |
|
||||
| 缺席人 | {{无 / 姓名-原因-代理人}} |
|
||||
|
||||
## ② 昨日完成
|
||||
| 成员 | 完成事项(对照场景编号) | 状态 |
|
||||
| --- | --- | --- |
|
||||
| P1 | {{如:挂载 /api/chat 路由 + SessionGuard}} | 🟢/🟡/🔴 |
|
||||
| P2 | {{如:kb_product_rules 首批 5 产品入库}} | 🟢/🟡/🔴 |
|
||||
| P3 | {{如:画像 L1 写入接口 + 单测}} | 🟢/🟡/🔴 |
|
||||
| P4 | {{如:NL2SQL Schema 注入骨架}} | 🟢/🟡/🔴 |
|
||||
| P5 | {{如:Neo4j 同步脚本跑通}} | 🟢/🟡/🔴 |
|
||||
|
||||
## ③ 今日计划
|
||||
| 成员 | 今日交付(最小可验证单元) | 对应场景 |
|
||||
| --- | --- | --- |
|
||||
| P1 | {{}} | F-0X |
|
||||
| P2 | {{}} | C-0X / A-0X |
|
||||
| P3 | {{}} | R-0X / 画像 |
|
||||
| P4 | {{}} | D-0X |
|
||||
| P5 | {{}} | 投顾 / 图谱 |
|
||||
|
||||
## ④ 阻塞问题
|
||||
| 成员 | 阻塞描述(Blocked by … → 解锁了 …) | 状态 |
|
||||
| --- | --- | --- |
|
||||
| {{Pn}} | {{[我的任务] Blocked by [谁/什么] → 解锁了 [谁/什么]}} | 待解/已解 |
|
||||
|
||||
## ⑤ 任务调整
|
||||
| 调整项 | 从谁 | 到谁 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| {{任务名}} | {{Pn}} | {{Pm}} | {{依赖/瓶颈/风险}} |
|
||||
|
||||
## ⑥ 决议
|
||||
| 决议 | 责任人 | 截止时间 |
|
||||
| --- | --- | --- |
|
||||
| {{}} | {{}} | {{YYYY-MM-DD HH:MM}} |
|
||||
|
||||
## ⑦ 风险提示
|
||||
- {{影响周五 Demo 或里程碑的事项,没有写「无」}}
|
||||
|
||||
## ⑧ 下次会议
|
||||
- 时间:{{YYYY-MM-DD HH:MM}}
|
||||
- 预计重点:{{}}
|
||||
````
|
||||
|
||||
> 状态图例:🟢 已完成且验收通过 · 🟡 完成但未验收/有遗留 · 🔴 未完成或阻塞
|
||||
|
||||
---
|
||||
|
||||
## 7. 示例纪要 · 前 3 天
|
||||
|
||||
> 以下三份贴合本项目实际,可直接当样板参考。场景编号、客户号、员工号均来自 `docs/memory/REQUIREMENTS.md` 与 Core 模拟库种子(`CUST-9527`、`STAFF-10086`、`CUST-DEMO-A` 等)。
|
||||
|
||||
### 7.1 示例 · M0 Day1(启动对齐,2026-09-07 周一)
|
||||
|
||||
````
|
||||
# 每日会议纪要 · 2026-09-07
|
||||
|
||||
## ① 基本信息
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 日期 | 2026-09-07(周一) |
|
||||
| 里程碑 | M0 启动对齐 · 第 1 周 · Day 1 |
|
||||
| 主持人 | P1(统筹/平台集成) |
|
||||
| 参会人 | P1 / P2 / P3 / P4 / P5 |
|
||||
| 缺席人 | 无 |
|
||||
|
||||
## ② 昨日完成
|
||||
| 成员 | 完成事项(对照场景编号) | 状态 |
|
||||
| --- | --- | --- |
|
||||
| P1 | (9/5 已完成)FastAPI 骨架 + /health + settings 双库配置 + core_ro + suitability 映射 | 🟢 |
|
||||
| P2 | (9/5 已完成)需求拆解 + 用户故事 Review | 🟢 |
|
||||
| P3 | (9/7 已完成)Core 模拟库对齐客户手册(33 客户/14 产品)+ risk_suitability_log P0 字段 | 🟢 |
|
||||
| P4 | (9/7 已完成)画像 L1/L2/L3 框架文档 06 + 业务记忆管理手册 | 🟢 |
|
||||
| P5 | (9/5 已完成)Neo4j 同步脚本 sync_neo4j.py + sync_advisor_rel.py | 🟢 |
|
||||
|
||||
## ③ 今日计划
|
||||
| 成员 | 今日交付(最小可验证单元) | 对应场景 |
|
||||
| --- | --- | --- |
|
||||
| P1 | 全员环境对齐:本机跑 scripts/dev/bootstrap.ps1,确认 jinrong_core 33 客户 + jinrong_agent 11 表 + Neo4j 图就绪;定接口契约初稿 | F-01/F-02 |
|
||||
| P2 | 通读 05-多Agent共用底座清单 + 03-milvus-collections,列 kb_product_rules 首批入库清单(5 产品) | C-02/A-02 |
|
||||
| P3 | 通读 06 画像 + 07 适当性,列画像 L1 写入接口字段清单 + R-02 落库联调点 | R-02/画像 |
|
||||
| P4 | 通读 02-JWT-RBAC鉴权手册 + 数据交互矩阵,列 NL2SQL Schema 注入字段白名单 | D-01~D-04 |
|
||||
| P5 | 通读 04-neo4j-model,列投顾 Agent 的 Cypher 查询清单(C-01 持仓、A-01 概况、R-02 适当性) | 投顾 |
|
||||
|
||||
## ④ 阻塞问题
|
||||
| 成员 | 阻塞描述 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| P2 | [kb_product_rules 入库] Blocked by [Ollama bge-m3 模型未拉取] → 解锁了 [P2 的 C-02 RAG 检索] | 待解 |
|
||||
| P5 | [Neo4j 投顾 Cypher] Blocked by [P1 未定 X-Agent-Type 与 chat 请求体契约] → 解锁了 [P5 的投顾 Tool 节点] | 待解 |
|
||||
|
||||
## ⑤ 任务调整
|
||||
| 调整项 | 从谁 | 到谁 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| 接口契约初稿 | P1 独写 | P1 主写 + P2/P3/P4/P5 各提 1 条需求 | 垂直切模式下契约是全员依赖,需共同评审 |
|
||||
|
||||
## ⑥ 决议
|
||||
| 决议 | 责任人 | 截止时间 |
|
||||
| --- | --- | --- |
|
||||
| 统一 /api/chat 请求体契约(含 X-Agent-Type、X-Trace-Id、session_id、message) | P1 | 2026-09-08 12:00 |
|
||||
| Ollama bge-m3 拉取并验证 1024 维 | P2 | 2026-09-08 18:00 |
|
||||
| 全员本机 bootstrap 跑通并截图 /health | 全员 | 2026-09-08 18:00 |
|
||||
|
||||
## ⑦ 风险提示
|
||||
- DeepSeek 真 LLM 尚未接入,本周若不接,M1「客服能问答」只能跑 echo 骨架,周五 Demo 风险高
|
||||
- 前端 web/ 未 init,M1 Demo 可能只能用 curl/Postman 演示
|
||||
|
||||
## ⑧ 下次会议
|
||||
- 时间:2026-09-08 10:00
|
||||
- 预计重点:接口契约评审 + bootstrap 验收 + DeepSeek 接入方案
|
||||
````
|
||||
|
||||
### 7.2 示例 · M0 Day2(接口契约评审,2026-09-08 周二)
|
||||
|
||||
````
|
||||
# 每日会议纪要 · 2026-09-08
|
||||
|
||||
## ① 基本信息
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 日期 | 2026-09-08(周二) |
|
||||
| 里程碑 | M0 启动对齐 · 第 1 周 · Day 2 |
|
||||
| 主持人 | P1 |
|
||||
| 参会人 | P1 / P2 / P3 / P4 / P5 |
|
||||
| 缺席人 | 无 |
|
||||
|
||||
## ② 昨日完成
|
||||
| 成员 | 完成事项 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| P1 | 全员 bootstrap 跑通;/api/chat 请求体契约初稿(X-Agent-Type + X-Trace-Id + session_id + message) | 🟢 |
|
||||
| P2 | Ollama bge-m3 拉取成功,1024 维验证通过;kb_product_rules 首批 5 产品清单(含 CUST-DEMO-A 持有的) | 🟢 |
|
||||
| P3 | 画像 L1 写入字段清单 + R-02 落库联调点(check_suitability → build_suitability_log_row) | 🟢 |
|
||||
| P4 | NL2SQL Schema 白名单初稿(core_customer / core_holding / core_trade / risk_alert) | 🟢 |
|
||||
| P5 | 投顾 Cypher 清单(HOLDS / ASSIGNED_TO / REQUIRES_MIN_RISK) | 🟡(等契约定稿) |
|
||||
|
||||
## ③ 今日计划
|
||||
| 成员 | 今日交付 | 对应场景 |
|
||||
| --- | --- | --- |
|
||||
| P1 | JWT 中间件骨架(RS256 验签 + RBAC guard + AuthContext 注入)+ Mock 登录端点(签发 STAFF-10086/CUST-9527 token) | F-01 |
|
||||
| P2 | Milvus Lite 连接封装 milvus_tool.py + kb_product_rules 首批 5 产品切块入库 | C-02 |
|
||||
| P3 | 画像 L1 写入接口 + 单测(CUST-DEMO-A 写 style_tags)+ R-02 风控 service 骨架 | R-02 |
|
||||
| P4 | NL2SQL LangGraph Tool 节点骨架(DeepSeek 生成 SQL + 白名单校验 + 只读执行) | D-01 |
|
||||
| P5 | Neo4j 投顾 Tool 节点骨架(Cypher 执行 + 结果结构化) | 投顾 |
|
||||
|
||||
## ④ 阻塞问题
|
||||
| 成员 | 阻塞描述 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| P3 | [R-02 风控 service 落 log] Blocked by [P1 JWT 中间件未挂,service 账号 token 无法签发] → 解锁了 [R-02 端到端联调] | 待解 |
|
||||
| P4 | [NL2SQL 真实生成] Blocked by [DeepSeek API Key 未配置] → 解锁了 [D-01 人话查数 Demo] | 待解 |
|
||||
| P5 | [投顾 Tool 接入 chat] Blocked by [P1 LangGraph agent_service 骨架未起] → 解锁了 [P5 投顾端到端] | 待解 |
|
||||
|
||||
## ⑤ 任务调整
|
||||
| 调整项 | 从谁 | 到谁 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| DeepSeek 接入 | P4 独做 | P1 主做 + P4 协助 | P1 同时要起 LangGraph 骨架,DeepSeek client 封装归 P1 一次做,四 Agent 复用,避免重复 |
|
||||
| R-02 落 log 单测 | P3 独做 | P3 主写 + P1 提供 service token 签发 Mock | P1 掌握 JWT,需配合签发 svc-trade-suitability token |
|
||||
|
||||
## ⑥ 决议
|
||||
| 决议 | 责任人 | 截止时间 |
|
||||
| --- | --- | --- |
|
||||
| JWT 用 RS256,dev 环境先用 HS256 + 固定 secret(与生产物理隔离) | P1 | 2026-09-09 12:00 |
|
||||
| DeepSeek client 封装到 app/service/llm_client.py,四 Agent 共用 | P1 | 2026-09-09 18:00 |
|
||||
| 画像 L1 写入必须带 version 乐观锁,写 risk_suitability_log.profile_l1_version | P3 | 2026-09-09 18:00 |
|
||||
|
||||
## ⑦ 风险提示
|
||||
- P1 同时承担 JWT、LangGraph 骨架、DeepSeek client 三件事,是本周瓶颈,若 P1 卡住全员停摆;建议 P2 协助写 RBAC 单测分流
|
||||
|
||||
## ⑧ 下次会议
|
||||
- 时间:2026-09-09 10:00
|
||||
- 预计重点:JWT 单测验收 + LangGraph echo 跑通 + DeepSeek 接入验证
|
||||
````
|
||||
|
||||
### 7.3 示例 · M1 Day1(客服能问答启动,2026-09-09 周三)
|
||||
|
||||
````
|
||||
# 每日会议纪要 · 2026-09-09
|
||||
|
||||
## ① 基本信息
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 日期 | 2026-09-09(周三) |
|
||||
| 里程碑 | M1 = Phase 1 · 第 1 周 · Day 3(M1 启动日) |
|
||||
| 主持人 | P1 |
|
||||
| 参会人 | P1 / P2 / P3 / P4 / P5 |
|
||||
| 缺席人 | 无 |
|
||||
|
||||
## ② 昨日完成
|
||||
| 成员 | 完成事项 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| P1 | JWT 中间件(HS256 dev)+ Mock 登录签发 STAFF-10086/CUST-9527 token + audit_log 中间件 + trace_id 贯通 | 🟢 |
|
||||
| P2 | milvus_tool.py 连接封装 + kb_product_rules 首批 5 产品切块入库(bge-m3 1024 维) | 🟢 |
|
||||
| P3 | 画像 L1 写入接口 + 单测(CUST-DEMO-A 写 style_tags,version 递增)通过 | 🟢 |
|
||||
| P4 | NL2SQL Tool 节点骨架(DeepSeek 生成 + 白名单校验,未接真实 Key) | 🟡 |
|
||||
| P5 | 投顾 Cypher Tool 节点骨架(Neo4j 执行 HOLDS 查询返回结构化) | 🟡 |
|
||||
|
||||
## ③ 今日计划
|
||||
| 成员 | 今日交付 | 对应场景 |
|
||||
| --- | --- | --- |
|
||||
| P1 | LangGraph agent_service StateGraph 骨架 + DeepSeek client 接入 + /api/chat 最小闭环(echo + 真实 LLM) | F-0X/C-01 |
|
||||
| P2 | 客服 Agent RAG Tool 节点接入 LangGraph(CUST-9527 问「某基金费率」→ Milvus 检索 → 带源返回) | C-02 |
|
||||
| P3 | R-02 风控 service 落 log 联调(CUST-4002 C1 买 R4 → check_suitability → build_suitability_log_row → INSERT + audit) | R-02 |
|
||||
| P4 | NL2SQL 接 DeepSeek 真实 Key,D-01 客户查数 Demo(「统计 C2 客户有多少」)+ analytics_query_log 留痕 | D-01 |
|
||||
| P5 | 投顾 Agent 接入 LangGraph(A-01 客户概况 Cypher + 持仓事实) | A-01 |
|
||||
|
||||
## ④ 阻塞问题
|
||||
| 成员 | 阻塞描述 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| P2 | [客服 RAG 接入 LangGraph] Blocked by [P1 LangGraph agent_service 骨架未起] → 解锁了 [P2 客服端到端] | 待解(预计今日午前) |
|
||||
| P3 | [R-02 service token] Blocked by [P1 service 账号 token 签发未做] → 解锁了 [R-02 阻断联调] | 待解 |
|
||||
| 全员 | [前端 Demo] Blocked by [web/ 未 init] → 解锁了 [周五可视化 Demo] | 待解(P1 兜底或降级 curl 演示) |
|
||||
|
||||
## ⑤ 任务调整
|
||||
| 调整项 | 从谁 | 到谁 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| web/ 前端 init | P1 兼 | P1 主 + P2 协助(P2 RAG 已先行) | P1 是瓶颈,P2 RAG 入库已完成可分流前端壳 |
|
||||
| R-02 service token | P1 签发 | P3 写 Mock + P1 配合 | P3 掌握业务,P1 出 token 工具 |
|
||||
|
||||
## ⑥ 决议
|
||||
| 决议 | 责任人 | 截止时间 |
|
||||
| --- | --- | --- |
|
||||
| LangGraph agent_service 骨架今日 18:00 前可跑通 echo + 真 LLM | P1 | 2026-09-09 18:00 |
|
||||
| R-02 用 CUST-4002(C1 持 R4)做阻断联调样例,结果写 risk_suitability_log + audit_log | P3 | 2026-09-10 18:00 |
|
||||
| 周五 Demo 降级方案:若 web/ 未就绪,用 curl + Postman 演示四 Agent 最小闭环 | P1 | 2026-09-12 |
|
||||
|
||||
## ⑦ 风险提示
|
||||
- 周五 Demo 验收门是「骨架 + 客服能问答」,目前客服 RAG 依赖 LangGraph 骨架,今日若 P1 未起骨架,P2 全天停摆,连锁影响周五 Demo
|
||||
- DeepSeek 真实 Key 今日必须配上,否则四 Agent 都只能跑 echo
|
||||
|
||||
## ⑧ 下次会议
|
||||
- 时间:2026-09-10 10:00
|
||||
- 预计重点:LangGraph 骨架验收 + 客服 RAG 闭环 + R-02 落 log 联调
|
||||
````
|
||||
|
||||
---
|
||||
|
||||
## 8. 纪要归档约定
|
||||
|
||||
- 每日纪要存:`docs/项目管理/纪要/YYYY-MM-DD.md`
|
||||
- 周末由 P1 汇总一份「周报」放 `docs/项目管理/周报/YYYY-WW.md`,对照 `02-项目开发计划.md` 的本周验收门打勾
|
||||
- 纪要保留到答辩后 2 周,便于复盘和答辩问答引用
|
||||
|
||||
## 9. 关联文档
|
||||
|
||||
| 文档 | 用途 |
|
||||
| --- | --- |
|
||||
| [02-项目开发计划.md](./02-项目开发计划.md) | 对照本周验收门、依赖链 |
|
||||
| [03-表设计文档.md](./03-表设计文档.md) | 接口字段、表关联查阅 |
|
||||
| [../memory/REQUIREMENTS.md](../memory/REQUIREMENTS.md) | 场景编号 F/C/A/D/R 对照 |
|
||||
| [../memory/TODO.md](../memory/TODO.md) | 任务责任人同步 |
|
||||
| [../memory/MEMORY.md](../memory/MEMORY.md) §0 | 禁止项、交接清单 |
|
||||
@@ -0,0 +1,361 @@
|
||||
# 项目开发计划(项目级)
|
||||
|
||||
> 路径:`docs/项目管理/02-项目开发计划.md`
|
||||
> 范围:**只做项目级计划**。每个 Agent 模块的详细计划(接口字段、Tool 拆分、单测用例)由各负责人自己定,本文不替他们写。
|
||||
> 关联:[01-每日会议纪要模板与流程.md](./01-每日会议纪要模板与流程.md) · [03-表设计文档.md](./03-表设计文档.md) · [../memory/REQUIREMENTS.md](../memory/REQUIREMENTS.md) · [../memory/FRAMEWORK.md](../memory/FRAMEWORK.md)
|
||||
|
||||
---
|
||||
|
||||
## 0. 一句话定位
|
||||
|
||||
5 人全栈新手团队,**垂直切 + 依赖解锁 + Phase 当验收门**:每人抱一个 Agent 从底座到演示一管到底,靠依赖链决定谁先动,靠周五 Demo 卡验收。
|
||||
|
||||
| 维度 | 取值 |
|
||||
| --- | --- |
|
||||
| 项目周期 | 2026-09-07(周一)~ 2026-10-10(周五),约 5 周 |
|
||||
| 团队规模 | 5 人(P1~P5),全栈新手 |
|
||||
| 里程碑 | M0 启动 → M1~M5 对应 Phase 1~5 |
|
||||
| 验收节奏 | 每周五 Demo + 答辩在第 5 周末 |
|
||||
| 当前日期 | 2026-09-07(本计划制定日) |
|
||||
|
||||
---
|
||||
|
||||
## 1. 双视角说明:Wave vs Phase
|
||||
|
||||
本项目用两套视角看进度,**不要混用**:
|
||||
|
||||
| 视角 | 含义 | 用来回答 |
|
||||
| --- | --- | --- |
|
||||
| **Wave(交付批次)** | 按依赖链把工作切成 4 批:Wave 0 底座 → Wave 1 内部 Agent → Wave 2 风控 → Wave 3 客户 | 「先建什么再建什么」的依赖顺序 |
|
||||
| **Phase(周里程碑)** | 按周切 5 个里程碑 M1~M5,对应需求文档 Phase 1~5 | 「这周全队验收什么」的时间门 |
|
||||
|
||||
**关系**:Wave 决定 **谁先动**,Phase 决定 **何时验收**。同一周内不同人可能在做不同 Wave 的事,只要本周验收门能过即可。
|
||||
|
||||
| Phase(周) | 全队验收门 | 主导 Wave |
|
||||
| --- | --- | --- |
|
||||
| M0(第1周前2天) | 启动对齐:环境、契约、bootstrap | Wave 0 收尾 |
|
||||
| M1(第1周) | 骨架 + 客服能问答 | Wave 0 + Wave 1 客服 |
|
||||
| M2(第2周) | 画像/风评 + NL2SQL 能查数 | Wave 1 分析 + 画像 |
|
||||
| M3(第3周) | 图谱 + 投顾能推荐 | Wave 1 投顾 |
|
||||
| M4(第4周) | 风控预警 + 记忆/置信度闭环 | Wave 2 风控 |
|
||||
| M5(第5周) | 四 Agent 联调 + 演示 + 答辩 | Wave 3 客户 + 联调 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 团队分工(垂直切)
|
||||
|
||||
| 成员 | 垂直域(Owner) | 主责 | 对应场景 |
|
||||
| --- | --- | --- | --- |
|
||||
| P1 平台集成 | 平台 & 联调 | FastAPI 骨架、JWT/RBAC、审计、统一 /api/chat、LangGraph 骨架、Pub/Sub、SSE、端到端联调、前端壳 | F-01~F-04 |
|
||||
| P2 客服知识 | 智能客服线 | RAG 知识库 + 客服 Agent + 短期记忆 + Streamlit/React 客户端 | C-01~C-05、A-02 |
|
||||
| P3 画像风控 | 画像风控线 | 画像研判 + 风评/适当性 + 风控 Agent(20 规则) + 中期记忆 + 置信度 + Gradio 风控端 | R-01~R-03、画像 L1/L3 |
|
||||
| P4 数据分析 | 分析线 | NL2SQL + 数据分析 Agent + Schema 注入/安全校验 + analytics_query_log | D-01~D-04 |
|
||||
| P5 图谱投顾 | 投顾线 | Neo4j 图谱 + GraphRAG + 投顾 Agent + 长期记忆 + 投顾端 | 投顾、图谱、A-01 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 依赖关系(L0→L3)
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
L0[L0 平台底座 P1: JWT/RBAC/审计/chat路由/LangGraph骨架/DeepSeek client]
|
||||
L1[L1 数据层 P1+P3: Core RO封装Tool/画像表/适当性契约]
|
||||
L2C[L2 客服 Agent P2: RAG+客服]
|
||||
L2A[L2 代理人 Agent P2+P5: RAG+画像L2]
|
||||
L2D[L2 数据分析 Agent P4: NL2SQL]
|
||||
L2R[L2 风控 Agent P3: 预警+适当性]
|
||||
L2I[L2 投顾 Agent P5: GraphRAG]
|
||||
L3[L3 联调 P1: 四Agent统一入口+SSE+前端+演示]
|
||||
L0 --> L1
|
||||
L1 --> L2C
|
||||
L1 --> L2A
|
||||
L1 --> L2D
|
||||
L1 --> L2R
|
||||
L1 --> L2I
|
||||
L2C --> L3
|
||||
L2A --> L3
|
||||
L2D --> L3
|
||||
L2R --> L3
|
||||
L2I --> L3
|
||||
```
|
||||
|
||||
**依赖解锁条件(硬门):**
|
||||
|
||||
| 解锁点 | 含义 | 解锁了谁 |
|
||||
| --- | --- | --- |
|
||||
| P1 JWT 中间件 + Mock 登录 | 能签发 customer/staff/service 三类 token | P2/P3/P4/P5 全员 |
|
||||
| P1 /api/chat 路由 + LangGraph 骨架 | 四 Agent 有统一入口和编排框架 | P2/P3/P4/P5 全员 |
|
||||
| P1 DeepSeek client 封装 | 四 Agent 共用一个 LLM 调用层 | P2/P3/P4/P5 全员 |
|
||||
| P1 Core RO 封装为 Tool 节点 | 持仓/流水/适当性能被 Agent 调用 | P2/P3/P4/P5 |
|
||||
| P3 画像 L1 写入接口 | 客户偏好能落库 | P2(读)、P5(读)、P3(写) |
|
||||
| P3 R-02 适当性落 log | 阻断可审计 | P2(客户匹配说明)、P5(投顾) |
|
||||
| P5 Neo4j 同步脚本跑通 | 关系图可用 | P5 投顾、P3 R-02 辅助 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 第 1 周(M0+M1)天级计划
|
||||
|
||||
> 新手团队,第 1 周写到天。日期以 2026-09-07(周一)为 Day1。
|
||||
|
||||
### 4.1 Day1(9/7 周一)M0 启动对齐
|
||||
|
||||
| 时段 | 全队 | P1 | P2 | P3 | P4 | P5 |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| 上午 | 全员读 MEMORY §0 + REQUIREMENTS + 02-项目开发计划 | 定接口契约初稿 | 列 kb_product_rules 入库清单 | 列画像 L1 字段 + R-02 联调点 | 列 NL2SQL Schema 白名单 | 列投顾 Cypher 清单 |
|
||||
| 下午 | 全员本机跑 scripts/dev/bootstrap.ps1 | 兜底排查环境问题 | 拉 Ollama bge-m3 模型 | 验证 core_ro.check_suitability | 验证 Core 表可读 | 验证 Neo4j 图同步 |
|
||||
| 验收 | /health 200 + jinrong_core 33 客户 + jinrong_agent 11 表 + Neo4j 图 | — | bge-m3 1024 维 | check_suitability(CUST-4002) 返回 forbidden | SELECT core_customer COUNT | Neo4j 节点数 > 0 |
|
||||
|
||||
### 4.2 Day2(9/8 周二)接口契约评审
|
||||
|
||||
| 成员 | 今日交付 | 对应场景 |
|
||||
| --- | --- | --- |
|
||||
| P1 | /api/chat 请求体契约定稿(X-Agent-Type + X-Trace-Id + session_id + message + Authorization) | F-01 |
|
||||
| P2 | milvus_tool.py 连接封装 + kb_product_rules 首批 5 产品切块入库 | C-02 |
|
||||
| P3 | 画像 L1 写入接口字段清单 + 单测用例草稿 | 画像 |
|
||||
| P4 | NL2SQL Tool 节点骨架(未接真 LLM) | D-01 |
|
||||
| P5 | 投顾 Cypher Tool 节点骨架 | 投顾 |
|
||||
|
||||
验收:契约文档全员签字;kb_product_rules 可检索。
|
||||
|
||||
### 4.3 Day3(9/9 周三)M1 启动 · 骨架 + 客服
|
||||
|
||||
| 成员 | 今日交付 | 对应场景 |
|
||||
| --- | --- | --- |
|
||||
| P1 | JWT 中间件(HS256 dev)+ Mock 登录 + audit_log + trace_id 贯通 + LangGraph agent_service 骨架 + DeepSeek client | F-01/F-02/C-01 |
|
||||
| P2 | 客服 RAG Tool 接入 LangGraph(CUST-9527 问基金费率 → Milvus → 带源返回) | C-02 |
|
||||
| P3 | 画像 L1 写入接口 + 单测(CUST-DEMO-A 写 style_tags) | 画像 |
|
||||
| P4 | NL2SQL 接 DeepSeek 真实 Key,D-01 Demo | D-01 |
|
||||
| P5 | 投顾 Tool 接入 LangGraph(A-01 客户概况) | A-01 |
|
||||
|
||||
### 4.4 Day4(9/10 周四)闭环打磨
|
||||
|
||||
| 成员 | 今日交付 |
|
||||
| --- | --- |
|
||||
| P1 | /api/chat 最小闭环(echo + 真 LLM)+ 前端 web/ init(Vite + AntD + HashRouter) |
|
||||
| P2 | 客服 Agent 多轮对话 + 短期记忆(Redis sess 窗口)+ C-01 持仓问答 |
|
||||
| P3 | R-02 风控 service 落 log 联调(CUST-4002 C1 买 R4 → 阻断 + audit) |
|
||||
| P4 | analytics_query_log 留痕 + D-02 产品查数 + D-03 预警台账只读 |
|
||||
| P5 | 投顾 GraphRAG 推荐查询(Neo4j + Milvus 联合) |
|
||||
|
||||
### 4.5 Day5(9/11 周五)M1 Demo 验收
|
||||
|
||||
**全队目标**:骨架 + 客服能问答。
|
||||
|
||||
Demo 脚本(P1 主持):
|
||||
1. curl Mock 登录拿 CUST-9527 token
|
||||
2. curl /api/chat 问「我的持仓」→ 客服 Agent 返回 C-01 答案
|
||||
3. curl /api/chat 问「某基金费率」→ RAG 带源返回
|
||||
4. 越权演示:用 CUST-9527 token 查 CUST-10001 → 403 + audit_log
|
||||
5. R-02 演示:CUST-4002 买 R4 → blocked + risk_suitability_log
|
||||
6. D-01 演示:「统计 C2 客户数」→ NL2SQL + 留痕
|
||||
7. 投顾演示:A-01 客户概况 Cypher
|
||||
|
||||
**降级方案**:若 web/ 未就绪,用 curl + Postman;若 DeepSeek 未接,用 echo + Mock 答案。
|
||||
|
||||
### 4.6 Day6~7(9/12~13 周末)可选
|
||||
|
||||
- 仅当周五 Demo 未过验收门才加班;否则休息或自学。
|
||||
- P1 整理周报 + 更新 TODO。
|
||||
|
||||
---
|
||||
|
||||
## 5. 第 2 周(M2)画像/风评 + NL2SQL
|
||||
|
||||
### 5.1 全队目标(验收门)
|
||||
|
||||
- 画像 L1/L2/L3 读写闭环,CUST-DEMO-A~E 五个示范客户画像就绪
|
||||
- NL2SQL 能查客户/产品/预警三类数(D-01~D-04),analytics_query_log 留痕
|
||||
- R-02 适当性阻断端到端可演示
|
||||
|
||||
### 5.2 垂直并行任务表
|
||||
|
||||
| 成员 | 本周主任务 | 依赖解锁条件 |
|
||||
| --- | --- | --- |
|
||||
| P1 | SSE 推送 + Pub/Sub(risk:pub:alert)+ 前端 chat 组件 + 联调支持 | 上周骨架已就绪 |
|
||||
| P2 | 客服 Agent 接 L1 画像读 + C-04 亏损阈值提醒(customer_threshold_config) | P3 L1 接口 |
|
||||
| P3 | 画像 L1/L2/L3 完整读写 + R-01 大额预警(CUST-3001 单笔≥50万)+ R-03 AML 名单 | P1 audit、Core RO |
|
||||
| P4 | NL2SQL D-01~D-04 全打通 + Schema 注入 + 只读 SQL 安全校验 | P1 DeepSeek client |
|
||||
| P5 | 投顾 Agent 接 L1/L2 画像读 + GraphRAG 推荐(Neo4j + Milvus) | P3 画像接口、P1 Milvus |
|
||||
|
||||
### 5.3 周五 Demo 验收点
|
||||
|
||||
- CUST-DEMO-A 画像 L1 写入 + 代理人 STAFF-10086 读 L2
|
||||
- D-01「C2 客户有多少」、D-02「某产品销售规模」、D-03「预警未处理数」
|
||||
- R-01 CUST-3001 大额预警单生成 + Pub/Sub 推送
|
||||
- R-02 CUST-4002 阻断 + risk_suitability_log + audit_log
|
||||
|
||||
---
|
||||
|
||||
## 6. 第 3 周(M3)图谱 + 投顾
|
||||
|
||||
### 6.1 全队目标
|
||||
|
||||
- Neo4j 图谱完整(Customer/Product/Advisor/RiskGrade + HOLDS/ASSIGNED_TO/REQUIRES_MIN_RISK)
|
||||
- 投顾 Agent 能做 GraphRAG 推荐(C-11 匹配说明,非营销话术)
|
||||
- 代理人助手 Agent A-01~A-05 闭环
|
||||
|
||||
### 6.2 垂直并行任务表
|
||||
|
||||
| 成员 | 本周主任务 |
|
||||
| --- | --- |
|
||||
| P1 | 前端四 Agent 入口(HashRouter 多入口)+ 统一错误处理 + 联调 |
|
||||
| P2 | 代理人助手 A-02 产品规则 RAG + A-03 话术草稿(advisor_draft,不外发)+ A-04 业务流程 |
|
||||
| P3 | 风控 Agent R-01/R-03 完善 + L3 监测画像 + 置信度 |
|
||||
| P4 | D-05 交叉问数 + 报表解读 + 免责声明 |
|
||||
| P5 | 投顾 GraphRAG 推荐(Neo4j Cypher + Milvus 产品库)+ C-11 匹配说明 + 长期记忆 |
|
||||
|
||||
### 6.3 周五 Demo 验收点
|
||||
|
||||
- 投顾:CUST-DEMO-A 问「适合我的产品」→ GraphRAG 返回匹配说明(带适当性 R-02 校验)
|
||||
- 代理人:STAFF-10086 查 CUST-DEMO-A 概况 + 生成话术草稿(review_status=pending)
|
||||
- 越权:STAFF-10086 查非名下客户 → 403
|
||||
|
||||
---
|
||||
|
||||
## 7. 第 4 周(M4)风控预警 + 记忆/置信度闭环
|
||||
|
||||
### 7.1 全队目标
|
||||
|
||||
- 风控 20 规则上线(R-01/R-02/R-03 + 频繁交易/模式识别)
|
||||
- 记忆分层闭环:短期(Redis) ↔ 权威(MySQL) ↔ 知识(Milvus) ↔ 关系(Neo4j)
|
||||
- 置信度机制:风控预警、画像研判带置信度
|
||||
|
||||
### 7.2 垂直并行任务表
|
||||
|
||||
| 成员 | 本周主任务 |
|
||||
| --- | --- |
|
||||
| P1 | SSE 完整推送 + 前端风控工作台 + 联调 |
|
||||
| P2 | 客服 C-07 风格测评 + C-08 资金比例偏离提醒 |
|
||||
| P3 | 风控 20 规则 + L3 监测评分 + 置信度 + Gradio 风控端 |
|
||||
| P4 | 数据分析对外输出免责声明 + 留痕审计完整性 |
|
||||
| P5 | 投顾长期记忆 + 置信度 + 投顾端打磨 |
|
||||
|
||||
### 7.3 周五 Demo 验收点
|
||||
|
||||
- 风控:CUST-3001 大额 + 频繁交易 + AML 名单命中三场景
|
||||
- 置信度:预警单带 risk_score + 画像 L3 带 score_dimensions
|
||||
- 记忆:Redis 挂掉后从 MySQL 恢复上下文演示
|
||||
|
||||
---
|
||||
|
||||
## 8. 第 5 周(M5)四 Agent 联调 + 演示 + 答辩
|
||||
|
||||
### 8.1 全队目标
|
||||
|
||||
- 四 Agent 通过统一 /api/chat 入口可切换演示
|
||||
- 端到端联调通过,越权、审计、适当性阻断全场景可复现
|
||||
- 答辩材料齐备(PPT、Demo 脚本、API 文档、架构图)
|
||||
|
||||
### 8.2 垂直并行任务表
|
||||
|
||||
| 成员 | 本周主任务 |
|
||||
| --- | --- |
|
||||
| P1 | 端到端联调总指挥 + PPT 架构页 + API 文档(FastAPI 自动生成)+ 部署兜底 |
|
||||
| P2 | 客户端 Demo 脚本(C-01~C-05 全场景)+ 客服端打磨 |
|
||||
| P3 | 风控端 Demo 脚本(R-01~R-03 全场景)+ Gradio 风控端打磨 |
|
||||
| P4 | 数据分析 Demo 脚本(D-01~D-04)+ 留痕审计抽检演示 |
|
||||
| P5 | 投顾端 Demo 脚本(GraphRAG 推荐 + C-11 匹配说明)+ 架构图 |
|
||||
|
||||
### 8.3 答辩准备清单
|
||||
|
||||
| 交付物 | 责任人 | 截止 |
|
||||
| --- | --- | --- |
|
||||
| PPT(项目背景、架构、四 Agent 演示、合规亮点、踩坑) | P1 主 + 全员供稿 | 10/9 |
|
||||
| Demo 脚本(按角色分 4 段,每段 3~5 分钟) | P2/P3/P4/P5 各自 | 10/8 |
|
||||
| API 文档(FastAPI /docs 导出 + 关键接口说明) | P1 | 10/9 |
|
||||
| 架构图(Mermaid 或 draw.io,含数据流、依赖链、合规边界) | P1+P5 | 10/9 |
|
||||
| 答辩问答预案(合规、适当性、记忆分层、性能) | P3 主 + 全员 | 10/10 |
|
||||
|
||||
### 8.4 最终答辩验收门
|
||||
|
||||
- 四 Agent 各跑 1 个 P0 闭环场景,无 500 错误
|
||||
- 越权 403 + audit_log 可还原(F-01/F-02)
|
||||
- R-02 适当性阻断可演示(CUST-4002)
|
||||
- 数据分析只读 + 留痕(D-04)
|
||||
- 代理人草稿不外发(A-03 review_status=pending)
|
||||
- 记忆分层:Redis 挂掉可恢复
|
||||
|
||||
---
|
||||
|
||||
## 9. 风险与缓解
|
||||
|
||||
| 风险 | 影响 | 缓解措施 | 责任人 |
|
||||
| --- | --- | --- | --- |
|
||||
| P1 是瓶颈(同时做 JWT/LangGraph/DeepSeek/前端) | 全员停摆 | P2 协助 RBAC 单测;P3 协助 audit 中间件;DeepSeek client 优先做一次复用 | P1 |
|
||||
| P5 等画像 API 才能做投顾 | 投顾延后 | P5 先做 Neo4j 图谱 + Cypher Tool,画像接口一就绪立即接入 | P5/P3 |
|
||||
| 接口不统一(各 Agent 自定义请求体) | 联调爆炸 | Day2 强制契约评审,P1 拥有契约最终决定权 | P1 |
|
||||
| DeepSeek API Key 未及时配置 | 四 Agent 只能跑 echo | Day1 当晚必须配上,P1 兜底 | P1 |
|
||||
| 前端 web/ 未 init | Demo 降级 | 降级方案:curl + Postman;P1 Day4 必须 init | P1 |
|
||||
| Milvus Lite 与 Standalone 数据不互通 | 答辩环境切换失败 | 答辩前在 Standalone 重灌一次;日常用 Lite | P2/P5 |
|
||||
| 新手对 LangGraph 不熟 | 进度慢 | P1 先出 echo 骨架示例,其他人照抄 | P1 |
|
||||
| Core 模拟库种子不够演示 | Demo 场景缺数据 | CUST-DEMO-A~E + CUST-4001/4002/3001 已覆盖关键场景 | P3 |
|
||||
| 审计表被误 UPDATE | 合规红线 | 代码层禁止 UPDATE/DELETE 审计表;单测加只 INSERT 断言 | P1/P3 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 验收标准对照(REQUIREMENTS 编号)
|
||||
|
||||
| Wave | 场景 ID | 验收内容 | 主责 | 验收周 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Wave 0 | F-01 | JWT+RBAC+归属,越权 403+audit | P1 | M1 |
|
||||
| Wave 0 | F-02 | trace_id 可还原全链路 | P1 | M1 |
|
||||
| Wave 0 | F-03 | input_guard_log 拦截 | P1 | M1 |
|
||||
| Wave 0 | F-04 | Core 只读,Repository 只 SELECT | P1+P3 | M1 |
|
||||
| Wave 1 | D-01~D-04 | NL2SQL 查数 + 留痕 | P4 | M2 |
|
||||
| Wave 1 | A-01~A-05 | 代理人画像/规则/草稿/流程/巡检 | P2+P5 | M3 |
|
||||
| Wave 2 | R-01 | 大额预警 pending_review | P3 | M2/M4 |
|
||||
| Wave 2 | R-02 | 适当性阻断 + log | P3 | M1/M2 |
|
||||
| Wave 2 | R-03 | AML 命中通知 | P3 | M2/M4 |
|
||||
| Wave 3 | C-01~C-05 | 客户持仓/产品/规则/阈值/净值 | P2 | M5 |
|
||||
| Wave 3 | C-07 | 风格测评 + 适当性 | P2 | M4 |
|
||||
| Wave 3 | C-11 | 匹配说明(非营销) | P2+P5 | M3/M5 |
|
||||
|
||||
> 详细场景描述见 `docs/memory/REQUIREMENTS.md` 与 `docs/需求拆解/业务场景优先级清单.md`。
|
||||
|
||||
---
|
||||
|
||||
## 11. 当前状态快照(2026-09-07)
|
||||
|
||||
### 11.1 Wave 0 已完成项
|
||||
|
||||
- [x] FastAPI 骨架 + /health + settings 双库配置
|
||||
- [x] core_ro.py(Core 只读 + check_suitability)+ suitability.py(R-02 log 映射)
|
||||
- [x] Core 模拟库 scripts/core/* + reset.ps1(33 客户 / 14 产品 / KYC / C×R 矩阵 / AML)
|
||||
- [x] sync_advisor_rel.py + sync_neo4j.py
|
||||
- [x] JWT/RBAC 中间件、审计落库、trace_id、Mock 登录、统一 /api/chat、LangGraph echo 骨架、输入防护(9 个测试通过)
|
||||
- [x] Core 模拟库 + agent 库已灌库
|
||||
- [x] Milvus/Neo4j 已灌基础数据
|
||||
- [x] 需求拆解、表设计、技术选型、JWT 手册、画像/适当性文档
|
||||
|
||||
### 11.2 Wave 0 待完成项
|
||||
|
||||
- [ ] DeepSeek 真 LLM 接入(client 封装)
|
||||
- [ ] 前端 web/ init
|
||||
- [ ] agent 专用 5 表灌库验收(02-mysql-agent专用.sql)
|
||||
- [ ] kb_product_rules 首批产品入库
|
||||
- [ ] /api/chat 真实闭环(echo → 真 LLM)
|
||||
- [ ] R-02 风控 service 落 log 联调
|
||||
|
||||
### 11.3 关键待办(见 TODO.md)
|
||||
|
||||
- T-01 Auth SDK / JWT 中间件(已实现,待真 LLM 联调)
|
||||
- T-06 挂载 app.api 路由到 main.py;chat 最小闭环
|
||||
- T-07 LangGraph agent_service StateGraph 骨架 + DeepSeek
|
||||
- T-04 Core RO 封装为 Tool 节点;A-01 归属校验
|
||||
- T-31 R-02 风控 service 落 log
|
||||
- T-21 Milvus Lite + kb_product_rules 首批入库
|
||||
- 前端 React 多 Agent 入口
|
||||
|
||||
---
|
||||
|
||||
## 12. 关联文档
|
||||
|
||||
| 文档 | 用途 |
|
||||
| --- | --- |
|
||||
| [01-每日会议纪要模板与流程.md](./01-每日会议纪要模板与流程.md) | 每日同步、阻塞显形 |
|
||||
| [03-表设计文档.md](./03-表设计文档.md) | 表字段、谁写谁读查阅 |
|
||||
| [../memory/REQUIREMENTS.md](../memory/REQUIREMENTS.md) | 场景编号验收对照 |
|
||||
| [../memory/FRAMEWORK.md](../memory/FRAMEWORK.md) | 模块实现状态表 |
|
||||
| [../memory/FLOW.md](../memory/FLOW.md) | 端到端链路、bootstrap |
|
||||
| [../memory/TODO.md](../memory/TODO.md) | 当前待办与责任人 |
|
||||
| [../需求拆解/业务场景优先级清单.md](../需求拆解/业务场景优先级清单.md) | P0 场景全表 |
|
||||
@@ -0,0 +1,665 @@
|
||||
# 表设计文档(可读版)
|
||||
|
||||
> 路径:`docs/项目管理/03-表设计文档.md`
|
||||
> 定位:**给人看的表设计字典**,不是 SQL 脚本。SQL 在 `docs/项目框架设计/表设计/`。
|
||||
> 适用:新手团队当字典查「这张表干什么、谁写谁读、关键字段什么意思、和谁关联」。
|
||||
> 关联:[00-架构总览.md](../项目框架设计/表设计/00-架构总览.md) · [05-多Agent共用底座清单.md](../项目框架设计/表设计/05-多Agent共用底座清单.md) · [06-用户画像L1-L3设计.md](../项目框架设计/表设计/06-用户画像L1-L3设计.md) · [07-risk_suitability_log说明.md](../项目框架设计/表设计/07-risk_suitability_log说明.md)
|
||||
|
||||
---
|
||||
|
||||
## 0. 怎么读这份文档
|
||||
|
||||
按 **存储分层** 组织,每张表/每个 Key/每个节点都给:
|
||||
|
||||
- **中文名 + 用途**(一句话)
|
||||
- **关键字段**(中文释义,不列全字段,全字段看 SQL)
|
||||
- **谁写谁读**(对照 05 清单的 4 Agent 矩阵)
|
||||
- **关键查询场景**(什么业务会查它)
|
||||
- **与其他表关联**(外键 / 同步 / 引用)
|
||||
|
||||
> 速查图例:🔴 全员共用底座 · 🟡 跨 Agent 交换 · ⚪ 单 Agent 专用 · 🔵 Core 只读
|
||||
|
||||
---
|
||||
|
||||
## 1. 存储分层总览
|
||||
|
||||
| 存储 | 库/文件 | 放什么 | 表/集合/节点数 |
|
||||
| --- | --- | --- | --- |
|
||||
| MySQL · agent 库 | `jinrong_agent` | 会话、审计、画像、预警、专用 | 11 共用 + 5 专用 |
|
||||
| MySQL · core 库 | `jinrong_core` | L0 正式档案、持仓、流水、产品 | 11 表 |
|
||||
| Redis | :6379 | 短期会话、画像热缓存、Pub/Sub、限流 | 6 类 Key |
|
||||
| Neo4j | Desktop bolt:7687 | 客户-产品-代理人-风险等级关系图 | 5 节点 + 5 关系 |
|
||||
| Milvus Lite | ./data/milvus.db | 产品/制度文档向量(1024 维 bge-m3) | 2 Collection |
|
||||
|
||||
---
|
||||
|
||||
## 2. MySQL · jinrong_agent 库
|
||||
|
||||
### 2.1 🔴 第一批 · 全员共用底座(6 张)
|
||||
|
||||
#### 2.1.1 `agent_session` · Agent 会话主表
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 记录一次对话会话(谁、哪个 Agent、何时开、关联哪个客户) |
|
||||
| 谁写 | 四个 Agent 都写(创建会话) |
|
||||
| 谁读 | 四个 Agent 都读(续聊)、合规巡检 |
|
||||
| 关键字段 | `session_id`(对外UUID) · `trace_id`(全链路追踪) · `agent_type`(customer/advisor/analyst/risk) · `actor_id`(操作者) · `actor_role` · `customer_id` · `advisor_id` · `status`(active/closed/blocked) |
|
||||
| 关键查询 | 按 `actor_id` 列历史会话;按 `trace_id` 还原链路 |
|
||||
| 关联 | → `agent_message` · `agent_tool_call` · `audit_log`(同 trace_id) |
|
||||
|
||||
#### 2.1.2 `agent_message` · 消息明细
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 保存每条聊天内容(user/assistant/system/tool) |
|
||||
| 谁写 | 四个 Agent 都写 |
|
||||
| 谁读 | 四个 Agent 读(续聊上下文)、合规审计 |
|
||||
| 关键字段 | `session_id` · `seq_no`(会话内序号) · `role` · `content` · `content_hash` · `has_disclaimer`(对外是否带免责) |
|
||||
| 关键查询 | 按 `session_id + seq_no` 拉历史;按 `trace_id` 还原 |
|
||||
| 关联 | ← `agent_session`;→ `agent_tool_call`(message_id) |
|
||||
|
||||
#### 2.1.3 `agent_tool_call` · Tool 调用审计
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 记录 Agent 调了哪些查数/检索接口(查持仓、查产品、NL2SQL 等) |
|
||||
| 谁写 | 四个 Agent 都写 |
|
||||
| 谁读 | 合规巡检、调试 |
|
||||
| 关键字段 | `tool_name` · `tool_input`(JSON) · `tool_output`(JSON) · `status`(success/error/blocked/timeout) · `latency_ms` |
|
||||
| 关键查询 | 按 `tool_name` 统计调用;按 `trace_id` 还原调用链 |
|
||||
| 关联 | ← `agent_session` · `agent_message` |
|
||||
|
||||
#### 2.1.4 `audit_log` · 审计总账(只 INSERT)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 合规审计总账,**只增不改不删**,出问题追溯「谁、何时、依据什么」 |
|
||||
| 谁写 | 四个 Agent + 平台都写 |
|
||||
| 谁读 | 合规专员(audit:read:all) |
|
||||
| 关键字段 | `trace_id` · `event_type` · `agent_type` · `actor_id` · `customer_id` · `rule_id` · `decision` · `risk_score` · `handler_id`(人工处理者) · `handler_result` |
|
||||
| 关键查询 | 按 `trace_id` 还原事件;按 `actor_id` 查行为;按 `event_type=auth_denied` 查越权 |
|
||||
| 关联 | 与 `agent_session`/`agent_tool_call`/`risk_suitability_log` 同 trace_id |
|
||||
| ⚠️ 红线 | **禁止 UPDATE/DELETE**,代码层加只 INSERT 断言 |
|
||||
|
||||
#### 2.1.5 `input_guard_log` · 输入安全防护
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 拦截恶意输入、Prompt 注入、超长非法参数(F-03) |
|
||||
| 谁写 | 平台 + 四个 Agent |
|
||||
| 谁读 | 安全/合规 |
|
||||
| 关键字段 | `guard_type`(prompt_injection/oversize/illegal_param/rate_limit) · `raw_excerpt`(截样) · `action`(blocked/sanitized/passed) |
|
||||
| 关键查询 | 按 `guard_type` 统计攻击;按 `actor_id` 查高频恶意 |
|
||||
| 关联 | ← `agent_session`(session_id) |
|
||||
| ⚠️ 红线 | 只 INSERT |
|
||||
|
||||
#### 2.1.6 `customer_advisor_rel` · 客户-代理人归属
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 这个客户归哪个代理人管(F-01 数据归属校验的权威源) |
|
||||
| 谁写 | 平台同步脚本(sync_advisor_rel.py,从 Core 同步) |
|
||||
| 谁读 | 四个 Agent 都读(做归属校验) |
|
||||
| 关键字段 | `customer_id` · `advisor_id` · `rel_status`(active/transferred/closed) · `effective_from` · `effective_to` |
|
||||
| 关键查询 | 代理人查自己名下客户列表;校验某客户是否归某代理人 |
|
||||
| 关联 | ← `jinrong_core.core_customer_advisor`(同步源) |
|
||||
|
||||
---
|
||||
|
||||
### 2.2 🟡 第二批 · 跨 Agent 交换(5 张)
|
||||
|
||||
#### 2.2.1 `customer_profile_l1` · L1 客户画像
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 客户侧偏好:风格、规划、阈值偏好、行为标签(**不能改 L0 等级**) |
|
||||
| 谁写 | **客户财富 Agent** |
|
||||
| 谁读 | 客户本人、代理人、风控、数据分析 |
|
||||
| 关键字段 | `customer_id`(PK) · `style_tags`(JSON 风格/财务/生命周期) · `style_questionnaire`(C-07 问卷) · `allocation_plan`(C-08 资金规划) · `behavior_tags` · `version`(乐观锁) · `updated_by` |
|
||||
| 关键查询 | 代理人服务前读 L1 了解偏好;风控辅助判断;分析统计 |
|
||||
| 关联 | → `risk_suitability_log.profile_l1_version`;Redis `profile:l1:{customer_id}` 缓存 |
|
||||
| ⚠️ 边界 | **禁止存正式 C 等级**,以 L0 为准 |
|
||||
|
||||
#### 2.2.2 `customer_profile_l2` · L2 服务画像
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 代理人服务记录:诉求、待办、资产概况快照、服务标签(**客户不可见**) |
|
||||
| 谁写 | **代理人助手 Agent** |
|
||||
| 谁读 | 代理人、风控、数据分析(客户 API 层 404) |
|
||||
| 关键字段 | `customer_id` + `advisor_id`(UK) · `asset_snapshot`(A-01 查 Core 后快照) · `demands`(沟通诉求) · `follow_up_todos` · `service_tags`(VIP/适老化) · `source_session_id` |
|
||||
| 关键查询 | 代理人查名下客户服务记录;风控辅助 |
|
||||
| 关联 | ← `customer_advisor_rel`(归属校验);Redis `profile:l2:{customer_id}:{advisor_id}` |
|
||||
| ⚠️ 边界 | 客户永远不可见 L2 |
|
||||
|
||||
#### 2.2.3 `customer_profile_l3` · L3 监测画像
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 风控监测结论:分层、评分、标签(**不改 L0 等级**) |
|
||||
| 谁写 | **风控监测 Agent** |
|
||||
| 谁读 | 风控、代理人(只读)、数据分析 |
|
||||
| 关键字段 | `customer_id`(PK) · `monitor_tier`(normal/watch/high) · `risk_score`(监测分≠L0 C档) · `score_dimensions`(四维评分 JSON) · `monitor_tags`(AML/异常) · `last_alert_id` |
|
||||
| 关键查询 | 风控工作台分层展示;分析统计高风险客户 |
|
||||
| 关联 | → `risk_alert.alert_id`;Redis `profile:l3:{customer_id}` |
|
||||
| ⚠️ 边界 | 监测分 ≠ 正式 C 档,不写回 L0 |
|
||||
|
||||
#### 2.2.4 `risk_alert` · 预警单
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 风控预警单(大额/频繁/适当性/AML/模式),**待人工审核** |
|
||||
| 谁写 | **风控 Agent** |
|
||||
| 谁读 | 风控专员、数据分析(只读统计)、合规 |
|
||||
| 关键字段 | `alert_id`(PK) · `customer_id` · `trade_id` · `alert_type`(large_amount/freq_trade/suitability/aml/pattern) · `triggered_rules`(JSON) · `risk_score` · `status`(pending_review/confirmed_normal/confirmed_suspicious/reported) · `handler_id` · `handler_result` |
|
||||
| 关键查询 | 风控台 pending_review 列表;分析统计「还有多少没审」 |
|
||||
| 关联 | → `customer_profile_l3.last_alert_id`;Redis `risk:pub:alert` 推送 |
|
||||
| ⚠️ 红线 | **不自动冻户**,状态由人工改 |
|
||||
|
||||
#### 2.2.5 `risk_suitability_log` · 适当性记录(R-02 落库)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 一次 `check_suitability()` 判定 + 审计上下文,**唯一可阻断交易** 的场景 |
|
||||
| 谁写 | **风控 Agent**(含交易前钩子 service 账号) |
|
||||
| 谁读 | 客户(本人)、代理人(名下客户) |
|
||||
| 关键字段 | `trace_id` · `customer_id` · `product_id` · `customer_risk_level`(L0 C档) · `product_risk_level`(R档) · `match_result`(allowed/allowed_with_disclosure/forbidden/risk_expired/professional_exempt) · `mismatch_type` · `is_blocked` · `requires_disclosure` · `needs_branch_confirm`(FM-01) · `risk_was_expired`(FM-03) · `block_response_code`(SUIT_*) · `check_source`(r02_trade/r02_chat/c11_inquiry/manual) · `actor_id` · `rule_refs` |
|
||||
| 关键查询 | 客户查本人能否买某产品;代理人查名下客户适当性历史 |
|
||||
| 关联 | ← `core_ro.check_suitability()` 返回值逐项映射(见下方映射表) |
|
||||
| ⚠️ 红线 | 阻断时同写 `audit_log`(同 trace_id);`blocked=true` 仅 R-02 API 可对外返回 |
|
||||
|
||||
**与 check_suitability 字段映射(对照 07 文档):**
|
||||
|
||||
| 表字段 | check_suitability 返回 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `customer_risk_level` | `customer_risk_code` | L0 正式 C 档 |
|
||||
| `product_risk_level` | `product_risk_code` | 产品最低 R 档 |
|
||||
| `match_result` | `match_result` | 枚举一致 |
|
||||
| `mismatch_type` | `mismatch_type` | 枚举一致 |
|
||||
| `is_matched` | `matched` | 是否可匹配 |
|
||||
| `is_blocked` | `blocked` | 是否阻断 |
|
||||
| `requires_disclosure` | `requires_disclosure` | 需风险揭示书 |
|
||||
| `needs_branch_confirm` | `needs_branch_confirm` | FM-01 网点确认 |
|
||||
| `risk_was_expired` | `risk_is_expired` | FM-03 风评过期 |
|
||||
| `block_reason` | `reason` | 对人可读 |
|
||||
| `block_response_code` | `block_response_code` | API 机器码 |
|
||||
|
||||
---
|
||||
|
||||
### 2.3 ⚪ 第三批 · 单 Agent 专用(5 张)
|
||||
|
||||
#### 2.3.1 `customer_threshold_config` · 亏损阈值配置(客户专用)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 客户设「亏 10% 提醒我」(C-04) |
|
||||
| 谁写 | 客户财富 Agent |
|
||||
| 谁读 | 客户 Agent(触发提醒) |
|
||||
| 关键字段 | `customer_id` · `scope_type`(portfolio/product) · `scope_ref` · `loss_threshold_pct` · `notify_channel`(app/sms/email) · `is_enabled` |
|
||||
| 关键查询 | 持仓变动时查阈值命中 |
|
||||
| 关联 | → `customer_notify_log`;摘要进 L1 `style_tags.threshold_pref_summary` |
|
||||
|
||||
#### 2.3.2 `customer_notify_log` · 提醒留痕(客户专用)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 阈值/波动提醒发送记录 |
|
||||
| 谁写 | 客户财富 Agent |
|
||||
| 谁读 | 客户 Agent、合规审计 |
|
||||
| 关键字段 | `customer_id` · `trace_id` · `notify_type`(loss_threshold/market_volatility) · `threshold_config_id` · `payload` · `channel` · `send_status`(sent/failed) |
|
||||
| 关键查询 | 查某客户提醒历史;统计发送成功率 |
|
||||
| 关联 | ← `customer_threshold_config` |
|
||||
|
||||
#### 2.3.3 `advisor_draft` · 话术/跟进草稿(代理人专用)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 代理人话术草稿、跟进草稿(A-03),**不自动外发客户** |
|
||||
| 谁写 | 代理人助手 Agent |
|
||||
| 谁读 | 代理人、合规审核 |
|
||||
| 关键字段 | `draft_id` · `session_id` · `advisor_id` · `customer_id` · `draft_type`(script/follow_up) · `content` · `review_status`(pending/approved/rejected) · `reviewer_id` · `reviewed_at` |
|
||||
| 关键查询 | 代理人查自己草稿;合规查 pending 待审 |
|
||||
| 关联 | ← `agent_session` |
|
||||
| ⚠️ 红线 | 系统级禁止自动发客户;`review_status=pending` 默认 |
|
||||
|
||||
#### 2.3.4 `compliance_hit_log` · 违规话术命中(代理人专用)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | A-07 合规词库命中记录(收益承诺/保本/买卖指导/推荐) |
|
||||
| 谁写 | 代理人助手 Agent |
|
||||
| 谁读 | 合规专员 |
|
||||
| 关键字段 | `session_id` · `agent_type` · `actor_id` · `hit_category`(return_promise/principal_guarantee/buy_sell_guide/product_recommend/other) · `matched_terms`(JSON) · `severity`(low/medium/high) · `action_taken`(flagged/blocked/alerted) |
|
||||
| 关键查询 | 高风险命中告警;按 severity 统计 |
|
||||
| 关联 | ← `agent_session` |
|
||||
|
||||
#### 2.3.5 `analytics_query_log` · 查数 SQL 留痕(分析专用)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | D-04 每次人话查数的 NL + SQL + 结果留痕 |
|
||||
| 谁写 | 数据分析 Agent |
|
||||
| 谁读 | 数据分析、合规审计 |
|
||||
| 关键字段 | `session_id` · `staff_id` · `nl_question` · `generated_sql` · `sql_hash` · `row_count` · `exec_status`(success/error/blocked) · `result_summary`(JSON) · `has_disclaimer` |
|
||||
| 关键查询 | 按 staff_id 查问数历史;按 sql_hash 统计高频查询 |
|
||||
| 关联 | ← `agent_session` |
|
||||
| ⚠️ 红线 | 仅 SELECT;对外输出强制免责声明 |
|
||||
|
||||
---
|
||||
|
||||
## 3. MySQL · jinrong_core 库(L0 只读,11 表)
|
||||
|
||||
> Agent 经 `CoreReadOnlyRepository` 只读 SELECT;**不改 Core 账**。建表 SQL:`scripts/core/01-ddl.sql`。
|
||||
|
||||
### 3.1 `core_risk_grade` · 风险等级字典
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | C1~C5(客户)/ R1~R5(产品)字典 |
|
||||
| 关键字段 | `code`(C1~C5/R1~R5) · `grade_type`(customer/product) · `display_name` · `sort_order` |
|
||||
| 关联 | 被 `core_suitability_rule` / `core_customer_risk` / `core_product` 外键引用 |
|
||||
|
||||
### 3.2 `core_suitability_rule` · C×R 适当性矩阵
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 适当性匹配规则(L0 权威,对齐《适当性管理指南》第十二条) |
|
||||
| 关键字段 | `customer_risk_code`(C1~C5) · `product_risk_code`(R1~R5) · `match_result`(allowed/allowed_with_disclosure/forbidden) · `rule_ref`(JR-AST-012) |
|
||||
| 关键查询 | `check_suitability()` 查 C×R 是否匹配 |
|
||||
| 关联 | ← `core_risk_grade` |
|
||||
|
||||
### 3.3 `core_staff` · 内部员工主档
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 模拟 IdP 账号源,含 RBAC roles JSON |
|
||||
| 关键字段 | `staff_id`(PK,如 STAFF-10086) · `display_name` · `staff_type`(advisor/analyst/risk_officer/compliance/ops) · `roles`(JSON) · `tenant_id` · `is_active` |
|
||||
| 关键查询 | JWT 签发时查 roles;联调账号对照 |
|
||||
| 关联 | → `core_customer_advisor.advisor_id` |
|
||||
|
||||
### 3.4 `core_customer` · 客户主档 L0(KYC)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 客户基础信息 + 财务概况 + AML/PEP 标记 |
|
||||
| 关键字段 | `customer_id`(PK,如 CUST-9527) · `display_name`(脱敏) · `gender` · `birth_date` · `age` · `occupation` · `education` · `annual_income` · `financial_asset` · `monthly_investable` · `is_hnw` · `service_tier` · `is_pep` · `aml_risk_level`(low/medium/high) · `invest_experience_years` |
|
||||
| 关键查询 | Agent 查客户 KYC;分析统计客户分布 |
|
||||
| 关联 | → `core_customer_risk` · `core_holding` · `core_trade` · `core_cash_flow` |
|
||||
|
||||
### 3.5 `core_customer_risk` · 正式风险测评 L0
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 正式 C1~C5、问卷得分、风评过期(FM-03)、专业投资者 |
|
||||
| 关键字段 | `customer_id` · `risk_code`(C1~C5) · `questionnaire_score` · `max_loss_tolerance_pct` · `investment_goal` · `investment_horizon` · `investor_category`(ordinary/professional/professional_pending) · `is_authoritative` · `evaluated_at` · `expires_at` |
|
||||
| 关键查询 | `check_suitability()` 查正式 C 档 + 是否过期 |
|
||||
| 关联 | ← `core_customer` · `core_risk_grade` |
|
||||
| ⚠️ 边界 | Agent 只读,**不可改**;L1/L2/L3 不得覆盖 |
|
||||
|
||||
### 3.6 `core_customer_advisor` · 客户-代理人归属(Core 源)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | Core 侧归属关系,同步到 agent 库 `customer_advisor_rel` |
|
||||
| 关键字段 | `customer_id` · `advisor_id` · `rel_status` · `effective_from` · `effective_to` |
|
||||
| 关联 | → 同步到 `jinrong_agent.customer_advisor_rel` |
|
||||
|
||||
### 3.7 `core_product` · 产品主档
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 产品 + 起购金额/期限/风险揭示书(C-11) |
|
||||
| 关键字段 | `product_id`(PK) · `product_name` · `product_type`(money/bond/mixed/stock/index/wealth_mgmt/private_fund/insurance/structured) · `min_risk_code`(R1~R5) · `min_subscribe_amount` · `term_days` · `requires_disclosure` · `industry_code` · `fee_rate` |
|
||||
| 关键查询 | C-11 匹配说明;R-02 产品最低 R 档 |
|
||||
| 关联 | ← `core_risk_grade` · `core_industry` |
|
||||
|
||||
### 3.8 `core_holding` · 持仓快照
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 客户持仓(份额、成本、市值、盈亏) |
|
||||
| 关键字段 | `customer_id` · `product_id` · `qty` · `cost_amount` · `market_value` · `pnl_pct` · `as_of` |
|
||||
| 关键查询 | C-01 持仓问答;A-01 客户概况 |
|
||||
| 关联 | ← `core_customer` · `core_product` |
|
||||
|
||||
### 3.9 `core_trade` · 交易流水(含 AML 字段)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 交易流水 + AML 渠道/对手方/代付(RW-001~020) |
|
||||
| 关键字段 | `trade_id`(PK) · `customer_id` · `product_id` · `trade_type`(subscribe/redeem/convert) · `amount` · `channel` · `counterparty_account_mask` · `counterparty_name` · `is_cash` · `payer_name`(代付) · `is_third_party_pay` · `trade_status` · `traded_at` |
|
||||
| 关键查询 | R-01 大额预警(单笔/当日≥50万);R-04 频繁交易 |
|
||||
| 关联 | ← `core_customer` · `core_product` |
|
||||
|
||||
### 3.10 `core_cash_flow` · 资金进出
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 资金进出流水(存/取/转/申赎) |
|
||||
| 关键字段 | `customer_id` · `flow_type`(in/out) · `flow_subtype` · `amount` · `channel` · `counterparty_*` · `occurred_at` |
|
||||
| 关键查询 | C-01 资金分布;AML 资金异动 |
|
||||
| 关联 | ← `core_customer` |
|
||||
|
||||
### 3.11 `core_product_nav` · 产品净值
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 产品净值(C-05 行情) |
|
||||
| 关键字段 | `product_id` · `nav` · `daily_chg_pct` · `nav_date` |
|
||||
| 关键查询 | C-05「这只基金现在净值多少」 |
|
||||
| 关联 | ← `core_product` |
|
||||
|
||||
### 3.12 `core_industry` · 行业分类
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 行业字典(Neo4j BELONGS_TO) |
|
||||
| 关键字段 | `industry_code`(PK) · `industry_name` |
|
||||
| 关联 | ← `core_product.industry_code`;同步到 Neo4j `Industry` 节点 |
|
||||
|
||||
---
|
||||
|
||||
## 4. Redis · 短期记忆 Key(6 类)
|
||||
|
||||
> 原则:**权威结论落 MySQL**;Redis 只存会话窗口、热缓存、实时通知,丢失可重建。
|
||||
|
||||
### 4.1 🔴 会话短期记忆(四 Agent 共用)
|
||||
|
||||
| Key 模式 | 类型 | TTL | 写入方 | 读取方 | 内容 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `sess:{agent}:{session_id}:ctx` | Hash | 2h | 各 Agent | 各 Agent | 当前意图、槽位、上一轮 Tool 摘要 |
|
||||
| `sess:{agent}:{session_id}:msgs` | List | 2h | 各 Agent | 各 Agent | 最近 ≤20 轮消息 JSON |
|
||||
| `sess:{agent}:{session_id}:lock` | String | 30s | 平台 | 平台 | 并发写会话防重 |
|
||||
|
||||
### 4.2 🟡 画像热缓存(跨 Agent 读)
|
||||
|
||||
| Key 模式 | 类型 | TTL | 写入方 | 读取方 | 失效 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `profile:l1:{customer_id}` | String(JSON) | 10m | 客户 Agent | 代理人/风控/分析 | MySQL L1 UPDATE 时 DEL |
|
||||
| `profile:l2:{customer_id}:{advisor_id}` | String(JSON) | 10m | 代理人 Agent | 代理人/风控 | MySQL L2 UPDATE 时 DEL |
|
||||
| `profile:l3:{customer_id}` | String(JSON) | 5m | 风控 Agent | 客户/代理人/分析 | MySQL L3 UPDATE 时 DEL |
|
||||
|
||||
### 4.3 ⚪ 代理人 A-01 资产快照缓存
|
||||
|
||||
| Key 模式 | 类型 | TTL | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `cache:advisor:snapshot:{advisor_id}:{customer_id}` | String(JSON) | 15m | Core RO 查数 + 摘要;权威副本在 L2 `asset_snapshot` |
|
||||
|
||||
### 4.4 风控实时通道
|
||||
|
||||
| Key 模式 | 类型 | TTL | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `risk:pub:alert` | Pub/Sub | — | 新预警广播,payload=`{alert_id, type, customer_id_mask, risk_score}` |
|
||||
| `risk:dedup:{customer_id}:{rule_id}:{date}` | String | 24h | 同日同规则防重复预警风暴 |
|
||||
|
||||
### 4.5 输入防护与限流(F-03)
|
||||
|
||||
| Key 模式 | 类型 | TTL | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `guard:rate:{actor_id}:{agent}` | String INCR | 1m | 每分钟请求计数 |
|
||||
| `guard:block:{actor_id}` | String | 15m | 命中高危规则临时封禁 |
|
||||
|
||||
### 4.6 不放 Redis 的数据
|
||||
|
||||
- 审计主记录 `audit_log` → MySQL
|
||||
- 预警单最终状态 `risk_alert.status` → MySQL
|
||||
- 草稿审核结果 `advisor_draft.review_status` → MySQL
|
||||
- SQL 留痕 `analytics_query_log` → MySQL
|
||||
- 适当性阻断 `risk_suitability_log` → MySQL
|
||||
|
||||
---
|
||||
|
||||
## 5. Neo4j · 关系图谱(5 节点 + 5 关系)
|
||||
|
||||
> 同步自 Core(`sync_neo4j.py`);Agent 不往 Neo4j 写画像,避免双写。
|
||||
|
||||
### 5.1 节点(Node Labels)
|
||||
|
||||
| Label | 主键属性 | 来源 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `Customer` | `customer_id` | Core 同步 | 不含敏感明文,仅 ID + 脱敏标记 |
|
||||
| `Advisor` | `advisor_id` | Core 同步 | 代理人 |
|
||||
| `Product` | `product_id` | Core 同步 | 基金/产品 |
|
||||
| `RiskGrade` | `code` | Core | C1~C5 或 R1~R5 |
|
||||
| `Industry` | `industry_code` | Core 同步 | 行业分类 |
|
||||
|
||||
### 5.2 关系(Relationships)
|
||||
|
||||
| 关系 | 起 → 止 | 属性 | 用途 |
|
||||
| --- | --- | --- | --- |
|
||||
| `ASSIGNED_TO` | Customer → Advisor | `since`, `status` | F-01 归属校验 |
|
||||
| `HAS_RISK_LEVEL` | Customer → RiskGrade | `source=l0`, `evaluated_at` | R-02 适当性(L0 权威) |
|
||||
| `HOLDS` | Customer → Product | `qty`, `market_value`, `cost`, `pnl_pct`, `as_of` | C-01/A-01/R-01 上下文 |
|
||||
| `REQUIRES_MIN_RISK` | Product → RiskGrade | `rule_id` | R-02 产品最低适配等级 |
|
||||
| `BELONGS_TO` | Product → Industry | — | C-13 持仓传导 |
|
||||
|
||||
### 5.3 各 Agent 读图场景
|
||||
|
||||
| Agent | Cypher 意图 | 场景 |
|
||||
| --- | --- | --- |
|
||||
| 客户财富 | 我的某产品→所属行业→相关资讯标的 | C-01, C-13 |
|
||||
| 代理人助手 | 客户→持仓→产品风险等级分布 | A-01 |
|
||||
| 风控监测 | 客户→HOLDS→Product→REQUIRES_MIN_RISK vs HAS_RISK_LEVEL | R-02 |
|
||||
| 数据分析 | 统计某 RiskGrade 下 HOLD 产品类别分布 | D-05 |
|
||||
|
||||
### 5.4 R-02 示例 Cypher
|
||||
|
||||
```cypher
|
||||
MATCH (c:Customer {customer_id: $cid})-[:HAS_RISK_LEVEL]->(cr:RiskGrade)
|
||||
MATCH (p:Product {product_id: $pid})-[:REQUIRES_MIN_RISK]->(pr:RiskGrade)
|
||||
RETURN cr.code AS customer_risk, pr.code AS product_min_risk
|
||||
```
|
||||
|
||||
> 硬判定逻辑仍在风控服务代码 + Core 规则引擎;Neo4j 提供 **关系查询加速**,非唯一真相源。
|
||||
|
||||
### 5.5 不在 Neo4j 存
|
||||
|
||||
会话/Message 节点、预警 Alert 节点、画像标签节点、全文文档节点(分别由 MySQL/Redis/Milvus 负责)。
|
||||
|
||||
---
|
||||
|
||||
## 6. Milvus · 知识库向量(2 Collection)
|
||||
|
||||
> Embedding:Ollama bge-m3,**1024 维**。原始文档存本地 `data/kb/`,不用 MinIO。
|
||||
|
||||
### 6.1 `kb_product_rules` · 产品规则知识库(共用 🟡)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 基金产品手册、费率、申赎规则、风险说明(C-02/C-03/A-02) |
|
||||
| 共用 Agent | 客户财富 + 代理人助手 |
|
||||
| 关键字段 | `id`(`{product_id}_{chunk_no}`) · `embedding`(1024维) · `product_id` · `product_name` · `doc_type`(prospectus/fee/rule/risk) · `risk_level` · `source_doc_id`(溯源必填) · `source_version` · `effective_date` · `chunk_text` · `chunk_no` |
|
||||
| 检索约束 | 回答**必须**返回 `source_doc_id` + `source_version`;过滤 `effective_date <= today` |
|
||||
| 索引 | 向量 IVF_FLAT/HNSW;标量过滤 `product_id`/`doc_type`/`effective_date` |
|
||||
|
||||
### 6.2 `kb_business_ops` · 业务制度知识库(代理人专用 ⚪)
|
||||
|
||||
| 项 | 内容 |
|
||||
| --- | --- |
|
||||
| 用途 | 内部办事流程、办理条件(A-04 定投/赎回到账等) |
|
||||
| 共用 Agent | 仅代理人助手(客户不直接暴露内部全文) |
|
||||
| 关键字段 | `id`(`{process_code}_{chunk_no}`) · `embedding` · `process_code`(SUBSCRIBE/REDEEM/CONVERT/AIP) · `process_name` · `source_doc_id` · `source_version` · `chunk_text` · `chunk_no` |
|
||||
|
||||
### 6.3 P1 再加
|
||||
|
||||
`kb_compliance_scripts`(A-03 话术规范模板)
|
||||
|
||||
### 6.4 不放 Milvus
|
||||
|
||||
聊天记录、审计日志、客户 L1/L2/L3 画像 JSON、预警单、适当性结果(均走 MySQL)。
|
||||
|
||||
---
|
||||
|
||||
## 7. 画像 L1/L2/L3 分层详解(重点)
|
||||
|
||||
### 7.1 为什么分四层
|
||||
|
||||
同一位客户,档案分四层;每层由不同的人/系统填写,给别人用,但 **谁也不能替官方改正式风险等级**。
|
||||
|
||||
| 层 | 存什么 | 权威库 | 谁写 | 谁读 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| **L0** | 官方 KYC、正式 C1~C5、持仓/流水 | `jinrong_core` | 非 Agent | 四 Agent 只读 |
|
||||
| **L1** | 客户侧偏好、规划、行为(**不能改 L0 等级**) | `customer_profile_l1` | 客户 Agent | 客户本人、代理人、风控、分析 |
|
||||
| **L2** | 代理人服务记录、诉求、待办(**客户不可见**) | `customer_profile_l2` | 代理人 Agent | 代理人、风控、分析 |
|
||||
| **L3** | 监测分层、评分维度(**不改 L0 等级**) | `customer_profile_l3` | 风控 Agent | 风控、代理人/分析只读 |
|
||||
|
||||
### 7.2 为什么不合成一张表
|
||||
|
||||
| 问题 | 后果 |
|
||||
| --- | --- |
|
||||
| 客户说「我激进」和正式 C1 保守混在一起 | 容易误当成可买高风险 → 合规风险 |
|
||||
| 代理人写的服务备注和客户自己填的规划权限不同 | 客户不应看到服务侧备注 |
|
||||
| 风控的「重点关注」反写进官方测评 | 违规改正式等级 |
|
||||
|
||||
所以:**三层 enrich(L1/L2/L3)+ 一层官方底稿(L0)**,各写各的、各读各的(在权限范围内)。
|
||||
|
||||
### 7.3 读写权限速查
|
||||
|
||||
| 角色 | L0 | L1 | L2 | L3 | suitability_log |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 客户本人 | R | W/R 本人 | — | — | R 本人 |
|
||||
| 代理人 | R | R 名下 | W/R 名下 | R 名下 | R 名下 |
|
||||
| 风控 | R | R | R | W | **W** |
|
||||
| 数据分析 | R | R 脱敏 | R 脱敏 | R 脱敏 | — |
|
||||
|
||||
> 客户永远不可见 L2/L3(API 层直接 404,避免泄露存在性)。
|
||||
|
||||
### 7.4 L1 `style_tags` JSON 示例
|
||||
|
||||
```json
|
||||
{
|
||||
"basic": { "age_band": "25-30", "city": "上海", "education": "本科" },
|
||||
"financial": { "income_band": "10-20万", "monthly_investable": "3000-5000" },
|
||||
"investment": {
|
||||
"goal": "购房储蓄",
|
||||
"horizon": "1-3年",
|
||||
"product_preferences": ["指数基金", "货币基金"],
|
||||
"excluded_products": ["私募", "期货"]
|
||||
},
|
||||
"lifecycle": { "stage": "单身奋斗期", "near_term_goal": "购房" },
|
||||
"threshold_pref_summary": "亏损10%提醒"
|
||||
}
|
||||
```
|
||||
|
||||
> `threshold_pref_summary` 是 C-04 阈值偏好的**摘要**;明细在 `customer_threshold_config`。**禁止**在 L1 存正式 C 等级。
|
||||
|
||||
### 7.5 L3 `score_dimensions` JSON 示例(监测用,不写 L0)
|
||||
|
||||
```json
|
||||
{
|
||||
"basic_attr": 17.5,
|
||||
"invest_experience": 17.5,
|
||||
"risk_preference": 8.0,
|
||||
"behavior_anomaly": 20.0,
|
||||
"computed_at": "2026-09-07T00:00:00Z",
|
||||
"model_ref": "JR-RULE-2024-001"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. 审计表只 INSERT 约定(红线)
|
||||
|
||||
本项目有 4 张审计类表,**只允许 INSERT,禁止 UPDATE/DELETE**:
|
||||
|
||||
| 表 | 用途 | 谁写 | 谁读 |
|
||||
| --- | --- | --- | --- |
|
||||
| `audit_log` | 审计总账(鉴权、判定、人工处置) | 四 Agent + 平台 | 合规 |
|
||||
| `agent_message` | 消息明细归档 | 四 Agent | 四 Agent + 合规 |
|
||||
| `agent_tool_call` | Tool 调用审计 | 四 Agent | 合规、调试 |
|
||||
| `input_guard_log` | 输入安全防护 | 平台 + 四 Agent | 安全/合规 |
|
||||
|
||||
**实现要求:**
|
||||
- 代码层禁止任何 UPDATE/DELETE 这些表的业务路径
|
||||
- 单测加只 INSERT 断言(尝试 UPDATE 应抛错或被拦截)
|
||||
- 任何「修正」「撤回」需求都通过新 INSERT 一条对冲记录实现,不删原记录
|
||||
|
||||
---
|
||||
|
||||
## 9. 建表顺序(对应 bootstrap.ps1)
|
||||
|
||||
> 新环境按此顺序建库,对应 `scripts/dev/bootstrap.ps1` 执行步骤。
|
||||
|
||||
```text
|
||||
① Docker Redis + Neo4j 启动
|
||||
↓
|
||||
② jinrong_core 模拟库(L0 只读)
|
||||
scripts/core/00-create-database.sql
|
||||
scripts/core/01-ddl.sql ← 11 表 DDL
|
||||
scripts/core/02-seed-base.sql ← 风险等级/行业/员工/产品
|
||||
scripts/core/03-seed-customers.sql ← 33 客户 + 风评 + 归属
|
||||
scripts/core/04-seed-holdings.sql ← 持仓
|
||||
scripts/core/05-seed-trades.sql ← 交易流水
|
||||
scripts/core/06-seed-nav.sql ← 净值
|
||||
↓
|
||||
③ jinrong_agent 共用底座(11 表)
|
||||
docs/项目框架设计/表设计/01-mysql-共用底座.sql
|
||||
↓
|
||||
④ jinrong_agent Agent 专用(5 表)
|
||||
docs/项目框架设计/表设计/02-mysql-agent专用.sql
|
||||
↓
|
||||
⑤ 同步归属关系
|
||||
python scripts/sync/sync_advisor_rel.py → customer_advisor_rel
|
||||
↓
|
||||
⑥ 同步 Neo4j 图
|
||||
python scripts/sync/sync_neo4j.py → 节点 + 关系
|
||||
↓
|
||||
⑦ 验证计数
|
||||
jinrong_core.core_customer COUNT = 33
|
||||
jinrong_agent.customer_advisor_rel COUNT > 0
|
||||
jinrong_agent.agent_session 表存在
|
||||
```
|
||||
|
||||
**为什么要这个顺序:**
|
||||
- Core 先建:因为 agent 库的 `customer_advisor_rel` 由 Core 同步而来
|
||||
- 共用底座先于专用:四 Agent 任意一个要跑都需要 11 张共用表
|
||||
- Neo4j 最后同步:依赖 Core 的持仓/产品/归属数据
|
||||
|
||||
---
|
||||
|
||||
## 10. 一张矩阵速查:16 张 MySQL 表 × 4 Agent
|
||||
|
||||
图例:**W**=写入 **R**=读取 **·**=不用
|
||||
|
||||
| 表名 | 客户 | 代理人 | 分析 | 风控 | 档位 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `agent_session` | W/R | W/R | W/R | W/R | 🔴 |
|
||||
| `agent_message` | W/R | W/R | W/R | W/R | 🔴 |
|
||||
| `agent_tool_call` | W/R | W/R | W/R | W/R | 🔴 |
|
||||
| `audit_log` | W | W | W | W | 🔴 |
|
||||
| `input_guard_log` | W | W | W | W | 🔴 |
|
||||
| `customer_advisor_rel` | R | R | R | R | 🔴 |
|
||||
| `customer_profile_l1` | **W**/R | R | R | R | 🟡 |
|
||||
| `customer_profile_l2` | · | **W**/R | R | R | 🟡 |
|
||||
| `customer_profile_l3` | R | R | R | **W** | 🟡 |
|
||||
| `risk_alert` | · | · | R | **W** | 🟡 |
|
||||
| `risk_suitability_log` | R | R | · | **W** | 🟡 |
|
||||
| `customer_threshold_config` | **W**/R | · | · | · | ⚪ |
|
||||
| `customer_notify_log` | **W** | · | · | · | ⚪ |
|
||||
| `advisor_draft` | · | **W**/R | · | · | ⚪ |
|
||||
| `compliance_hit_log` | · | **W** | · | · | ⚪ |
|
||||
| `analytics_query_log` | · | · | **W** | · | ⚪ |
|
||||
|
||||
> 底座 = 上表所有 🔴 + 🟡 行 = MySQL 11 张共用表;⚪ 5 张各 Agent 自建。
|
||||
|
||||
---
|
||||
|
||||
## 11. 关联文档
|
||||
|
||||
| 文档 | 用途 |
|
||||
| --- | --- |
|
||||
| [00-架构总览.md](../项目框架设计/表设计/00-架构总览.md) | 给新人的架构一页纸 |
|
||||
| [05-多Agent共用底座清单.md](../项目框架设计/表设计/05-多Agent共用底座清单.md) | 16 表 × 4 Agent 完整矩阵 |
|
||||
| [01-mysql-共用底座.sql](../项目框架设计/表设计/01-mysql-共用底座.sql) | 共用 11 表 DDL |
|
||||
| [02-mysql-agent专用.sql](../项目框架设计/表设计/02-mysql-agent专用.sql) | 专用 5 表 DDL |
|
||||
| [06-用户画像L1-L3设计.md](../项目框架设计/表设计/06-用户画像L1-L3设计.md) | 画像 JSON schema |
|
||||
| [07-risk_suitability_log说明.md](../项目框架设计/表设计/07-risk_suitability_log说明.md) | R-02 落库字段契约 |
|
||||
| [02-redis-keys.md](../项目框架设计/表设计/02-redis-keys.md) | Redis Key 明细 |
|
||||
| [03-milvus-collections.md](../项目框架设计/表设计/03-milvus-collections.md) | Milvus Collection 字段 |
|
||||
| [04-neo4j-model.md](../项目框架设计/表设计/04-neo4j-model.md) | Neo4j 图模型 |
|
||||
| [../Core模拟底座/01-表结构与种子说明.md](../项目框架设计/Core模拟底座/01-表结构与种子说明.md) | Core 11 表 + 种子说明 |
|
||||
| [../技术选型和版本/02-JWT-RBAC鉴权手册.md](../项目框架设计/技术选型和版本/02-JWT-RBAC鉴权手册.md) | 鉴权与归属校验 |
|
||||
| [../../scripts/core/01-ddl.sql](../../scripts/core/01-ddl.sql) | Core 建表 SQL |
|
||||
| [../../scripts/dev/bootstrap.ps1](../../scripts/dev/bootstrap.ps1) | 一键 bootstrap |
|
||||
| [../业务记忆管理/业务记忆管理手册.md](../业务记忆管理/业务记忆管理手册.md) | 记忆分层详解 |
|
||||
@@ -0,0 +1,56 @@
|
||||
# 项目管理文档索引
|
||||
|
||||
> 路径:`docs/项目管理/README.md`
|
||||
> 适用:JinRong 金融四 Agent 项目 · 5 人全栈新手团队
|
||||
> 上级:[../memory/MEMORY.md](../memory/MEMORY.md) §0 交接清单
|
||||
|
||||
---
|
||||
|
||||
## 三份交付物
|
||||
|
||||
| # | 文档 | 用途 | 何时读 |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | [01-每日会议纪要模板与流程.md](./01-每日会议纪要模板与流程.md) | 每日站会模板 + 阻塞/调整规范 + 前 3 天示例纪要 | 每天开会前 |
|
||||
| 2 | [02-项目开发计划.md](./02-项目开发计划.md) | 项目级 5 周计划:Wave×Phase 双视角、依赖链、周验收门、第1周天级、风险、答辩准备 | 每周初、里程碑评审 |
|
||||
| 3 | [03-表设计文档.md](./03-表设计文档.md) | 给人看的表设计字典:MySQL双库/Redis/Neo4j/Milvus 分层、谁写谁读、关键字段中文释义、建表顺序 | 写代码查表、联调对字段 |
|
||||
|
||||
---
|
||||
|
||||
## 文档之间的关系
|
||||
|
||||
```text
|
||||
01 每日纪要 ──对照──► 02 项目开发计划(本周验收门)
|
||||
│
|
||||
└──查表──► 03 表设计文档(字段/谁写谁读)
|
||||
│
|
||||
└──溯源──► docs/项目框架设计/表设计/(SQL 原文)
|
||||
```
|
||||
|
||||
- **01 纪要** 是日常执行工具,回答「今天谁做什么、卡在哪」
|
||||
- **02 计划** 是项目级蓝图,回答「这周验收什么、依赖谁、风险在哪」
|
||||
- **03 表设计** 是技术字典,回答「这张表干什么、字段什么意思、谁写谁读」
|
||||
|
||||
---
|
||||
|
||||
## 子目录约定
|
||||
|
||||
| 子目录 | 用途 |
|
||||
| --- | --- |
|
||||
| `docs/项目管理/纪要/` | 每日会议纪要归档(`YYYY-MM-DD.md`) |
|
||||
| `docs/项目管理/周报/` | 周报归档(`YYYY-WW.md`) |
|
||||
|
||||
> 纪要和周报目录可按需创建,归档约定见 [01-每日会议纪要模板与流程.md](./01-每日会议纪要模板与流程.md) §8。
|
||||
|
||||
---
|
||||
|
||||
## 关联文档
|
||||
|
||||
| 文档 | 用途 |
|
||||
| --- | --- |
|
||||
| [../memory/MEMORY.md](../memory/MEMORY.md) | 项目记忆、交接清单、禁止项 |
|
||||
| [../memory/REQUIREMENTS.md](../memory/REQUIREMENTS.md) | Wave 0~3 场景 ID(F/C/A/D/R)验收对照 |
|
||||
| [../memory/FRAMEWORK.md](../memory/FRAMEWORK.md) | 技术选型、模块实现状态表 |
|
||||
| [../memory/FLOW.md](../memory/FLOW.md) | 端到端链路、bootstrap |
|
||||
| [../memory/TODO.md](../memory/TODO.md) | 当前待办与责任人 |
|
||||
| [../需求拆解/业务场景优先级清单.md](../需求拆解/业务场景优先级清单.md) | P0 场景全表 |
|
||||
| [../项目框架设计/表设计/00-架构总览.md](../项目框架设计/表设计/00-架构总览.md) | 数据库架构总览 |
|
||||
Reference in New Issue
Block a user