Appearance
Agent 与大模型评测
本页整理反思式 Agent 的奖励设计、LLM-as-a-Judge 的偏差,以及长上下文检索和多跳推理的评测方法。
一、Agent 反思与奖励设计
1.1 反思式 Agent 的基本流程
反思式 Agent 不把第一次输出视为最终结果,而是让模型先产生初始答案,再生成批评或检查信号,最后根据反馈修正答案:
其中:
:初始答案; :反思、批评、验证或工具反馈; :根据反馈修正后的最终答案; :任务的目标答案、可执行结果或外部验证结果。
反思信号可以来自模型自评、另一个批评模型、单元测试、计算器、检索结果或人工反馈。关键不在于让模型输出更长的思考文字,而在于反馈是否能促成可验证的改进。
1.2 结果奖励与过程奖励
如果任务的真正目标是最终答案正确,那么主要结果奖励应作用于
为了减少没有必要的重写,可以加入修改成本:
其中
这样的奖励表达了两条原则:
- 最终结果正确比初始答案是否正确更重要;
- 初始答案已经足够好时,应尽量避免为了反思而反思。
但修改成本不能过强。若
结果奖励和过程奖励的作用不同:
| 奖励类型 | 关注对象 | 作用 |
|---|---|---|
| Outcome reward | 定义任务真正要优化的结果 | |
| Process reward | 反思是否发现错误、验证是否有效、工具步骤是否合理 | 改善长链路任务的信用分配 |
| Cost penalty | token 数、延迟、工具调用次数或无意义修改 | 控制推理成本和冗余行为 |
因此,“奖励最终结果”并不意味着完全忽略中间过程。对于复杂 Agent,通常以最终可验证结果为主,再用过程反馈帮助模型学会发现错误和有效修正。
一个反思奖励示例
假设初始答案为
如果另一次初始答案已经是
Agent 反思速记
反思式 Agent 的核心是
二、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-preference | Judge 偏爱与自身生成风格相似的答案 | 使用多个不同模型交叉评审,并用人工样本校准 |
| Reference bias | 过度依赖参考答案的字面表达,忽略等价答案 | 要求判断事实与推理,不只做文本重合 |
一个较稳健的评测流程通常包括:
- 定义可操作的 rubric,把正确性、指令遵循、完整性和风格分开;
- 对候选回答随机化或交换顺序;
- 对同一案例进行多次评审,计算平均分或投票结果;
- 在人工标注样本上检查 Judge 与专家的一致性;
- 对关键事实、代码和结构化输出使用外部验证器,不让 Judge 独自决定一切。
如果任务要求“只输出 JSON”或“限制为一句话”,格式约束应成为独立评分维度,而不能被“解释得更详细”抵消。
2.3 不同评测指标测量的不是同一件事
| 指标或方法 | 主要测量对象 | 不能直接推出的结论 |
|---|---|---|
| MMLU 等知识测试 | 学科知识与题目推理能力 | 不能直接证明多轮对话或指令遵循能力 |
| Pass@k | 多次生成中至少一次成功的概率 | 不能单独证明复杂推理鲁棒性 |
| BLEU、ROUGE | 与参考答案的词项或序列重合程度 | 不能直接代表语义正确或 instruction following |
| LLM-as-a-Judge | 按 rubric 评估的开放式质量 | 不能视为无偏真值,必须校正 Judge 偏差 |
| 人工评审 | 专家对任务目标的直接判断 | 成本较高,标注一致性也需要检查 |
Pass@k 可以抽象为:
因此它主要反映任务成功率。若要评估鲁棒性,还需要增加输入改写、顺序变化、格式扰动、对抗样本或多次重复测试。
2.4 长上下文检索与多跳推理评测
Needle-in-a-Haystack(“大海捞针”)测试会把一个目标事实埋入包含大量干扰内容的长上下文,再要求模型定位并复述该事实。测试时可以改变上下文长度、目标所在位置和干扰信息密度,从而观察模型的长上下文检索能力,而不只是看它能否处理短文本。
更严格的设计会同时放入多个相似实体、名称或数值,并把完成答案所需的事实分散在不同段落中。模型需要先区分正确实体,再跨段检索和组合事实,这就从单点定位扩展到了 multi-hop reasoning:
| 测试类型 | 需要完成的工作 | 主要检验能力 |
|---|---|---|
| 单针定位 | 在长干扰文本中找到一个低先验概率的目标事实 | 长上下文定位与提取 |
| 多针定位 | 找到多个目标事实,并区分相似实体或数值 | 多目标检索、去混淆 |
| 跨段整合 | 从多个位置取回互相关联的事实,再组合成结论 | 召回完整性、关系组合和多跳推理 |
| 位置鲁棒性 | 将相同事实放在开头、中间、末尾或不同层级 | 对位置偏差和“中间遗失”现象的敏感性 |
使用罕见实体、随机数值或人为构造的事实,可以降低模型仅凭常识或训练记忆猜对的概率;加入相似干扰项,则能进一步检验模型是否真正找到了证据。评测结果最好同时记录目标事实召回、最终答案准确率、证据位置和跨段组合是否正确,而不是只统计最终字符串是否匹配。
一个可复用的长上下文评测设计
先生成若干背景段落和相似干扰项,再把目标事实随机插入不同位置。对于多跳版本,将事实拆成至少两条,例如一段提供实体关系,另一段提供属性或数值,最后要求输出需要连接两条事实才能得到的结论。评测时改变上下文长度、目标位置、干扰数量和实体相似度,并使用不含目标事实的对照样本检查模型是否只是凭先验猜测。
大模型评测速记
能力指标、对齐指标和文本相似度指标不能混用;LLM-as-a-Judge 可以扩大开放式评测规模,但必须控制长度偏见、位置偏见和风格偏见,并用人工或外部验证器校准。