1️⃣ 三层架构(自上而下)
这套 Agent 由三层底座组成。每一层解决一个独立的问题:
🧠 语义层
让 AI 正确理解数据
表语义 .md(8 张表)
专题语义 .md(3 个专题)
业务术语别名表(12 个指标)
⚙️ Harness
让 AI 稳定使用数据
意图理解 + 多轮澄清
RAG 精准召回
三道防线 + 三层记忆
🔒 信息边界
让 AI 不越界返回数据
数据不出域
L1/L2/L3 分级
多路径还原检测
2️⃣ 单次查询的完整流程(6 步)
1意图理解
从用户自然语言里抽取「指标 + 维度 + 时间 + 过滤条件」结构化输出。
例:「上周分渠道的流水」→ {metrics:[GMV], dimensions:[channel], time:last_week}
2歧义检测 + 多轮澄清(如有歧义)
三类歧义检测:时间(去年/上周)、指标(活跃/付费)、维度(区服/端)。
只要有歧义就主动反问,绝不直接猜。用户回答后系统记住会话状态,把答案合并回原意图,继续往下走。
3编造检测(防线 1)
如果用户提到了知识库里不存在的指标(比如"狂热值"),AI 不会胡编,而是返回:"知识库没有这个指标,相近的是 X/Y/Z"。
4RAG 精准召回
基于已澄清的意图,从知识库召回:相关专题(业务套路)+ 相关表(事实源)。每次只读 3%~5% 的知识库,不大水漫灌。
5权限校验(防线 2)
两层校验:① 直接命中检测(L3 查 DAU 直接拒);② 多路径还原检测(L2 查 GMV+ARPU 可推 DAU 也拒)。
被拒时使用零信息量拒绝模板——不暗示数据是否存在。
6SQL 生成(防线 3 + 数据不出域)
基于预先验证过的 SQL 模板组合,硬规则固化(DAU 必须用 user_sessions、GMV 必须 status='success')。
输出 SQL 让用户复制走自己跑——AI 全程不接触一行真实数据。
3️⃣ 持续学习闭环
用户标记错误 → 自动写入 LEARNINGS.md → 下次同类查询前自动召回提示 → 同一个错误不会犯第二次。
4️⃣ 架构示意
用户 ─→ 意图理解 ─┬─→ 歧义? ─→ 反问澄清(记住会话状态)
│
└─→ 编造? ─→ 询问 + 推荐相近指标
│
↓
RAG 召回(专题+表+指标)
│
↓
权限校验(含 DAG 多路径检测)
│
↓
SQL 模板组合 ─→ 字段出处溯源
│
↓
数据不出域 ─→ 用户复制 SQL 自己跑
│
↓
错误反馈 ─→ LEARNINGS.md ─→ 知识库自我更新
5️⃣ 左侧栏的「表语义模型」是什么?
那 8 张表就是 AI 的"字典"——告诉 AI:"你能查的表叫什么、有哪些字段、字段的业务含义、能算出哪些指标、和谁能 JOIN、容易踩什么坑"。
点击任意一张表能看到完整的 7 章节语义文档。正是因为有这份字典,AI 才不会胡编 SQL 字段。