Industry & PracticeResearch & Benchmarks
看 着 内容 打分: 阿里 云 AgentLoop 的 多 模 态 评估 器
阿里云 AgentLoop 说明多模态评估器如何把图片、音频和视频送进评判模型:类型不一致就失败,并给出数量、URL 长度和埋点静默关闭等限制。

In this piece
看着内容打分:阿里云 AgentLoop 的多模态评估器
阿里云帮助中心在 2026 年 10 月 9 日更新了 AgentLoop(阿里云面向 Agent 观测与优化的平台,用来记录轨迹、跑评估任务和做实验回测)的多模态评估器说明。这篇文档要解决的问题很具体:评测集里放的是图片、音频或视频地址时,评估模型如果只能看见 URL 字符串,仍可能给出看起来合理的分数。AgentLoop 的做法是把媒体内容块直接送进多模态模型,并在类型对不上时直接失败,而不是猜一个分。
评什么,以及谁能评
多模态评估器用于 LLM 评估器(直接调用大模型打分)和 Agent 评估器(通过数字员工执行评判)。Code 评估器不支持媒体输入。文档列出的典型场景包括:图片的美观度、清晰度和构图;文案与配图是否一致;合成语音的自然度、清晰度和情感;视频内容是否合理、时序是否连贯;同一条记录里同时有图、音频和视频时的综合评审。
它从两层挡住“看着 URL 打分”:
- 声明为图片、音频或视频的变量会被抽成独立的媒体内容块,和消息一起提交。Prompt 正文里原来的位置只留下占位说明,例如“已作为图片输入随本条消息一并提供”。
- 失败优于猜测。数据集元信息说这条是图片,评估器变量却声明成音频时,这条评估直接报错终止,不会静默降成文本评分。同一条记录里同一个媒体地址被同时声明成不同类型,也会失败,错误信息是 Conflicting modalities for the same media URI。文档给出的理由是:模型看不到正确类型的媒体时,会根据 Prompt 文本编一个看似合理的分数。
当前支持的地域是杭州(cn-hangzhou)、上海(cn-shanghai)、北京(cn-beijing)、深圳(cn-shenzhen)、中国香港(cn-hongkong)和新加坡(ap-southeast-1)。
评估器怎么建
创建流程和普通 LLM / Agent 评估器相同,多模态靠变量类型打开。
- 在评估器页面创建,类型选 LLM 评估器或 Agent 评估器。名称在当前账号内必须唯一。显示名、描述和标签可选。
- 评判 Prompt 用
{{变量名}}引用输入。文档中的商品图例子要求从清晰度、构图、美观度三个维度打 0–10 分,并给出理由。只有声明成媒体类型的变量才走多模态通道;没声明的变量一律当文本,URL 会作为普通字符串留在 Prompt 里。 - 给每个变量配置类型:文本(默认)、图片、音频、视频、文件、多模态数组。文件类型不做媒体解析,签名后的地址留在正文里,给 Agent 工具读取。每个变量还可以单独设是否必填和描述。必填变量缺值时这条评估直接失败;可选变量缺值时跳过对应媒体通道。类型未声明或是未知值时,一律按文本处理,系统不会猜。
- 模型必须选带 (multimodal) 标签的模型,例如
qwen3-vl-plus(multimodal)。标签只表示能力,实际调用时会去掉。音频文档点名qwen3.8-omni-flash(multimodal)。Agent 评估器同样建议用带该标签的模型,多模态输入会随消息下发到数字员工。
变量取值有四种,评估时统一解析:公网 URL 或 data URI 直接透传;oss:// 通过角色生成预签名 URL;sls:// 解析成带签名的可访问地址;行级元信息 JSON 按其中的 modality 识别类型再解析 uri。图片和音频接受 http(s)、对应的 data URI、oss://、sls:// 和行级元信息。视频只接受 http(s) URL(含解析后的 oss/sls 和元信息 JSON),不接受 data URI。http(s) URL 上限都是 8192 字符;图片 data URI 上限 15 MB 字符,音频 10 MB 字符。声明成媒体但取值既不匹配这些前缀、也不是可解析的 OSS/SLS 地址时,值会当纯文本留下并记告警;如果是 oss://、sls:// 或元信息 JSON 却解析失败,评估直接失败,不会带着无法消费的地址继续跑。
OSS / SLS 要在评估任务配置里授权。oss.roleArn 的解析顺序是:显式配置,然后按 bucket 找连接器,再然后用户 SLR;前两层都没有就失败。oss.region 和 sls.region 缺省时用评估任务自己的地域。oss. 和 sls. 前缀的键名在创建任务时就会校验,写成 oss.rolearn 这类错误会直接报错,不会静默忽略。一条评估里所有 oss:// 必须属于同一个 bucket。
直接使用 oss:// 时,要准备一个 AgentLoop 能扮演的 RAM 角色。信任策略需要允许 aliyunsplc.aliyuncs.com、agentloop.aliyuncs.com,以及 operation-platform.aliyuncs.com 和 cloudmonitor.aliyuncs.com 扮演。权限文档列出三项:CreateServiceLinkedRole、AliyunOSSReadOnlyAccess、AliyunSTSAssumeRoleAccess。
轨迹里的媒体怎么进评测集
sls:// 通常来自应用埋点。使用 LoongSuite 版 GenAI Utils 的预授权 OSS 模式时,大块图片和音频会上传到 OSS,Span 里的原始 Base64 或 URL 被换成轻量的 sls://,避免链路被大文件压垮。SDK 版本要求不低于 0.9.0。纯 SDK 场景下,License Key、工作空间、上传模式、上传器、SLS Project 和 Logstore 等环境变量缺任意一项,多模态链路会被静默关闭:Span 里仍是原始 Base64 或 URL,而且不会有上传日志。OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT 必须写成枚举名 SPAN_ONLY 或 SPAN_AND_EVENT,写成 true 或 1 会静默降级。上传范围可以是 both、input、output 或 none。
上报后的对象地址形如 sls://{project}/{logstore}[/{prefix}]/{yyyymmdd}/{md5}.{ext}。没指定时默认 Logstore 是 logstore-multimodal。评估侧从 Span 属性 gen_ai.input.multimodal_metadata 和 gen_ai.output.multimodal_metadata 取出以 sls:// 开头的 URI,映射到评估器变量后再签名访问。sls.region 或任务地域必须和 SLS 所在地域一致。示例代码在 stop_llm 之后把上传做成异步任务,退出前要用 force_flush 等上传完成,文档示例的等待时间是 10 秒。
多模态数组用于一个字段里有多个媒体。每一项必须是 MediaRef:type 固定为 uri,modality 为 image、video 或 audio,mime_type 前缀必须和 modality 一致,uri 支持 oss、sls 和带 host 的 https。必填数组为空,或取值不是数组,这条评估失败。
任务里怎么跑
评估任务里仍然要选带 (multimodal) 标签的模型。字段映射可以把数据集字段、trace.input、trace.output、trace.tool_context 映射到评估器变量。
如果字段太多、不方便逐个声明类型,任务配置可以打开自动识别(multimodal=true)。系统只根据字符串判断,不发网络请求:先去掉 URL 的 query 和 fragment,再看 data URI 前缀或路径后缀。音频后缀包括 wav、mp3、m4a、aac、flac、ogg、opus、amr、wma、aiff、aif;视频包括 mp4、mov、webm、mkv、avi、flv、wmv、m4v、mpeg、mpg、3gp;图片包括 jpg、jpeg、png、gif、webp、bmp、svg、tiff、tif、ico、heic、heif、raw。已经显式声明类型的变量,以及声明为文件的变量,不参与自动识别。显式声明优先于自动识别。
没开自动识别时,音频和视频变量名还有一层兼容推断:变量名等于或以 _audio、_audio_url、_audio_uri、_video、_video_url、_video_uri 结尾(兼容 camelCase)时,会推断成对应媒体。显式声明仍然优先。图片没有这条名称推断。
基于轨迹评估时,系统只收集 gen_ai.span.kind=llm 的 span 里的媒体,结果里分成 LLM 输入媒体和 LLM 输出媒体。导出输入、输出或整条轨迹时会带上对应媒体。同一媒体在显式变量和轨迹之间按地址、模态、MIME 去重,并共享签名缓存。
Agent 评估器还有部署级输入通道,默认 inline_value(媒体内联进消息)。tool_hint 不内联,正文保留地址,并提示数字员工自己用工具加载;视频通道会在 Prompt 末尾追加“请使用 LoadMultimedia 工具加载以下视频进行分析”。none 关掉该模态;评估器如果仍声明了这种变量,评估直接失败。文档说明这项一般由平台侧维护。
数量和失败边界
单条评估的上限是:图片最多 8 张,视频最多 3 个;LLM 评估器音频最多 8 个,Agent 评估器音频最多 4 个。轨迹媒体元信息预算 16 MiB,媒体引用 1 MiB。带行级元信息的媒体在轨迹评估里计入这些数量,超出的会被截断并记录。
文档还强调几条容易被看成“模型分低”的工程失败:类型冲突不会继续打分;oss:// 解析失败要同时核对角色、信任策略、三项权限、地域和是否混用了多个 bucket;埋点环境变量缺失会导致根本没有 sls://;视频不能用 data URI;声明成图片但取值是普通文本时,文本会留在 Prompt 里并告警,必填且为空则这条失败。图片和音频可以出现在同一条评估里,各算各的数量。
编写建议按原文顺序是:优先显式声明类型;Prompt 里用一句话说明每个媒体变量是什么;大批量优先用 oss:// 或 sls://,不要在数据集里放临时外链或超大 data URI;数据集 modality 和评估器声明保持一致;视频和音频的 token 消耗明显高于图片,先用少量样本验证 Prompt 再放量;媒体变量设成必填后,缺值的记录会单项失败,数据不齐时可以先设成可选,看缺失比例。
需要说明的限制:以上阈值、地域、模型名和静默失败条件都来自阿里云帮助中心该页的产品说明,不是独立复测;输入通道属于部署级配置,控制台用户改不了时要以实际环境为准;文档没有给出某套业务评测集上的分数或线上效果。
出处:阿里云,阿里云帮助中心,《多模态评估器》,2026-10-09,https://help.aliyun.com/zh/agentloop/user-guide/multimodal-evaluator
Found it useful? Pass it on
Scan with WeChat to open it on your phone and forward it.