1、概述
让大模型自己从 schema 里"猜"表关系,是这条路上最容易踩的坑。真正高效的工程做法是——人把关系画清楚,交给模型去理解和消费。而在这几种"显式表达关系"的方式里,Mermaid ER 图凭借"机器可读 + 模型友好 + 维护成本低"三重优势,是最优解。
2、问题本质:你让大模型干的到底是什么活?
很多团队的思路是:把一堆CREATE TABLE丢给大模型,让它"分析出表之间的关系"。这是一个定位错误。
大模型的强项是理解和推理已有结构,弱项是凭空推断隐含关联。让它从裸 schema 里反推关系,等于把一道推断题扔给它——而推断题,注定伴随幻觉。
真正的解法很简单:把推断题变成阅读理解题。关系不该由模型去猜,而应该由工程侧明确给出,模型只负责"读懂并运用"。
问题于是变成了另一个:用什么形式,把表关系明确传给大模型?
3、五种候选方案全景对比
方案 | 核心思想 | 准确率 | 维护成本 | 模型友好度 | 适用规模 |
|---|---|---|---|---|---|
A. 裸 DDL / schema 直传 | 把建表语句整段塞进 Prompt | 低-中 | 低 | 差 | 小 |
B. 元数据规则抽取 | 解析外键、约束、命名规范 | 高(仅限有约束的) | 低 | 不依赖模型 | 中 |
C. 大模型 + RAG 候选召回 |