DeepEval 这回交出的答卷叫 JevEval,把 LLM 评估从"生成判定"改成了"结构化决策"。这套东西拆开之后,剩下的就只是执行。而拆本身,才是这篇里最值钱的部分。裁判这活儿,从此不再靠模型的脾气。
要点照录。老一代的 LLM-as-a-judge 把生成式模型当裁判,一次调用里塞进了三件活,定评估逻辑、下判断、给分数。随之而来的两个毛病,都挺要命。一是不可解释,零点七一和零点六六的差异从何而来无人能说清。
二是不稳定,同一个输入跑两遍可能给出两套分数,更别提让 LLM 凭空编一个一到十的打分。裁判一旦靠脾气,打出来的分也就跟着晃。JevEval 的解法是把三者拆开。评估逻辑这一步交给人,显式、可审查。
语义判断这一步交给 Jev,它只回概率分布,不吐文本。分数这一步交给 DeepEval 的固定公式,有确定性。三种决策类型也摆开了。二元命题那一类叫 Noul,回的是 P(true) 这个概率,清单式检查用得上。
有序等级那一类叫 Score,四档从全编造排到全部有据,各档概率取期望位置归一化,相邻档之间的不确定性也被留住。无序选择那一类叫 Choice,每个选项赋零到一的 credit,还支持"不适用",概率过半时该题不计分。
三种类型各管一段,谁也不越界,评估的骨架就这么立了起来。骨架立住了,往里填肉才有章法。典型应用是 Agent 评估。拿 Tool Faithfulness 来说,天气工具回了十八度晴天,Agent 的回答却自作主张加上微风和湿度百分之四十。
老裁判面对这种混了真假的答案只能打个笼统的总分。JevEval 这边把它拆成四个显式问题,事实是否都来自工具,权重给到二,因为幻觉是最要紧的失败模式;转述的数值准不准;整体有没有据;工具没提供的那些信息要怎么处置。
权重和优先级都进了代码,而不是藏在提示词里,这是它最大的工程价值。地址挂在文首。评估这件事被这样拆开之后,剩下的就只是执行。执行这一步,反倒是全篇最轻的那一步。
"写在代码里"这半句是场重心。前面那份基准尺讲的是量要真,这条讲的是裁判的尺得先被写死。跟前面那道发布流四道关呼应,那条在验收一次发布,这条在验收一份评估报告。两头都在提醒同一件事,打分这套活最怕的不是不够准,是每一次的标准都在悄悄变,把权重写进代码等于把裁判的尺子钉在墙上。
跟前面那间 AI 办公室也接得上,一个在摆工位,一个在钉尺子,尺子钉死了,屋里量出来的东西才对得上号。钉尺子这件事,说到底是对打分这件事本身负责。一件工具敢把自己的标准亮出来,本身就已经赢了一半。
敢亮标准的工具,也才经得起同行的追问。经得起追问的工具,才配进工作流。工作流里的每一环,都该经得起这样的追问。
"概率过半该题不计分"这个细节我单独拎出来。它承认了一件容易被忽视的事,评估里也存在不适用,硬评一个不适用的问题,伤的是被评的对象,也是评估自己的公信力。
我留的疑问有三处。Jev 的概率分布怎么校准没给;三种决策的混合权重怎么配没拆;和传统裁判的成本差也没数,这些都在博客里才看得到。校准那一项其实最要命,概率分布若本身是歪的,后面所有基于期望位置的计算都只是把歪斜包装得更精致。
评估的公信力还是无从谈起。这一关过不去,前面那把钉死的尺子也只是量得整齐而已。尺子再直,量歪了的东西照样是歪的。打分这件事,说到底是在替后来的人做判断,判断的底座歪了,后面所有的讨论都建在沙上。
底座这东西,歪的时候没人看得出来。等看得出来的时候,往往已经晚了。晚了的代价,从来都比早查的代价高。
这周拿一份手头的 Agent trace 过一遍,看看拆成显式问题之后,那几分的差距还说得清说不清。说得清的评估,才有资格谈改进,说不清的评估,只是给模糊盖了个章。盖章容易,改进难,难就难在那几分要能追到出处。
出处能追的分数,才配当决策的依据。依据两个字,是评估最后的落脚点。落点找对了,前面那番拆解才有意义。拆解这活儿,本就不是做给别人看的,是做给后来的判断用的。判断要站得住,前面的每一步都得留下痕迹。













