终极指南LLM-as-a-Verifier 多模态轨迹验证的 images 参数详解【免费下载链接】llm-as-a-verifierLLM-as-a-Verifier is a general-purpose framework that provides fine-grained feedback for any agent without requiring additional training. It achieves SOTA performance across coding, robotics, and medical agentic benchmarks.项目地址: https://gitcode.com/gh_mirrors/ll/llm-as-a-verifierLLM-as-a-Verifier 是一个通用智能体轨迹验证框架可为任意 Agent 提供细粒度反馈无需额外训练。它的亮点之一是原生多模态支持所有公开入口select、compare、track、ProgressTracker都接受同一个images参数——从纯文本轨迹一路升级到摄像头画面、截图对比等视觉证据。本文带你从零讲透这个参数它接受哪些输入格式、图片如何被编码发送、又如何在机器人实时轨迹中累积成视觉历史。 多模态验证从 Text、Image 到 Video先看一张框架总览图左侧的输入模态Text / Image / Video正是images参数要解决的问题验证的核心思想是把这条轨迹好不好分解为可度量的细粒度信号详见 llm_verifier/fine_grained_reward.py。当 Agent 的任务涉及屏幕、摄像头或图像产物时仅靠文字轨迹往往不够——你需要把画面直接交给验证模型。images参数就是为此设计的视觉证据通道一次调用即可传入多张图且对所有评分环节全程生效。️ images 参数三种输入形式与 MIME 自动识别images的参数类型在 llm_verifier/__init__.py#L60-L63 中定义每个图片元素可以是本地文件路径、http(s) URL、或原始图片字节bytesimages整体可以是单个图片也可以是图片列表。归一化逻辑非常简洁as_image_list你传入的images归一化结果适用场景None[]纯文本任务不传图imagesframe.png[frame.png]单张图最简写法images[a.png, b.png][a.png, b.png]多图按顺序附加元素为bytes直接使用从摄像头/内存直接取图框架不依赖文件后缀判断格式而是用**魔数magic bytes**嗅探 MIME 类型load_image格式识别依据MIMEPNG\x89PNG\r\n\x1a\nimage/pngJPEG\xff\xd8\xffimage/jpegGIFGIF87a/GIF89aimage/gifWebPRIFF....WEBPimage/webp其他默认按 PNG 处理image/png 两个最常用入口select 与 compare最佳轨迹选择select附带动作前后截图在 Best-of-N 场景比如 5 条 Agent 轨迹里挑最优把任务相关的图随每次比较一起送给验证模型result llm_verifier.select( problem, candidates, criteriacriteria, images[before.png, after.png], )select内部运行概率枢轴锦标赛Probabilistic Pivot Tournament实现于 llm_verifier/pivot_tournament.py对 N 条轨迹做 O(Nk) 次成对比较——images会在每一次成对比较中作为任务上下文出现select 的文档说明。单次原始对比compareselect建立在成对奖励之上若只想看两条轨迹的原始细粒度奖励reward_a, reward_b llm_verifier.compare( problem, trace_a, trace_b, criteria{Overall: Does the agent solve the task?}, imagesscreenshot.png, )compare的criteria与images参数形式与select完全一致compare。 离线进度评分track 的任务上下文图对已结束的轨迹逐步打分时track的images是任务上下文图——会附加到每次评分调用上result llm_verifier.track( problemproblem, stepssteps, checkpoint_steps[1, 2, 3, 4, 5], n_evaluations4, imagestask_screenshot.png, # 任务相关的参考图 )注意区分track的images只作为整体上下文逐步骤的画面请改用ProgressTrackertrack 文档。 摄像头画面实时追踪ProgressTracker 的逐步帧这是多模态验证最典型的场景——边跑边验证一个正在执行任务的 Agent。ProgressTracker支持两个层级的images构造时传入任务上下文图贯穿整个追踪过程每步update传入该步的摄像头帧例如每个动作对应一帧画面。tracker llm_verifier.ProgressTracker(problem, imagesscene.png) for step, frame in stream_agent_rollout(): score tracker.update(step, imagesframe) # 每步一帧画面 if score 0.05: break # 分数过低提前止损关键机制在于帧会累积update 实现每传一张新图对应步骤的文本会被打上[Image i attached]标记告诉验证模型第 i 张图属于哪一步已传的帧永久保留在轨迹中后续每次update都会看到完整的历史画面序列——验证模型永远掌握全部视觉历史且看不到未来这正是追踪机器人 rollout 的可靠方式画面 步骤一一对应进度分数0–1 连续值随真实进展变化。⚙️ 图片如何被编码并发送框架对三种后端统一处理图片在文本提示之后、按传入顺序附加到验证消息fine_grained_reward.py 说明OpenAI 兼容 / DeepSeek 后端读取字节 → 嗅探 MIME → base64 编码为data:{mime};base64,...的image_url内容块call_openaiGemini 后端以Part.from_bytes(data, mime_type)字节部件附加call_gemini。由于评分提示词本身带有前缀缓存优化README 中提到的 prefix-cache 优化相同任务上下文在多轮重复验证中可复用缓存降低多模态调用的实际成本。✅ 实践要点与源码导航选择多模态验证模型images生效的前提是验证模型支持图像输入如 Gemini 2.5 Flash或本地vllm serve部署的多模态模型纯文本模型无法利用这些图。顺序即语义多图按传入顺序附加ProgressTracker中[Image i attached]标记与第 i 张图严格对应传图顺序要与动作顺序一致。理解累积成本逐步骤帧会累积轨迹越长附带的图越多——长 rollout 建议按步采样关键帧而非每帧都传。快速定位源码模块路径图片归一化 / MIME 嗅探 / 加载llm_verifier/fine_grained_reward.pytrack与ProgressTracker的逐步帧llm_verifier/progress.pyselect/compare公共 APIllm_verifier/__init__.py基准验证标准criteria 模板criteria/TEMPLATE.md从纯文本到摄像头画面images参数让 LLM-as-a-Verifier 的细粒度验证能力自然延伸到多模态任务——只需一个参数你的验证器就能看见Agent 的世界。【免费下载链接】llm-as-a-verifierLLM-as-a-Verifier is a general-purpose framework that provides fine-grained feedback for any agent without requiring additional training. It achieves SOTA performance across coding, robotics, and medical agentic benchmarks.项目地址: https://gitcode.com/gh_mirrors/ll/llm-as-a-verifier创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考