大模型评测 — codegen-w38

步骤:codegen · 裁判:google/gemini-3.1-pro-preview · 2026-09-16T05:50:19.377Z
怎么读这份报告 —— 两个透镜: 战绩(胜–负–平)是成对偏好排名 —— 每个模型在若干场捉对中的胜负平(单一裁判、正反消偏)。它可靠地表达方向,但分辨率粗:对局少时,0 意味「每场都输」,而非「输出差」。绝对分(1–5)是对每份输出单独打的分 —— 看它才能判断质量差距的大小(强的亚军仍紧贴冠军,比如 4.2 对 4.5,即使 0 胜)。两者都不是百分制;提高 trials 和输入数量可让二者更精确。

CODEGEN

🏆 kimi-k3 · 6 场对局中胜出 4 场 · 战绩 4–1–1 (胜–负–平) · 绝对分 4.7/5

Output B delivers the same functionality and safety as Output A but with significantly cleaner, more idiomatic, and easier-to-read React code.

综合排名

#模型战绩 胜–负–平绝对分 1–5tsc 通过平均成本平均延迟成功率
1 kimi-k3
4–1–1 共 6 场 · 75%
4.7 100% $0.0425 39.0s 100%
2 sonnet-5
2–2–2 共 6 场 · 50%
5.0 100% $0.0075 5.8s 100%
3 deepseek-v4-pro
0–3–3 共 6 场 · 25%
4.9 89% $0.0029 22.8s 100%

维度剖面 — 1–5 绝对分 · 雷达(圆心 1,边缘 5)

sonnet-5deepseek-v4-prokimi-k3
符合规格正确性类型质量简洁性健壮性2345sonnet-5 · 符合规格: 5.0/5sonnet-5 · 正确性: 5.0/5sonnet-5 · 类型质量: 5.0/5sonnet-5 · 简洁性: 5.0/5sonnet-5 · 健壮性: 5.0/5deepseek-v4-pro · 符合规格: 4.9/5deepseek-v4-pro · 正确性: 4.8/5deepseek-v4-pro · 类型质量: 5.0/5deepseek-v4-pro · 简洁性: 5.0/5deepseek-v4-pro · 健壮性: 4.8/5kimi-k3 · 符合规格: 4.9/5kimi-k3 · 正确性: 4.7/5kimi-k3 · 类型质量: 5.0/5kimi-k3 · 简洁性: 5.0/5kimi-k3 · 健壮性: 4.7/5

维度偏好 — 对局胜率,相对

模型符合规格正确性类型质量简洁性健壮性
kimi-k350506710058
sonnet-5586742058
deepseek-v4-pro4233425033
对决理由 · 总体 + 18 处维度分歧(共 9 场对比)

这些是单场、相对 A/B 的裁判理由(单一输入、仅取首个成功输出),不是该维度的综合质量评价;维度层只列出与总体判定不一致的项(标 ⚠,即真正的取舍点),一致的已隐藏。绝对质量请看上方「绝对分 1–5」表。

输入AB维度胜者理由
code-utils sonnet-5 deepseek-v4-pro 总体 sonnet-5 Output A is the better implementation because it avoids a significant bug where built-in prototype properties (like 'toString') would be treated as existing query parameters, making it much more correct and robust.
code-utils sonnet-5 deepseek-v4-pro 符合规格 ⚠ 平局 Both implementations meet the specification and implement the exact signature requested.
code-utils sonnet-5 deepseek-v4-pro 类型质量 ⚠ 平局 Both submissions use identical, appropriate types for the parameters, return values, and internal variables.
code-utils sonnet-5 deepseek-v4-pro 简洁性 ⚠ deepseek-v4-pro Output B is slightly simpler to read by extracting the `decode` helper outside the main function and using a concise ternary for the leading question mark.
code-utils sonnet-5 kimi-k3 总体 sonnet-5 Output A is significantly more robust and correct because it safely handles object prototype properties, avoiding a major bug present in Output B.
code-utils sonnet-5 kimi-k3 类型质量 ⚠ 平局 Both implementations use the exact same, correct types for the parameters and return values.
code-utils sonnet-5 kimi-k3 简洁性 ⚠ kimi-k3 Output B is slightly more concise, uses a cleaner ternary for string slicing, and extracts the decoding logic into a separate helper function.
code-utils deepseek-v4-pro kimi-k3 总体 平局 Output A is the winner due to its more accurate fallback behavior when decoding malformed URI components, ensuring that valid '+' characters are still converted to spaces.
code-utils deepseek-v4-pro kimi-k3 简洁性 ⚠ kimi-k3 Output B uses more concise ternary operators for splitting the key/value pairs and includes a helpful JSDoc comment.
code-component sonnet-5 deepseek-v4-pro 总体 平局 Output A is the better submission due to its use of semantic HTML for accessibility, centralized and robust validation logic, and avoidance of unnecessary event preventions.
code-component sonnet-5 deepseek-v4-pro 简洁性 ⚠ deepseek-v4-pro Output B is slightly more concise and avoids the extra abstraction of a centralized goToPage function, though at the cost of some duplication.
code-component sonnet-5 kimi-k3 总体 kimi-k3 Output B delivers the same functionality and safety as Output A but with significantly cleaner, more idiomatic, and easier-to-read React code.
code-component sonnet-5 kimi-k3 符合规格 ⚠ 平局 Both submissions implement the requested signature and provide functional pagination components.
code-component sonnet-5 kimi-k3 正确性 ⚠ 平局 Both correctly handle boundary conditions, disable buttons appropriately, and prevent invalid page changes.
code-component sonnet-5 kimi-k3 类型质量 ⚠ 平局 Both use appropriate TypeScript types, with Output B correctly relying on inference for inline event handlers while Output A explicitly types them.
code-component sonnet-5 kimi-k3 健壮性 ⚠ 平局 Both safely guard against out-of-bounds page changes and redundant updates to the current page.
code-component deepseek-v4-pro kimi-k3 总体 kimi-k3 Output B provides a cleaner, more focused implementation by consolidating the navigation logic into a single function and avoiding unnecessary event handler boilerplate.
code-component deepseek-v4-pro kimi-k3 符合规格 ⚠ 平局 Both outputs implement the requested Pagination component with the correct signature and props.
code-component deepseek-v4-pro kimi-k3 正确性 ⚠ 平局 Both correctly handle pagination logic, bounds checking, and disabling buttons at the edges.
code-component deepseek-v4-pro kimi-k3 类型质量 ⚠ 平局 Both use appropriate TypeScript types for the props and internal logic.
code-component deepseek-v4-pro kimi-k3 健壮性 ⚠ 平局 Both safely guard against out-of-bounds page changes and redundant clicks on the current page.
code-schema sonnet-5 deepseek-v4-pro 总体 平局 Output A is the better submission because its password validation is more robust, avoids regex edge-case bugs with newline characters, and provides better error granularity.
code-schema sonnet-5 deepseek-v4-pro 简洁性 ⚠ deepseek-v4-pro Output B uses Zod's idiomatic shorthand for custom error messages (passing a string directly instead of an object), making the schema definition slightly cleaner.
code-schema sonnet-5 kimi-k3 总体 kimi-k3 Output B is more idiomatic in its use of Zod, exports all necessary types, and handles error paths more robustly.
code-schema sonnet-5 kimi-k3 符合规格 ⚠ 平局 Both submissions implement the requested schema, types, and validation function correctly.
code-schema sonnet-5 kimi-k3 正确性 ⚠ 平局 Both correctly validate the inputs, enforce the constraints, and return the expected success or error objects.
code-schema deepseek-v4-pro kimi-k3 总体 kimi-k3 Output B is superior because it exports all necessary types, uses simpler and more precise regex validations, and handles error paths more robustly.