Skip to content

Agent 与大模型评测 ​

本页整理反思式 Agent 的奖励设计、LLM-as-a-Judge 的偏差,以及长上下文检索和多跳推理的评测方法。

一、Agent 反思与奖励设计 ​

1.1 反思式 Agent 的基本流程 ​

反思式 Agent 不把第一次输出视为最终结果,而是让模型先产生初始答案,再生成批评或检查信号,最后根据反馈修正答案:

A1→R→A2

其中:

  • A1:初始答案;
  • R:反思、批评、验证或工具反馈;
  • A2:根据反馈修正后的最终答案;
  • G:任务的目标答案、可执行结果或外部验证结果。

反思信号可以来自模型自评、另一个批评模型、单元测试、计算器、检索结果或人工反馈。关键不在于让模型输出更长的思考文字,而在于反馈是否能促成可验证的改进。

1.2 结果奖励与过程奖励 ​

如果任务的真正目标是最终答案正确,那么主要结果奖励应作用于 A2:

rout=Correct(A2,G)

为了减少没有必要的重写,可以加入修改成本:

r=rout−λd(A1,A2)

其中 d 可以是编辑距离、token 级差异、KL 惩罚或其他变化成本。对于文本,不能把两个字符串直接做普通数值减法;“|A1−A2|”通常只是修改幅度的简化记号。

这样的奖励表达了两条原则:

  • 最终结果正确比初始答案是否正确更重要;
  • 初始答案已经足够好时,应尽量避免为了反思而反思。

但修改成本不能过强。若 A1 确实错误,修正为正确答案可能需要较大改动;过度惩罚变化会让 Agent 保守地复制错误答案。实际系统还可以加入格式满足度、工具调用成功率、事实可验证性和推理成本等辅助奖励。

结果奖励和过程奖励的作用不同:

奖励类型关注对象作用
Outcome rewardA2 的最终正确性或任务成功定义任务真正要优化的结果
Process reward反思是否发现错误、验证是否有效、工具步骤是否合理改善长链路任务的信用分配
Cost penaltytoken 数、延迟、工具调用次数或无意义修改控制推理成本和冗余行为

因此,“奖励最终结果”并不意味着完全忽略中间过程。对于复杂 Agent,通常以最终可验证结果为主,再用过程反馈帮助模型学会发现错误和有效修正。

一个反思奖励示例

假设初始答案为 A1=146,外部计算器或验证器确认正确答案为 G=156。Agent 经过反思后得到 A2=156,那么最终正确性奖励应根据 A2 计算,而不是继续惩罚它与错误初始答案的差异。

如果另一次初始答案已经是 156,反思后仍然得到 156,则可以通过较低的修改成本鼓励模型快速结束,而不是生成大量没有新增信息的自我批评。

Agent 反思速记

反思式 Agent 的核心是 A1→R→A2;主要奖励最终可验证结果,过程奖励帮助学习“发现错误并修正”,修改成本用于抑制无意义重写但不能阻碍必要修正。

二、LLM-as-a-Judge 与大模型评测 ​

2.1 Judge 评测的作用和边界 ​

LLM-as-a-Judge 使用一个语言模型按照给定 rubric 对另一个模型的回答进行评分、排序或比较。它适合评估开放式回答中难以用精确字符串匹配判断的维度,例如:

  • 是否回答了问题;
  • 是否遵循格式、长度和禁止项要求;
  • 解释是否清晰;
  • 结论是否与参考事实一致;
  • 多轮对话是否保持上下文和任务目标。

但 Judge 不是天然的真值来源。它本身也可能受到提示词、参考答案、候选顺序、回答长度、措辞风格和模型偏好的影响。因此,Judge 的输出应视为一种带误差的测量结果,而不是无条件可信的标签。

2.2 常见偏差与校正方法 ​

偏差典型表现常见缓解方法
Length bias更长、更详细的回答被误认为更好,即使没有更准确限制长度、单独评估信息密度、明确长度 rubric
Position bias在 pairwise 比较中偏向第一个或第二个候选交换候选顺序并取平均或多数投票
Style bias偏好某种措辞、格式或“像标准答案”的风格隐藏无关身份信息,明确按事实和约束评分
Self-preferenceJudge 偏爱与自身生成风格相似的答案使用多个不同模型交叉评审,并用人工样本校准
Reference bias过度依赖参考答案的字面表达,忽略等价答案要求判断事实与推理,不只做文本重合

一个较稳健的评测流程通常包括:

  1. 定义可操作的 rubric,把正确性、指令遵循、完整性和风格分开;
  2. 对候选回答随机化或交换顺序;
  3. 对同一案例进行多次评审,计算平均分或投票结果;
  4. 在人工标注样本上检查 Judge 与专家的一致性;
  5. 对关键事实、代码和结构化输出使用外部验证器,不让 Judge 独自决定一切。

如果任务要求“只输出 JSON”或“限制为一句话”,格式约束应成为独立评分维度,而不能被“解释得更详细”抵消。

2.3 不同评测指标测量的不是同一件事 ​

指标或方法主要测量对象不能直接推出的结论
MMLU 等知识测试学科知识与题目推理能力不能直接证明多轮对话或指令遵循能力
Pass@k多次生成中至少一次成功的概率不能单独证明复杂推理鲁棒性
BLEU、ROUGE与参考答案的词项或序列重合程度不能直接代表语义正确或 instruction following
LLM-as-a-Judge按 rubric 评估的开放式质量不能视为无偏真值,必须校正 Judge 偏差
人工评审专家对任务目标的直接判断成本较高,标注一致性也需要检查

Pass@k 可以抽象为:

Pass@k=P(至少一个候选通过)

因此它主要反映任务成功率。若要评估鲁棒性,还需要增加输入改写、顺序变化、格式扰动、对抗样本或多次重复测试。

2.4 长上下文检索与多跳推理评测 ​

Needle-in-a-Haystack(“大海捞针”)测试会把一个目标事实埋入包含大量干扰内容的长上下文,再要求模型定位并复述该事实。测试时可以改变上下文长度、目标所在位置和干扰信息密度,从而观察模型的长上下文检索能力,而不只是看它能否处理短文本。

更严格的设计会同时放入多个相似实体、名称或数值,并把完成答案所需的事实分散在不同段落中。模型需要先区分正确实体,再跨段检索和组合事实,这就从单点定位扩展到了 multi-hop reasoning:

测试类型需要完成的工作主要检验能力
单针定位在长干扰文本中找到一个低先验概率的目标事实长上下文定位与提取
多针定位找到多个目标事实,并区分相似实体或数值多目标检索、去混淆
跨段整合从多个位置取回互相关联的事实,再组合成结论召回完整性、关系组合和多跳推理
位置鲁棒性将相同事实放在开头、中间、末尾或不同层级对位置偏差和“中间遗失”现象的敏感性

使用罕见实体、随机数值或人为构造的事实,可以降低模型仅凭常识或训练记忆猜对的概率;加入相似干扰项,则能进一步检验模型是否真正找到了证据。评测结果最好同时记录目标事实召回、最终答案准确率、证据位置和跨段组合是否正确,而不是只统计最终字符串是否匹配。

一个可复用的长上下文评测设计

先生成若干背景段落和相似干扰项,再把目标事实随机插入不同位置。对于多跳版本,将事实拆成至少两条,例如一段提供实体关系,另一段提供属性或数值,最后要求输出需要连接两条事实才能得到的结论。评测时改变上下文长度、目标位置、干扰数量和实体相似度,并使用不含目标事实的对照样本检查模型是否只是凭先验猜测。

大模型评测速记

能力指标、对齐指标和文本相似度指标不能混用;LLM-as-a-Judge 可以扩大开放式评测规模,但必须控制长度偏见、位置偏见和风格偏见,并用人工或外部验证器校准。

使用 Markdown 与 VitePress 构建