模块 5 · D-06

模板填参 + 结果缓存
写侧 bump 失效

问数两层「快路径」:① 同形态问题命中 published 模板,跳过 LLM 写 SQL(template_service.py) ② 执行结果进 Redis,键里带表世代——交易/预警/L3 写后 bump,不等 TTL 过期。

两层 D-06 各管什么

层入口答辩句
模板缓存 match_template → 填 :days 等 「客户+总数」→ template_hit: true,省 LLM 写 SQL
结果缓存 cache_service.py 权限指纹 + SQL hash + 世代 「同 SQL 同权限」秒回;写侧 bump 后旧键自然 miss
写侧失效 analyst_cache_invalidate 交易/预警/L3 后 「演示里刚模拟交易,问数不会还显示旧汇总」
前端问数页会展示 模板命中 / 结果缓存 标签(读 meta.template_hit · cache_hit)。
analyst_agent 决策顺序(简化)
clarify? → return suggestions
template match? → fill SQL → validate → execute
else LLM generate_sql → validate → execute (cache?)
guardrail → persist analytics_query_log
白话

像预制菜 + 冰箱贴保质期:常问题型直接拿模板填天数;跑完的结果贴冰箱,但 Core 有新交易就撕掉旧标签(bump)。

种子:scripts/agent/seed-analyst-query-templates.sql · 一键演示:prepare_all.ps1。

群聊:模板 vs LLM vs 缓存

AI 说「问数缓存就是 Redis TTL 10 分钟」,你怎么纠正?