答辩 Demo · 全流程 SOP(给人看 · 亮点优先)
用途: 答辩、汇报、投资人/业务方走查——按时间选路线,每步带口述句与可展示的亮点。
基线(2026-09-11): 827 pytest · 22 Vitest · 分支 merger · Redis 6380
分册 SOP(细节不重复写死在本页):
1. 答辩前准备(建议提前 45~60 分钟)
1.1 一键灌库(推荐)
仅风控重走 A-1~A-5 且库已脏: 见 演示SOP-风控模块.md §2 双库 DROP 重灌。
问数模板/指标字典缺失: .\scripts\dev\seed_analyst.ps1 或 DEMO-SOP-问数.md §1。
1.2 依赖服务
1.3 自检(30 秒 · 给观众看「工程化」)
| 检查 |
操作 |
亮点话术 |
| 就绪探针 |
浏览器或 GET http://127.0.0.1:8000/api/ready |
「Redis + 关键路由自检,避免半升级后端」 |
| 前端条 |
登录页/顶栏 DevReadyBanner 无红字 |
「前后端版本不一致时先告警,不是 silent fail」 |
| 测试基线 |
python -m pytest -q(可选口播 827 passed) |
「问数 guard 探针、风控矩阵、客服 1B 都在 pytest 里」 |
1.4 Demo 账号(登录页四卡片)
| 角色 |
Actor |
默认首页 |
| 客户 |
CUST-9527 |
#/app/customer/home |
| 理财师 |
STAFF-10086 |
#/app/advisor/home |
| 分析员 |
STAFF-20001 |
#/app/analyst/home |
| 风控专员 |
STAFF-30001 |
#/app/risk/home |
2. 开场 30 秒(必背 · 与亮点挂钩)
- 定位: 代销场景四角色 AI 助手 + 统一 L0 事实与合规底座;Core 为模拟库,演示可审计、可阻断、可留痕。
- 架构句: 四 Agent 不互调 LLM;跨线靠画像表、预警表、代销平台 REST(重复能力 以 platform API 为准)。
- ⚠️ 代理人 Agent 未完整接入(答辩必记): 理财师线没有类似客服的独立深编排(无
advisor_service 级产品化);当前仅为 agent_service + X-Agent-Type: advisor 的 Chat 骨架 + 部分 Tool/公开 RAG · A-01~A-05(T-20)未做 · 勿把顾问 Chat 当主 Demo(可口播「规划中」或只演示 Dashboard/归属 403)。详见 答辩知识点清单.md §4.2。
- 铁律: L0 测评不可被画像覆盖 · 仅 R-02 适当性 可阻断交易 · 风控不自动冻户 · 审计表只 INSERT。
- 加分一句(可选): 问数 SQL 五层 guard + 探针、客服 1B 出口 sanitize、风控 事件线+人工处置、D-06 模板/缓存 Tag 可在 UI 上指给用户看。
3. 路线选择
| 路线 |
时长 |
适合 |
覆盖 |
| A · 精华 |
6~8 分钟 |
时间紧、领导旁听 |
§4 步骤 0→1→2→3(不含顾问 Chat 深演示) |
| B · 标准答辩 |
12~15 分钟 |
答辩/评审 |
§4 步骤 0~3、5~6(顾问仅可选 4 一步或跳过) |
| C · 全亮点 |
20~25 分钟 |
技术深度、二轮 |
§4 + §5 + §6 可选 + 风控 A-4 聚合 / 订阅推送 |
4. 标准演示步骤(按顺序 · 每步「操作 → 亮点 → 口述」)
步骤 0 · 登录与 Dashboard(任意角色先登一次)
| 操作 |
亮点 |
口述句 |
| 登录 客户 → 首页 |
饼图/柱图/持仓表 · 眼睛脱敏只遮显示不改数据 |
「Dashboard 走 platform API 只读 Core,不是 Chat 编数」 |
| 顶栏复制 Actor ID |
与 JWT sub 一致 |
「后面 Tool 归属、问数域都绑在这个 id 上」 |
步骤 1 · 客户财富线(Compliance + Core 事实)
| 操作 |
亮点 |
口述句 |
| 客户助手 Chat · 问「我的持仓」或「最新净值」 |
SSE 流式 · Tool 查 Core RO · C-05 快照非实时盘口 |
「数据类回复走 Tool + 1B sanitize;违禁回 fact_text,不误转人工」 |
| 可选:问「推荐稳赚产品」 |
COMPLIANCE_REJECT / reject |
「C-11:能买/匹配可以讲,收益承诺不行」 |
| 可选:持仓页 · 「检查阈值提醒」 |
C-04 内联提醒 + 演示 threshold-check?push= |
「阈值写 L1+配置表;无生产 cron,演示可 push」 |
| 可选:游客入口(若 UI 有) |
fin_* RAG · 无客户数据 |
「游客只有公开知识库,和登录客户隔离」 |
给观众看的硬点: LangGraph 14 节点 · agent_tool_call 落库 · 会话 Redis 窗口 + MySQL 永久 · 侧栏 active + close-all(删/清空可演示)。
步骤 2 · 风控事件线(R-02 + 人工闭环)
| 操作 |
亮点 |
口述句 |
| 换 风控 登录 → 模拟交易 |
A-3 大单 → RISK-001/002 · 台账 pending · core_trade 落库 |
「只有 R-02 适当性 在网关层 blocked;规则引擎再出预警单」 |
| 预警台账 · 筛选 pending · 点处置 |
stats.pending · 处置 409 状态机 · audit 同事务 |
「Agent 不能自动改状态;REST 处置 + 只 INSERT 审计」 |
| 可选:A-1 风评不匹配 |
SUIT_RISK_MISMATCH · 无 trade 落库 |
「阻断发生在写 Core 之前,有 suitability_log」 |
| 可选:A-5 AML |
aml 单 · 不冻户(is_active 仍为 1) |
「命中 AML 出单,但 MEMORY 禁止自动冻户」 |
可选:另开 subscribe_alerts.py |
Redis risk:pub:alert 实时打印 |
「运维向能力:订阅推送,不是产品化 UI」 |
Swagger 逐步: 见 演示SOP-风控模块.md §4。
步骤 3 · 数据分析 / 问数(D-06 + 护栏 + 拆分)
| 操作 |
亮点 |
口述句 |
| 分析员 → 问数工作台 |
路由 /api/analyst/chat(无 X-Agent-Type) |
「问数和 Chat 拆路由;默认 只出表,解读单独按钮」 |
| 问:客户总数是多少 |
Tag 模板命中 · 折叠 SQL · analytics_query_log |
「D-06 模板跳过 LLM 写 SQL,答辩稳定」 |
| 再问同一题 |
Tag 结果缓存(权限指纹 + 表世代) |
「写交易/预警会 bump 世代,不等 TTL 失效」 |
| 点 分析该数据 |
/api/analyst/interpret · D-10 数字对齐 · 失败 degrade 只出表 |
「解读上下文只有本轮 Q+表;不接 Chat 历史」 |
| 问:近30天交易流水是多少 |
clarify(N-01) |
「多义不猜口径——和乱写 SQL 对比,这是产品态度」 |
| 可选:抽样溯源 / 转人工 |
N-03 sample · N-07 escalate |
「失败/争议有留痕,不是 silent error」 |
逐步表: DEMO-SOP-问数.md §2~3。
步骤 4 · 风控 / 顾问 Chat(只读 · 防误导)
代理人 Agent 未完整接入: 下表「理财师 Chat」仅适合一句话带过(骨架 + 归属),不要承诺草稿/巡检/深度 L2 等 A 线能力;主 Demo 用客户 / 问数 / 风控。
| 操作 |
亮点 |
口述句 |
| 风控助手 · 「查待处理预警」 |
6 只只读 Tool · 无处置 Tool |
「对话线查可以,改状态必须走 REST 处置 API」 |
理财师 Chat 深演示 |
未接满 · 仅 agent_service 骨架 |
「顾问独立编排与 T-20 需求在排期;今天演示平台归属与风控/问数/客服三条成熟线」 |
| 可选(浅):理财师登录 → Dashboard 客户列表 |
平台 API + 归属 |
「名下客户数据走 Core + rel 表;Chat 能力与客服线不对等」 |
步骤 5 · 工程化收口(30 秒 · 给技术评委)
| 展示 |
亮点 |
| 口播 827 pytest + 22 Vitest |
Wave 分模块 · TEST-AN-001 sql_guard · TEST-RISK-001 矩阵 |
指 docs/memory/ + docs/course/ |
Agent 交接记忆 + 交互深潜课(四 Agent + 架构治理课) |
| 主动 §8 边界 1~2 条 |
无真实 Core · D-09 多轮 open · Dashboard 无钻取 — 显得诚实 |
5. 亮点清单(按主题 · 可穿插口述)
| 主题 |
展示动作 |
一句话亮点 |
| 合规双护栏 |
客服 sanitize + 问数 deny 不调 LLM |
输入防护 + 输出/执行前 guard |
| Tool 纵深 |
403 + agent_tool_call blocked 留痕 |
API 与 Tool 双层归属 |
| RAG 溯源 |
客服回答带 source / 有效日期 |
禁止未检索内容当事实 |
| AL-09 合并 |
口播 JWT 统一 · deps∥gateway |
风控并进宿主,接缝 auth_adapter |
| 问数 RBAC |
理财师查非名下 → deny 与 answer 一致 |
解读按钮 不调 LLM |
| 风控并发 |
口播 A-4 同日聚合 · L3 乐观锁 |
深潜课模块 7 |
| 缓存世代 |
问数二次命中绿色 Tag |
写侧 bump,非纯 TTL |
| 架构治理 |
打开架构治理课模块 2~4 |
ADR/不变量/fitness function 与仓库映射 |
| Ready |
/api/ready JSON |
运维才显现类问题的第一道灯 |
6. 可选加深(全亮点路线 C)
| 项 |
操作 |
说明 |
| 问数 battery |
python scripts/dev/run_query_battery.py |
报告本地、不入库;答辩后给技术同事 |
| 风控 A-4 |
连发 4 笔小额 |
同日 freq 聚合 同 alert_id |
| 风控 A-12 |
agent_behavior_scan.py |
代理人行为链 FR-10 |
| 平台 API |
客户 交易/流水 页 |
与 Chat Tool 同源 Core,强调 platform 优先 |
| 行情页 |
分析员 市场 quotes |
Phase B 未做 sync,主动说草案 |
| 架构课 |
jinrong-architecture-governance 模块 1 |
四要素映射四 Agent |
7. 无 DeepSeek Key / 部分服务不可用
| 能力 |
无 Key 时 |
| 问数 NL2SQL |
模板题仍可用;自由问可能 clarify/deny |
| 问数 解读 |
可能 degrade 或失败 — 跳过步骤 3 解读按钮 |
| 客服 Chat |
闲聊降级文案;事实类仍可走 Tool |
| 风控 Chat |
只读 Tool 仍可用(不依赖生成长文) |
8. 演示后 Q&A 快捷指针
见 答辩知识点清单.md §九;高频:
- 四 Agent 为何不互调? → MEMORY §3 + 审计边界
- SQL 越权? →
sql_guard + 域 + 探针
- LLM 胡说数字? → D-10 guardrail + degrade
- 会话存哪? → Redis 窗口 + MySQL
agent_message
9. 文档与课程索引(给观众「资料包」)
维护: 改 Demo 动线或 pytest 基线时,同步更新本文件 §1.3、答辩知识点清单.md §七/§八/§十、jinrong-overview 模块 8。
产品缺口(固定口径): 代理人 Agent 未完整接入 — 顾问 Chat 仅为 agent_service 骨架,T-20 / A-01~A-05 未做;答辩主 Demo 不含顾问 Chat 深演示。