内部汇报 · 评测方法

这套"自然语言查数据"的系统
我们如何判断它的表现是在提升还是退化?

基于评测工程 NL2DB_eval,介绍评测方法本身。

按键盘 ← → 或点击下方按钮翻页

第一部分 · 开场与名词解释

先认识三个核心组件

用"员工、地图、翻译"打比方,把三个组件讲明白。

编排 harness

指挥流程的"员工"。接到问题后按固定节奏推进:先规划、再执行、再检查、再收尾。

本体 ontology

那张"地图"。业务术语和数据库字段的对照关系,帮助系统减少探索弯路。

执行 model / LLM

那位"翻译兼执行者"。把问题翻译成查询语句,再把结果组织成通俗的答案。

这三项是全文反复出现的三个核心概念,后面都围绕它们展开。
第一部分 · 开场与名词解释

测评相关的术语

名词通俗解释
题库 / 测试用例一组预先设计、附有标准答案的问题
标准答案 ground truth出题人预设的正确结果,用于对照
指标 metric衡量表现的标准,例如探索轮次、响应时长
收敛 / 收敛性系统经过若干轮探索后,能否在合理轮次内找到答案并停止。反复探索无法停止、该停时未停、过早停止导致遗漏答案,均属于收敛不佳
基线 baseline用于对比的"上一版本"或"基准版本"
Token大模型处理文本的计量单位,大致对应算力与成本
归因判断表现变化的原因,明确归属到哪个组件(编排/本体/执行)
第二部分 · 系统组成与必要性

系统构成:三个组件如何协作

用户提问以自然语言提问
编排循环控制探索轮数与停止时机
本体指路确定数据表与字段
大模型执行编写查询、计算答案
数据库读取数据
输出答案整理为结论
  • 编排负责"流程节奏"(探索多少轮、何时停止)
  • 本体负责"定位"(选择哪张表、哪个字段)
  • 执行负责"实现"(编写查询、计算答案)
任一组件发生变更,整体表现都可能变化,因此需要分别评估。
第二部分 · 系统组成与必要性

为什么不能只看"答案是否正确"

仅看最终答案,会忽略三类重要信息:

过程

答案正确,但探索轮次过多、资源消耗过大。

可信度

答案正确,但过程中曾"编造"数据,可靠性存疑。

定位

答案错误,却难以判断是流程、本体还是执行环节的问题。

既要评估结果,也要评估过程成本
第二部分 · 系统组成与必要性

评测要回答的两个问题

1. 这次改动,评分是提高还是降低
2. 评分提高或降低的原因,主要归因于哪个组件(编排 / 本体 / 执行)?
这是整个评测工程存在的唯一目的,后续所有设计都为回答这两个问题服务。
第三部分 · 核心方法

一次只更换一个组件

实验时只改变一个变量,其余保持不变,才能确认"变化是由该变量引起的"。

  • 每次评测只更换一个组件:更换模型、调整编排、修改本体,三选一
  • 另外两个组件保持固定版本,并记录在案
  • 使用同一套题目、同一份数据进行评测
  • 结果必须与基线或上一次评测对比
这是实现"归因"的前提,是整个方法论的基础。
第四部分 · 评估维度

评估分两层:底层"指标" + 上层"分数"

七个过程指标原始数据:过程质量、效率与成本
按权重归因分配到三个组件
三张组件分数卡编排 / 本体 / 执行,0–1 分

指标

从每次执行记录(日志)中统计出的原始数值,例如平均探索轮次、正确率、Token 消耗、耗时,相当于评估的"底账"。

分数

把指标按归因权重折算成 0–1 的展示分,例如编排分、本体分、执行分,相当于评估的"结论"。

底层是原始指标,上层是综合结论;需要追溯分数来源时,回到底层查看证据。
第四部分 · 评估维度

七个过程指标(上):正确性与探索效率

指标说明对应问题
① 探索轮次从提问到答完,循环执行的轮数探索了几轮才得到答案?
② 结果正确性最终答案与标准答案的符合程度答案是否正确?
③ 查询质量中间生成的查询语句质量(语法/选库/冗余)查询方式是否正确?
④ 事实一致性过程中是否存在前后矛盾或编造字段的情况前后是否自相矛盾?
第四部分 · 评估维度

七个过程指标(下):完整性与资源效率

指标说明对应问题
⑤ 回答完整性一个问题的多个子需求是否全部覆盖是否遗漏了子问题?
⑥ Token 消耗消耗的算力和成本资源消耗是否过高?
⑦ 结论生成时间从提问到生成答案的等待时长等待时间是否过长?
前四项考察"质量",后三项考察"成本与体验"。
第四部分 · 评估维度

三个组件各自考察什么

编排 harness 考察

  • 探索轮次是否合理、能否及时停止
  • 是否存在重复探索
  • 前后口径是否一致
  • 回答是否完整

探索收敛快、事实不漂移、回答不漏项、无重复劳动。

本体 ontology 考察

  • 数据库与表的选择是否正确
  • 术语解析是否准确
  • 本体是否提升了探索效率

选对库表、术语解析准确、探索更高效。

执行 model 考察

  • 查询语句语法是否正确
  • 语义是否贴合问题
  • 数值是否准确

语法正确、语义贴题、数值准确。

第四部分 · 评估维度

归因:指标如何归属到组件

每个指标对三个组件的责任权重不同。●● 主导、 参与、 边缘。

指标编排本体执行
平均探索轮次●●●●
结果正确性●●●●
查询质量
事实一致性●●●●
回答完整性●●
Token 消耗●●●●
结论生成时间●●
权重立场:编排 > 本体 > 执行。评估对象是系统设计水平,大模型被视为相对稳定的执行器。组件分数由其主导的维度打分构成。
第五部分 · 评估流程

一条流水线:出题 → 执行 → 评分 → 报告

① 出题准备题库
② 执行自动向系统提问
③ 评分自动 + 人工
④ 报告生成报告

四步单向流转,自动化程度较高。后续四页分别展开。

第五部分 · 评估流程

第一步 · 出题(题库)

一套标准题目,15–20 道。题目过少缺乏统计意义,过多则单次评测耗时较长。

难度

  • 简单:单表
  • 中等:多表
  • 困难:模糊表达 + 跨库

类型

  • 精确查询
  • 聚合统计
  • 排序筛选
  • 跨库联合

边界

  • 无结果
  • 歧义表达
  • 超出本体覆盖
每道题附带:标准答案 + 预期轮次 + 子问题数量(用于完整性检查)。题目由业务方提供,工程侧负责格式整理。
第五部分 · 评估流程

第二步 · 执行(自动向系统提问)

  • 评测工具自动将每道题发送给被测系统,通过接口交互,不接触系统代码
  • 完整记录全过程:每一轮"计划/执行/检查"、每条查询语句、最终答案、耗时、Token
  • 结果按日期归档,避免多次评测相互覆盖
本阶段记录的是全过程原始数据,供下一步评分使用。
第五部分 · 评估流程

第三步 · 评分

  • 可自动计算的指标自动完成:轮次、正确性、Token、耗时
  • 需人工判断的项目由人工标注:语义是否贴题、查询是否冗余(该环节尚未实现,处于规划中)
  • 三层结构:规则引擎(自动)+ 人工标注 + 综合评分,各自独立演进
  • 输出统一的"三组件分数 + 证据",分数必须附带证据,不能只给数值
第五部分 · 评估流程

第四步 · 生成报告(两类报告)

单模型报告

单个方案的总结,包含三模块水平、七维指标和逐题证据。

对比报告

两个方案的对比,比较各维度差异、差距大小与原因。

  • 纯网页格式,无需服务器,离线可查看;顶部两个标签可互相跳转
  • 全部展开、滚动阅读,无需点击展开
  • 使用业务语言(编排/本体/执行),不出现内部代号
报告面向决策者,相当于系统的"体检报告"。下一部分介绍阅读方法。
第六部分 · 报告阅读指南

单模型报告要点

先看页头,再看三张分数卡,最后看结论;需要追溯原因时再查看证据。

  • 第一步看页头:标题带主语 + 快照条(日期/版本/范围),确认这是哪一版的结果
  • 第二步看"三模块水平总览":三张分数卡(编排/本体/执行),每张包含环形进度 + 分数 + 一段通俗解读
  • 第三步只看这段解读:例如"探索收敛快""存在事实漂移""库表定位准确",这就是结论摘要
0.79编排

探索收敛快、无漏项

0.60本体

库表定位基本准确

0.35执行

语法有错误、数值有偏差

上图为示意值,用于演示红绿灯读法。非技术读者仅看这三张卡即可抓住重点。
第六部分 · 报告阅读指南

分数和颜色如何解读

  • 分数范围为 0–1,颜色对应红绿灯语义:绿 ≥0.7 良好 橙 0.4–0.7 一般 红 <0.4 较差
  • 模块水平 = 单题 0.6 + 连续追问 0.4(两种评测均执行时加权;仅执行一种时采用该种结果)
  • 无本体的方案,本体卡显示"无本体(基线对照)",不评分,仅作为对比参照
先看颜色判断结论,再看分数判断程度。
第六部分 · 报告阅读指南

深入了解:按顺序查看

区块内容说明
② 模块维度明细将总分拆解为各项具体维度,横向条形图展示。得分最低的维度即最需要改进的环节
③ 七维指标雷达图展示整体轮廓,下方卡片展示精确数值,属于原始数据
④ 逐题证据先按难度查看柱状图,再逐题定位正确与偏离的情况
第①块是结论,第②③④块是证据与原因;仅需结论时看到第①块即可。
第六部分 · 报告阅读指南

对比报告要点

  • 顶部:两个方案的快照卡并排(A 蓝边 / B 绿边),先确认对比的是哪两个方案
  • ① 三模块水平对比:分组柱状图,每项 A/B 两根柱,显著差异标 ★,绿色代表提升、红色代表下降
  • ② 差异解读:自动生成的文字结论,说明"谁更强、强多少、可能的原因"
  • ③④ 明细表:维度级 / 指标级 A/B 对照表,变化最大的项排列在最前,便于快速定位关注点
对比报告适合回答"这次改动是否值得上线"。
第六部分 · 报告阅读指南

报告中的"区块说明"锚点

  • 每个区块标题下都有一行浅色小字,用通俗语言说明该区块数据所反映的系统能力
  • 例:三模块总览下方注明"三个分数合起来,就是这个方案作为智能查数助手的总体评价"
  • 用途:对某个图表不理解时,先阅读这行说明,即可了解其含义
这是为初次阅读报告的人预留的入口,可以充分利用。
第七部分 · 进阶与总结

连续追问评测

单题评测考察单次回答质量,连续追问评测考察跨轮记忆与抗干扰能力。

跨轮复用

上一轮查询过的表与字段,本轮是否正确复用。

防重复

是否重复执行相同的查询。

防干扰

是否被前一轮的无关信息干扰。

这更接近真实使用场景的检验。
第七部分 · 进阶与总结

一个真实案例

修改了"本体"(统一了某个状态码的大小写),用同一套题目重新评测:

有所提升的指标

复用率 50% → 62.5%
重复探索 4 → 1(编排水平提升)

未变化的指标

最终正确率未提升,受另外三个问题影响。

一次改动可能出现"部分指标提升、部分指标不变"的情况,归因表有助于定位是哪个组件在起作用、还缺少什么。
第七部分 · 进阶与总结

最近一轮评测:双方案对比的关键发现

同一底层模型、同一套题目、同一份数据,仅切换有无本体,因此差异可归因到本体这条线。

单题评测(简单题)

无本体"小境"有效回答率约 65%,高于有本体"小境 Neo"的约 53%。差距集中在几道本体敏感的题目上。

连续下钻评测(复杂场景)

结果相反,"小境 Neo"在跨轮复用、避免重复查询等指标上全面占优。

解读:本体的价值真实存在,主要帮助复杂聚合与多轮追问场景;但在简单术语映射题上,本体把系统引向与评测答案口径不一致的列和过滤条件(币种列、"已放款/全部状态"等口径未对齐);无本体方案依靠多次直接探索,单次得分中碰运气成分较大。
第七部分 · 进阶与总结

结论与修复路线

当前证据尚不充分,结论用"倾向认为"表述。本体缺陷集中在四个方面:口径建模、运行噪音、场景边界约束、简单题成本。

1

口径显式化:每道题注明统计口径(状态、币种、时间范围);有歧义的题列出多个合法答案并分别声明口径。业务口径是唯一权威,建模对不上就修正,不让评测答案迁就系统。

2

完善评分与用例:数值正确性与口径正确性分开打分;保留暴露本体短板的题目作为检测探针;每道题重复多次,以稳定性区分稳定答对与碰运气答对。

3

定位清楚再下结论:口径建模与场景边界可通过修正 Neo4j 数据解决;运行噪音与"连续追问会话记忆尚未接通"相关,先接线再重测,结论才公平。

待口径评分、重复实验、会话记忆接线后的重测结果出来,再升级为确定结论;同时保留本体的正反两面证据。
第七部分 · 进阶与总结

关键原则

1

一次只更换一个组件,控制变量,才能归因。

2

统一契约,任何评测最终都输出同一套三组件分数。

3

分数必带证据,每个数值都能追溯来源。

4

使用业务语言表达,采用编排/本体/执行等说法,不用内部代号。

第七部分 · 进阶与总结

一个已知短板:收敛性尚未完整评测

该系统依靠多轮推理后给出答案,因此最需要考察的是能否做到"探索适量、及时收敛"。目前的评测尚未完整覆盖这一点。

目前可观测的指标

  • 探索轮次是否合理
  • 是否存在重复查询
  • 是否存在前后矛盾(事实漂移)

三个盲区

  • 仅看平均值会掩盖个别题目严重发散的情况,长尾问题无法体现
  • 只惩罚轮次过多,轮次过少但答案错误反而被判定为良好
  • 缺少明确的"收敛率"指标:有多少题目在合理轮次内给出正确答案
这些缺口已经识别,将在本次汇报后安排改进,目前先如实呈现。
第七部分 · 进阶与总结

现状与局限

  • 第一版评分为"近似规则",证据粒度较粗
  • 部分判断(语义、冗余)仍需人工标注
  • 连续追问的"跨轮记忆"尚未完全打通,相关指标可能失真
这是一套可用的评测体系,仍在持续打磨,不影响方法论本身的成立。
第七部分 · 进阶与总结

总结

这套方法回答两个问题:

1. 这次改动,评分是提高还是降低
2. 评分变化的原因,主要归因于哪个组件

把三个组件视为三个开关,一次只拨动一个。

附录

术语对照卡

内部术语对外用词通俗说法
harness编排指挥流程的员工
ontology本体业务术语↔字段的地图
model执行翻译+执行者
component_scores模块水平三个组件的分数
single / session单题 / 连续追问单次提问 / 连续提问
baseline基线上一版本(对比参照)
ground truth标准答案出题人预设的正确结果
1 / 31 键盘 ← → 或空格翻页