1. 上线一个月,没人说得清它到底好不好
一家券商的投研问答助手上线一个月,收到一万两千次提问。回答研报口径类问题时要求带引用,产品经理在做月度汇报,被问了一句「这个月比上个月好了没有」,答不上来。
团队手上只有一个数:用户点「有帮助」的比例是百分之七十一。这个数说明不了什么。点「有帮助」的人可能只看了结论,没去核引用对不对;不点的人可能是嫌麻烦,也可能是真的答错了但没投诉。
同一家公司的另一条线在客服这边。零售电商的客服工单里有一类叫「投诉溯源」:客人投诉了,要沿着一单的物流记录、仓储记录、售后记录找出到底是哪个环节出的问题。助手能自动把这几段记录串起来给出结论,但稳不稳定没人测过。有一次它在三个系统之间来回查了二十多步还没收敛,客服等了一分半,最后自己上手查的。
两条线要的东西是同一套:拿什么证明它好用,怎么证明这一版比上一版好,哪些地方它一定会出问题。
2. 五层指标各看什么
2.1 结果层:这活干成了没有
结果层看的是最终交付得对不对,最常用的三个数。
任务完成率是「这件事办成了没有」。投研问答里,用户问「这只基金近三年的波动率是多少」,助手答出来了并且数据是对的,算完成;答不上来或者答错了,算没完成。
有据可依是「结论能不能追到出处」。答对了但说不出依据,在投研场景里等于没答:分析师不能拿一句没有出处的话去做判断。
引用准确率是「引的那一段确实支持这个结论」。常见的问题是引用了一篇看起来相关的报告,但那一页讲的不是这件事。这个数比有据可依更严,是它的一半左右才算合格。
2.2 过程层:它是怎么干的
结果对不代表过程对。过程层看四件事。
轨迹是一次完整的执行路径:调了哪些工具、按什么顺序、在哪一步拿到关键信息。投诉溯源那次来回二十多步就是轨迹出了问题。
工具调用准确率是「该调哪个工具的时候调对了没有」。客服问「这单为什么延误」,正确的第一步是查物流轨迹,如果它先去查了售后记录,那一步就算错。
任务遵循是「有没有按要求的步骤走」。答出来的结论对不对是一回事,有没有按流程走是另一回事:比如溯源结论必须给出三段记录各自的时间点,只给结论不给时间点,判为不遵循。
步骤数是路径的长度。同一个问题,六步能查清的事走了九步,多出来的三步就是浪费和风险来源。
2.3 效率层:花了多少
效率层有三个数:单任务成本、端到端时延、人工介入率。
单任务成本按一次任务消耗的词元折算。投诉溯源一次要串三段记录,比一次简单问答贵得多,两类要分开算。
端到端时延从用户发出问题算到答案出来,不用「模型推理耗时」这种口径,因为用户感受到的是全程。
人工介入率是「需要人接手的比例」。这个数在讲人机分工那一份里讲过,测评里也要一起看:介入率高说明它自己办不成的事多,介入率低但结果差,说明人没拦住它。
2.4 风险层:有没有闯祸
风险层看四类:幻觉率、越权操作、数据泄露、间接注入是否被挡住。
幻觉率是「编造内容的比例」。投研场景里的幻觉代价很高,一个编出来的财务数据可能直接进到分析报告里。
越权操作是「做了它不该做的动作」。前面讲权限那一份里图纸被车间看到,就是这一类。
数据泄露是「把不该给的数据给了不该给的人」。判断口径按数据分级来。
间接注入是否被挡,靠一批专门构造的测试样本:在资料里埋指令,看它会不会照做。
2.5 可靠性层:同一天很好,换个日子还行吗
可靠性层看四个数:一致性、鲁棒性、边界处理、失败恢复。
一致性是同一个问题问两次,答案是否一致。投研场景里,同一个数据两次给出不同数字,业务方立刻不信它了。
鲁棒性是指输入变形时它还认得出来:同一句话换个说法、加点错别字、夹一句无关的话,还能不能答对。
边界处理是指输入超出范围时它的反应:问一个它不该答的问题,它是拒答还是硬答。
失败恢复是指工具调用失败之后,它重试、换路还是直接放弃。
| 层 | 看什么 | 常用指标 |
|---|---|---|
| 结果层 | 这活干成了没有 | 任务完成率、有据可依、引用准确率 |
| 过程层 | 它是怎么干的 | 轨迹、工具调用准确率、任务遵循、步骤数 |
| 效率层 | 花了多少 | 单任务成本、端到端时延、人工介入率 |
| 风险层 | 有没有闯祸 | 幻觉率、越权操作、数据泄露、注入拦截 |
| 可靠性层 | 换个日子还行吗 | 一致性、鲁棒性、边界处理、失败恢复 |
| 层 | 指标 |
|---|---|
| 结果层 | 任务完成率、有据可依、引用准确率 |
| 过程层 | 轨迹、工具调用准确率、任务遵循、步骤数 |
| 效率层 | 单任务成本、端到端时延、人工介入率 |
| 风险层 | 幻觉率、越权操作、数据泄露、注入拦截 |
| 可靠性层 | 一致性、鲁棒性、边界处理、失败恢复 |
越往上越容易被忽略。
图注:五层是从下往上越来越难测的,最容易被省掉的正是上面两层。
3. 先定什么算对,再谈打分
3.1 每一层都要有判对标准
「引用准确率 88%」这个数要有意义,前提是先说清什么算「引用准确」。
投研问答的判对标准是这样写的:回答里给出的每个数字和结论,都能在引用的那一段原文里找到;引用的那一段讲的是同一个主体(同一只基金、同一段时间);原文本身没写的内容不许补。
三条里任何一条不满足,判为不准。标准写到这个粒度,两个人分别去判,结论才贴得上。
3.2 判对标准的三种写法
第一种是规则判定。能写成条件的,比如「结论里的数字必须与原文完全一致」「引用必须指向答对的那一段」,交给程序判,快且一致。
第二种是对照判定。拿标准答案比,比如「与人工标注的结论重合度不低于 70%」,靠计算重合度。
第三种是人工评定。前面两种都覆盖不了的,比如「回答的语气是否得体」「解释是否清楚」,只能人看。这一类要配评分量表,每一档写清什么样给几分。
三种写法在一套测评里是混着用的。能写成规则的先写规则,剩下的人看,人看的那部分不超过总数的两成。
3.3 判对标准对不齐怎么办
判对标准最容易出问题的地方在于两个岗位理解不一样,跟写得好不好关系不大。
投研助手刚开始测的时候,产品经理认为「答对数据就算对」,分析师认为「答对数据但引的是旧版报告,也算错」。两边各测一遍,同一个问题一个判对、一个判错。
解法是先拿三十条样本让两边各标一遍,把不一致的挑出来逐条对,对完补进标准里。这一步花半天,省掉后面反复扯皮。
同一条标准,产品和分析师判得不一样
左边 · 产品经理怎么判
- 第一条数据正确,判对
- 第二条结论有出处,判对
- 第三条答了,判对
一边看「答了没有」,一边看「答的是不是这一问」。
右边 · 分析师怎么判
- 第一条数据来自 2025 版研报,现行版本已更新,判错
- 第二条出处是行业媒体转载,不是原始研报,判错
- 第三条问的是 A 基金,答的是 B 基金,答非所问,判错
- 补上的三条标准引用必须是现行有效版本的原文 | 引用的出处必须是研报原文,二手转载不算 | 引用的原文主体必须与提问主体一致
补一句标准,三条分歧全变成一致。
判对标准的三种写法和这一步的投入
- 规则判定数字必须与原文完全一致;引用必须指向答对的那一段
- 对照判定与人工标注的结论重合度不低于 70%
- 人工评定配评分量表,每一档写清什么样给几分
- 这一步的投入先拿 30 条样本让两边各标一遍,把不一致的挑出来逐条对,花半天;6 条里有 3 条是靠补标准对齐的
- 这个案例的底数投研问答上线一个月 1.2 万次提问,有据可依 96%、引用准确率 88%、一次通过率 82%
这一步花半天,省掉后面反复扯皮。
这一步花半天,省掉后面反复扯皮。
4. 业务效果怎么验
4.1 三类业务指标
技术指标说得再好,业务方看的是另外三个数。
处理时长是这件事从开始到结束花多久。投研问答里是「分析师查一个数据要多久」,溯源场景里是「客服处理一单投诉要多久」。
人工介入率是「需要人接手的比例」。客服这边按「转人工的单子占全部单子的比例」算,投研这边按「回答被分析师推翻的比例」算。
一次通过率是「不用返工就完成的比例」。客服场景里是「客户没有再打第二次电话」,投研场景里是「分析师没有要求重查」。
4.2 数从哪来
业务指标不能靠问卷问出来,要从系统里取。
处理时长从工单系统取开始和结束时间;人工介入率从转人工的记录取;一次通过率从「同一客户或同一分析师在短时间内是否重复处理同一件事」取。
取数这件事要在上线前就跟业务方说好,不然上线之后才发现系统里没记开始时间,指标就没法算。
4.3 跟业务方对齐什么
对齐三件事:用哪几个指标、口径是什么、目标值是多少。
口径是最容易含糊的一项。以「人工介入率」为例,要写清是「点了转人工」算,还是「人改过内容」也算。两种口径算出来的数差一半。
目标值不建议一次定死。做法是先跑一个月取基线,再定改进目标:基线是百分之二十四,第一版目标定百分之二十,下个季度再看。
5. 评测集怎么搭,离线在线各管什么
5.1 评测集起步多少条
起步六十条就够用。六十条覆盖不到所有情况,但足够把五层里最容易出问题的地方摸一遍。
六十条怎么分:按问题类型分,每一种至少五条;按难度分,简单、中等、难的各占一定比例;再故意放进去十条边界样本,比如超出范围的问题、表述含糊的问题、带错别字的问题。
两个月之后这套集子长到了四百二十条。长出来的部分主要来自三处:线上答错的例子、业务方新提出来的场景、以及版本迭代时新暴露的问题。
5.2 从答错里长出来
评测集里最有价值的部分是线上答错的那些例子。
投研助手两个月回流了三十七条。回流的标准是:答错了、有明确正确答案、而且这个错误可能重复发生。三条都满足的才进集子;只是一次性的手滑或者网络问题,不进。
每条回流的样本要带三样:原始提问、错误答案、正确答案与依据。带齐这三样,下个月重跑的时候才能拿它当回归项。
5.3 离线与在线的分工
离线评测是把四百二十条固定题跑一遍,看五层指标。它的好处是可比:同一个集子跑两次,差别就是版本之间的差别。
在线评测看真实使用:每天抽三十条真实对话人工看一遍,看用户是怎么问的、有没有新出现的问法、有没有答得很勉强的地方。
两者的分工很清楚:离线管「有没有退步」,在线管「有没有新问题」。只做离线,会漏掉真实用户的新问法;只做在线,版本之间没法比。
6. 模型打分怎么用,公开基准看什么
6.1 让模型当裁判:能省力,但不能全信
模型当裁判(Model as a Judge)的做法是:把一条标准答案、一条待评的回答摆给模型,让它按评分量表打分或者判断哪个更好。四百二十条题人工看一遍要两天,模型跑一遍十几分钟。
它有三个已知的偏差,用的时候要防。
偏爱长的回答。两条回答放在一起,模型往往觉得长的那条更好,哪怕长的那条多出来的部分是废话。防法是评分量表里写清「不因篇幅给分」,必要时按字数归一。
偏爱自己的风格。同一个模型评自己家模型生成的内容,会偏松。防法是换一个不同厂商的模型来当裁判。
顺序偏差。两条回答并排时,放在前面的那条容易得分高。防法是同一对比跑两遍、把顺序换过来,取平均。
6.2 公开基准看什么
公开基准解决的是「选模型时的横向比较」,不解决「我的业务好不好用」。
看它的时候先看它测的是什么。通用助手的榜主要看知识问答和指令遵循;专门测工具调用的榜看的是选工具、填参数、多步任务完成;长上下文和检索类的榜又是另一回事。这几类榜不能互相替代。
选型阶段的用法是:先用公开基准圈出三到五个候选,再拿自己的评测集跑一遍,最后看自己的数。公开基准只在前一步有用。
6.3 机器和人各占多少
一个能长期跑下去的配比是:机器打分覆盖全部样本,人工抽验百分之十五。
抽验不是随便抽,优先抽三类:机器打分波动大的、模型裁判和规则判定结论相反的、以及新进集子的那批样本。
机器打分的分数和人工抽验的结果要定期对一次。对不上说明评分量表要改,不是模型裁判不行。
7. 标注队列、人工验证与版本对比
7.1 标注队列怎么排
待标注的东西多了之后要排队,不能攒着等有空再看。
投研助手的队列按三档排:线上答错的排第一档,当天进队列;新版本引入的新问法排第二档,一周内处理;常规抽样的排第三档,两周内处理完。
队列要有两个数:待处理条数和平均等待天数。这两个数持续上涨,说明人力不够,要么加人要么收窄范围。
7.2 人工验证怎么配
人工验证的目标是让机器打的分可信,不追求把样本全看一遍。
做法是每次评测从五个层里各抽一部分:结果层抽百分之十五,过程层抽百分之二十(过程更容易判错),风险层全查(风险项的漏检代价最高),效率层抽数值是否合理,可靠性层全查一致性这一项。
标注的人要有依据可查。投研助手的标注人在标的时候能直接点开引用的原文,不用去别处翻。这一点决定了标注的速度和质量。
四百二十条样本,两个版本怎么比才有结论
左边 · 拿 v1.2 当基线
- 420 条样本逐条判定两边都对 312 条、两边都错 28 条、v1.3 更好 62 条、v1.3 更差 18 条
- 那 18 条退步项11 条标「结果层:引用版本过期」、5 条标「过程层:多查了一步」、2 条标「可靠性层:两次结果不一致」
- 结论那一行总条数上 v1.3 净胜 44 条,但退步的 18 条集中在引用版本这一类,需要先修
- 按层看结果层的更好条数最多,可靠性层的更差条数最多,12 条
只看平均分,v1.3 高一点,问题藏在里面。
右边 · 拿 v1.1 当基线
- v1.3 更好 96 条、更差 41 条
- 结论对比跨度更大,退步项里有 15 条是 v1.2 就已经退步的,不算 v1.3 引入
- 这套评测的底数评测集从 60 条起步长到 420 条,线上答错回流 37 条;机器打分全量加人工抽验 15%;溯源平均步骤从 9 步降到 6 步,工具调用准确率 91%,人工介入率从 17% 降到 10%
跨度一大,有些退步项上一版就存在,算不到 v1.3 头上。
结论要写清更好的方向、退步的方向、以及先修哪一项。
7.3 两个版本比什么
比三样:总共多少条变好、多少条变差、变差的是哪一类。
只看平均分是最容易上当的比法。平均分高两分,可能是三百条略有提升,也可能是二十条大跌、四十条大涨抵消出来的,后者不能算进步。
所以对比要落到条目上:净胜多少条、退步集中在哪一类。退步项里有三类要单独看,分别是引入新问题导致的退步、老问题没修好导致的退步、以及评测集本身变了导致的「假退步」。
8. 追踪、回归与答错回流
8.1 一次跑完能看到哪些步骤
追踪是测评里最基础的一块。一次任务跑完,要能看到每一步:调了哪个工具、传了什么参数、拿到什么结果、花了多久、有没有重试。
没有追踪,过程层的三个指标一个都算不出来;出了问题也只能从对话记录里猜。
追踪的看点在两头:一是失败的那一步,二是同一件事重复走的那几步。
8.2 回归测试集怎么维护
回归测试集是从评测集里挑出来的那一批「必须一直对」的样本。
它的维护有三件事:什么时候加(线上答错的、版本改完暴露的)、什么时候删(业务变了、这条问题不再有意义)、什么时候重跑(每次版本发布前必跑,模型供应商换了版本必跑,知识库大改之后必跑)。
最容易被漏掉的是第二件:一条样本对应的业务规则已经废止了,还留在集子里,每次跑都会报一个「失败」,时间一长大家就不看失败清单了。
8.3 线上答错的例子怎么回到评测集和知识库
回流的路径分两条,走哪条看错误性质。
错在资料:知识库里没有、资料是旧版、切片把条款切断了,这一类走知识库的更新流程,同时把这条提问加进评测集。
错在做法:提示词的判断顺序写错了、工具定义没写清参数格式、拒答边界没盖住,这一类走提示词或工具定义的改动流程,同样把提问加进评测集。
两条路走完都要落一个结果:加进评测集的那条样本,在下一个版本里必须从「失败」变成「通过」。
9. 券商和电商两条线的测评搭法
券商那条线搭了五层指标,每一层先写判对标准再取数。结果层用了三个数:任务完成率百分之八十九、有据可依百分之九十六、引用准确率百分之八十八。过程层看了工具调用准确率和平均步骤数。效率层把单次成本和端到端时延分开按题型统计。风险层每月跑一次注入样本。可靠性层每周抽二十题各跑两遍,看两次结果是否一致。
评测集从六十条起步,两个月长到四百二十条,其中三十七条来自线上答错。离线每次跑满四百二十条,上线前必跑;在线每天抽三十条人工看。
判对标准那条线拉齐之后,产品经理和分析师不再各测各的。三条补进标准的话(引用必须是现行版本、出处必须是研报原文、引用主体必须与提问主体一致)后来被写进了提示词的硬约束。
版本对比成了常规动作。v1.2 到 v1.3 的对比结果是净胜四十四条,退步十八条,退步里有十一条集中在「引用版本过期」这一类,先修这一项再发布。
零售电商那条线补的是过程层。投诉溯源的追踪打全之后,平均步数从九步降到六步,工具调用准确率百分之九十一,最慢一次从四十六秒压到十九秒。人工介入率也跟着降了:原来有百分之十七的单子要客服接手,改完降到百分之十。
两边都补上了同一件事:答错的例子有地方去,也有回音。加进评测集的每一条样本,在下一个版本里都要从失败变成通过。这一条做不到,测评做久了就会变成走过场。
10. 测评还没开工,先把这八问答上
| 问题 | 答「否」的时候怎么办 |
|---|---|
| 五层指标里,哪几层在测、哪几层没测,说清楚了吗? | 没测的补上,至少风险层和可靠性层要有数 |
| 每一层的判对标准,两个人分别判会不会得出一样的结论? | 会不一致的,先拿 30 条对齐一次再往下走 |
| 业务方关心的那三个数,口径是什么、从哪取? | 口径没定的先定,取数在系统里确认得到 |
| 评测集有多少条,覆盖了哪几类问题、有没有边界样本? | 起步 60 条,每类至少 5 条,边界样本 10 条 |
| 离线评测多久跑一次,谁跑? | 版本发布前必跑,指定到人 |
| 人工抽验的比例和抽样规则定了吗? | 建议抽 15%,优先抽波动大的和结论相反的那批 |
| 两个版本对比的时候,除了总数还看什么? | 再看到变差的是哪一类,退步项单独列 |
| 线上答错的例子,有没有回到评测集和资料里? | 没有回流的补一条流程,回流的样本下个版本必须转成通过 |
11. 结果对、过程不对,问题藏在这儿
只看结果对不对,不看过程。 结果对了但多查了五步、调错了工具,这些在下一版里很容易变成失败。过程层的三个数就是为了提前发现这类隐患。
评测集里全是自己挑的简单题。 自己挑题会不自觉地挑好答的,跑出来分数很好看,上线就露馅。集子里要有边界样本、要有线上答错回流进来的那些,比例不要低于三成。
线上答错的例子丢了不管。 用户反馈了一条答错,口头答应改,改完之后这条例子就没了。正确的做法是把这条例子加进评测集,下个版本必须跑成通过,这样才能证明真的修好了。
12. 验得住之后,最后一件事是让人用起来
测评这一段要能搭起三样东西:五层指标各看什么、每一层的判对标准怎么定、评测集怎么从答错里长起来。模型裁判的三个偏差怎么防、两个版本怎么比,也要有说法。
验得住之后,剩最后一件事:怎么让它真的被用起来。一个功能上线了不等于有人在用,开了账号不等于天天用,天天用也不等于用对了地方。下一份材料讲上线与推广:先在哪个部门试、试多久看什么指标、种子用户怎么找、发布和回滚怎么设,以及用了两天就回到老办法是怎么回事。