rubrics 是什么

回复 群友 607: rubrics 本义是教育里的"评分细则"。老师批作文不会只写个 78 分,而是先列出来:论点清不清晰、论据扎不扎实、结构完整不完整、语言怎么样,每一项里什么水平算优秀、什么算及格。有了这张表,两个老师批同一篇作文不会差出二十分,学生也知道自己到底丢在哪一项上。 放到大模型和 Agent 里,它就是同一件事:把"什么算好"用自然语言写成一份可以逐条对照的清单,而不是只给一个 0 到 1 的对错判断,或者一个 1 到 10 的裸分。 举个具体场景你就懂了。让模型给一段代码打分,你说"打个分吧",它给你 7 分——这 7 分是什么意思?没人知道,下次它给 8 分你也不知道是不是真的变好了。换成 rubric 就是:命名是否清晰(1 到 5),逻辑是否好读(1 到 5),有没有边界条件和错误处理,有没有明显的性能坑。每条独立判,最后加权求和。这个 7 分就交代得清楚了,你还能看出是哪一条拖的后腿。 它之所以现在被反复提,是因为评估的活儿变了。以前评估要么是"对错"——1+1 等于 2,错了就是 bug;要么是"两个答案哪个更好"——人类偏好。这两类都能忍。但 Agent 干的事是写一份调研、改一个仓库、排一个旅行计划,这类任务没有唯一正确答案,只有好坏,粗粒度的打分根本区分不出两个版本的差距。rubric 的作用就是把人类心里那点模糊的"好",拆成一条条可判定的准则,让裁判有据可依——这个裁判可以是人,也可以是 LLM-as-Judge。 所以它回答的核心问题是那句最要命的:我这一版比上一版到底好了还是坏了。没有这个机制,你优化半天只是在猜方向。 还有两点值得记住。一是分得开才能审计,rubric 输出的是分解后的分数,不是一坨总分,所以你能定位问题出在哪一维。二是条目要能被独立判定,像"回答得好不好""质量高不高"这种写法等于没写;而且裁判模型本身有偏差——会偏爱自己家族写的答案、偏爱长答案——所以条目里通常得塞一条"简洁性"或者"不得包含用户没要求的内容",压住它凑字数换分数的倾向。