About
总体规划
选择一些宝可梦测试集,交给 AI 生成 SVG 代码。
尽可能仅使用 API 生成,不依赖任何额外的 tool、agent、harness
统一 Prompt,每个宝可梦有 2 次生成机会
每组选择不同评估维度的宝可梦测试集
人工评估每一个生成数据,并对齐评分刻度
如何选择宝可梦
目前选用的测试集将宝可梦分为三组:
- S1 第一阶段:专注于测试宝可梦几何形状和颜色的还原度
- S2 第二阶段:专注于测试宝可梦显著特征和空间比例的还原度
- S3 第三阶段:专注于测试大型复杂宝可梦的结构和细节还原度
每组选择了 5 只宝可梦,每只宝可梦有 2 次生成机会,每组模型共会生成 30 个 SVG 数据。最开始是测试 4 次生成机会,但是其实对最终成绩影响并不大,也能减少人工评估的成本。
如果不熟悉宝可梦,可以在这里看到对宝可梦作为测试对象的简单描述。
生成
统一使用最为简单的 Prompt 生成:
Generate the SVG code for the Pokémon {{pokemon_name}}大多数模型可以顺利拦截到 SVG 信息。但是某些过于热爱前端样式的模型会有几率生成 HTML,所以针对这些模型会额外加一些约束 Prompt:
Output only the SVG tag code. No additional text and tool call.
涉及到约束 Prompt 的模型: Kimi-K2.6, GLM 5.1
还有一些模型没有公开 API,例如 Cursor 的 Composer 2。那么在合规的形式下,会在 Cursor 中使用 subagents 并禁用 tool 批量生成。以下相应的 rules:
--- name: pokemon-svg-generator description: One Pokémon per run only; English filename; do not read other SVGs. This subagent must never batch all 15 in one invocation. Parent agent—when the user gives an output dir plus explicit full-batch intent (e.g. all 15, full whitelist, generate every name in this agent file), launch 15 parallel pokemon-svg-generator subagents. Whitelist and templates in this doc are not user chat input unless the user quotes them in the same turn. /pokemon-svg-generator model: inherit ---
涉及到使用 subagents 的模型: Composer 2
还有一些模型 API 在大陆地区无法访问,所以只能借用第三方代理。关于模型的请求参数,也尽量贴合实际用途的参数。毕竟谁也不想使用昂贵的思考 token 去生成质量不佳的 SVG。
以上相关信息在排行榜上有标明。
计分规则
虽然每组评估方向不同,但基本采取了 4-2-4 的权重。所有维度的评分范围均为 0 - 10 分。
- S1 几何精准度 40%,色彩还原 20%,整体观感 40%
- S2 特征识别 40%,空间比例 20%,整体观感 40%
- S3 结构解构 40%,细节打磨 20%,整体观感 40%
S_i = 0.4 · d_1 + 0.2 · d_2 + 0.4 · d_3
计算出单个生成数据的分数后,同组内计算算术平均数,得出组平均数。由于每组本身难度也不同,计算总分时会再次按照 W_1 : W_2 : W_3 = 1.0 : 1.8 : 3.2 来加权。设每组数据个数为 N(目前为 10),组内平均分数值范围仍为 0–10,则加权总分的理论上限为 N × 10 × (W_1 + W_2 + W_3) = 600,最终分数化为百分制:
S_total = (S_1 · N · W_1 + S_2 · N · W_2 + S_3 · N · W_3) · 100 / 600
SVG 参数统计
额外统计了 SVG 的一些参数作为参考。包括:
SVG 的字节长度(UTF-8),与首页榜单「SVG 结构」表中的 Size 列一致。
解析得到的标签开启数量,与「标签总数」列一致。
落在预定义高级标签集合内的节点数量占标签总数的比例(百分比),与「高级标签」列一致。高级标签包括 <defs>、<use>、<clipPath>、<mask>、<linearGradient>、<radialGradient>、<filter>、<pattern>、<symbol>、<marker>、<foreignObject>、<textPath>、<switch>。
与首页榜单「SVG 结构」·「视图」中的散点图一致:横轴为锚点数量,纵轴为视觉分(加权分 ×10 后的百分制,与「视觉分」表头及散点纵轴一致)。四象限含义与图角标注一致:
- 视觉分高、锚点少:简洁
- 视觉分高、锚点多:精致
- 视觉分低、锚点少:简陋
- 视觉分低、锚点多:冗杂
常见问题
Q:人工评估会不会带有主观色彩?
A:会的。通常评估完一组模型分数后,会再次在整体的视野中去微调分数。但我个人本身对模型没有额外偏好,我也想看看哪个模型 SVG 生成效果最好。评估员目前仅我一人,我尽量把自己控制为非变量!所以,仅供参考。
Q:Claude Opus 4.7 为什么排名靠后?
A:目前除了 Gemini 3.1 Pro 有在发布时营销自己的 SVG 生成能力,以及 Arrow 1.1 这种专门生成矢量图形之外,其他模型都没有将重点放在这个能力上。这也是目前有趣的点之一。Opus 4.7 由于有 thinking type: adaptive 的参数,可能默认会将 SVG 生成视为轻量级任务而没专注于生成质量。如果加上额外的 Prompt 又会对其他模型不太公平。如下图所示,左侧是 "effort": "medium",右侧是 "effort": "max",其实并无太大差别。
Q:为什么有些 API 不是官方源?
A:Anthropic 和 OpenAI 禁止大陆地区用户使用他们的产品,包括 API,我不想费心去硬碰硬。最近发现 OpenRouter 也因账单地址禁用了这两模型,所以选择了 Cloudflare。嘘,小点声。
Q:Benchmark 和任天堂有关系吗?
A:完全没有,只是我个人的兴趣。希望任天堂手下留情。
Q:你玩宝可梦游戏吗?
A:虽然童年时看过一些宝可梦动画,但其实并非游戏死忠粉。近几年我玩了《宝可梦传说 阿尔宙斯》和《宝可梦传说 Z-A》感觉又找到了乐趣!下次一定试试《宝可梦风与波》。
反馈
我的邮箱:
幕后
本网站开发时使用了如下产品:
- Cloudflare 全家桶:Workers、KV、D1、R2、AI,线上衔接非常流畅;
- 本网站使用 Cursor 开发,使用了 GPT 5.5,Codex 5.3 和 Composer 2 模型;
- 纯人工设计。因为我是一名 UI 设计师;
- SvelteKit:不太懂。之前一直在用 Astro,这次后台比重大了些就换为这个了;
- 宝可梦 wiki:在挑选测试对象时帮了很多忙;
- Simon Willison's Weblog:鹈鹕骑自行车是灵感来源之一;
关于我
我的其他一些链接: