用大模型自动补全表和字段注释,怎么保证质量?

第 1209 题 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. 给模型足够的上下文
  3. 生成什么
  4. 质量控制
  5. 持续更新
  6. 风险

面试怎么回答

我会给模型足够的上下文,不只是表名和字段名,还有脱敏后的样例值和分布、上游血缘和生成 SQL、下游使用情况、已有文档和命名规范,这样模型能看懂字段是怎么算出来的。生成表用途、粒度、更新频率,字段的业务含义、单位、枚举、口径,不确定的标待确认。质量控制上核心表必须人工审核,长尾表先发布并标记 AI 生成;推送给负责人确认;自动校验描述和实际数据是否一致;抽样评估准确率;在数据目录里标明来源和审核状态。表结构或 SQL 变化时重新生成,并注意错误注释会被下游 Agent 放大、样例数据发给模型前要脱敏。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

数仓里几千张表,一半没有注释,字段注释更是缺得厉害。智能问数、数据目录、Agent 查数都依赖元数据,于是团队想用大模型批量生成注释。面试官问这题,想看你怎么让大模型生成的元数据可信,而不是批量制造「看起来对」的错误。

给模型足够的上下文

只给表名和字段名,模型只能猜。好的输入包括:

  • 表名、字段名、类型、分区信息;
  • 样例数据:每个字段的若干个去重值、空值率、取值分布(注意脱敏);
  • 血缘:上游表和字段、生成这张表的 SQL;
  • 使用情况:下游哪些报表、查询在用它,常见的过滤和聚合方式;
  • 已有文档:相关的需求文档、Wiki;
  • 命名规范:公司的分层前缀、字段命名约定。

有了生成 SQL,模型就能看懂 pay_amt 是 sum(order_amount) - sum(discount),而不是只靠名字猜。

生成什么

  • 表的用途描述、粒度(一行代表什么)、更新频率;
  • 字段的业务含义、单位、枚举值含义、计算口径;
  • 对不确定的内容,输出置信度或「待确认」,而不是硬编一个解释。

质量控制

  1. 分级处理:核心表(被大量使用、对外的指标表)必须人工审核后发布;长尾表可以先发布,标记为「AI 生成」;
  2. 负责人确认:生成结果推送给表的负责人确认或修改,修改记录作为改进依据;
  3. 自动校验:检查描述里提到的单位、枚举值和实际数据是否一致;
  4. 抽样评估:人工抽检一批,统计准确率,按表的类型和分层看问题集中在哪里;
  5. 标记来源:在数据目录里显示「AI 生成,未审核」「已审核」,使用者心里有数。

持续更新

  • 表结构或 SQL 变化时,自动重新生成并提醒负责人;
  • 用户在使用过程中发现注释错误,可以反馈修正。

风险

  • 生成的注释被下游 AI 当作事实使用,错误会被放大:错误的注释导致 Agent 用错字段,查出错误的数;
  • 样例数据可能包含敏感信息,发给模型前要脱敏,并确认数据能否发给外部模型。