在 SonarSource 的 Java 代码任务中,Opus 5.5 High 与 Opus 5 Thinking 的可测任务通过率相差不到一个百分点;Opus 5.5 生成的代码更少、总问题更少,但每行代码的 bug 密度和并发问题密度更高。
适合判断的任务:Java 代码生成的功能通过情况、代码规模,以及 SonarQube 可检测的 bug、安全问题和可维护性问题。
不适合外推的任务:其他语言、真实生产代码库、不同提示词或工具链,以及未由 SonarQube 规则覆盖的问题。
适用的模型版本:Claude Opus 5.5 High(文章称为预发布版本);对照为 Claude Opus 5 Thinking。
测试环境或客户端:SonarSource 的 Sonar LLM evaluation framework;Java 基准涵盖 HumanEval、MBPP 和 ComplexCodeEval;代码由 SonarQube 算法分析器检查。
推理档位和参数:Opus 5.5 使用 High。文章未注明温度、随机种子、API/模型构建标识、工具调用设置、输出上限或重试策略。
SonarSource 称,使用其 LLM leaderboard 每个模型共用的 Java benchmark 和评估框架。
Opus 5.5 运行记录 4,444 项任务,覆盖 HumanEval、MBPP、ComplexCodeEval。功能通过率只计算 HumanEval 与 MBPP 中有可执行测试的 544 项;ComplexCodeEval 用于代码分析,不计入通过率。
SonarQube 算法分析器评估生成代码。缺陷密度按每百万行代码(mLOC)报告,代码异味密度和整体问题密度按每千行代码(kLOC)报告。
方法说明称,两模型在安全漏洞和代码异味上的类别规则映射相同。类别行按整数取整,因此可能与汇总密度有小幅差异。
文章没有说明 4,444 项任务在三个套件间的分配、提示词、任务级样本结果、重复运行数或统计置信区间。
| 指标 | Opus 5 Thinking | Opus 5.5 High |
|---|---|---|
| 功能通过率(544 项可执行测试任务) | 88.6% | 87.68% |
| 未返回可解析代码的任务 | 0.83%(37 项) | 0.68%(30 项) |
| 生成代码行数 | 916,813 | 664,890 |
| 函数数 | 122,650 | 89,466 |
| 注释行比例 | 10.5% | 3.1% |
| Bug 密度(每 mLOC) | 576 | 644 |
| 漏洞密度(每 mLOC) | 251 | 229 |
| 代码异味密度(每 kLOC) | 19.69 | 15.58 |
| 整体问题密度(每 kLOC) | 20.52 | 16.46 |
| 总问题数 | 18,814 | 10,941 |
| 输出 tokens | 21.71M | 12.96M |
两个模型通过率相差 0.92 个百分点。Opus 5.5 少生成 27.5% 代码,输出 tokens 少 40%,总问题少 42%。
Bug 总数从 528 降至 428,但每 mLOC bug 密度从 576 升至 644。并发/线程类 bug 密度从 205 升至 295 每 mLOC,增加 44%,是 Opus 5.5 最大的 bug 类别。
漏洞总数从 230 降至 152;漏洞密度从 251 降至 229 每 mLOC。代码异味总数从 18,056 降至 10,361。
三类严重度最高的 BLOCKER 密度均下降:可靠性问题 41→24、安全问题 19→9、可维护性问题 75→60(均为每 mLOC)。
SonarSource 报告两次运行输入 tokens 均约 2.07M;Opus 5.5 记录 3.23M reasoning tokens,而 Opus 5 未记录该字段。文章认为旧运行很可能没有采集该字段,因此不把两者 token 总量直接比较。
文章报告的总体指标如下,密度单位如表头所示:
| 指标 | Opus 5 Thinking | Opus 5.5 High |
|---|---|---|
| 圈复杂度 / kLOC | 237.82 | 237.70 |
| 认知复杂度 / kLOC | 132.29 | 138.05 |
| 总 Bug | 528 | 428 |
| 总漏洞 | 230 | 152 |
| 总代码异味 | 18,056 | 10,361 |
| 总问题 | 18,814 | 10,941 |
Opus 5.5 的 Bug 类别密度(每 mLOC):并发/线程 295、空值/数据值 92、性能/结构 71、资源/流泄漏 54、异常处理 41、类型安全/强转 39、API 契约违反 29、模式/正则 12、控制流错误 9、数据结构 2、未分类 2。文章提示该列按整数取整。
Opus 5.5 的漏洞类别报告密度(每 mLOC):密码配置错误 104、不安全系统资源处理 66、I/O 错误处理不足 23、注入攻击 17、硬编码凭据 2、Web API 安全配置错误 5、路径遍历/注入 5、XXE 3、证书校验遗漏 0、未分类 6。文章同时解释类别取整值之和为 231,而汇总密度为 229;每条发现约折算 1.5/mLOC。
这项测评支持一个有限结论:在 SonarSource 选用的 Java 任务与其算法分析规则下,Opus 5.5 High 在近似保持通过率的同时,输出规模和发现问题总数低于 Opus 5 Thinking。Bug 密度上升、并发类问题增多,说明减少代码量并不代表每行代码都更可靠。
结果来自 SonarSource 自建基准及 SonarQube 规则分析,不是跨语言或真实项目的缺陷率估计。分析器只能发现其规则覆盖的问题。页面未提供任务级数据、完整提示词、规则版本、模型精确构建号、重复采样或置信区间,读者无法独立重跑或检验小幅通过率差异。输出 token 总量可比较;reasoning token 记录存在不对称,不能据此比较总 token。
页面明确说明测试对象是发布前的预发布构建,并称 Opus 5.5 达到一般可用后会在 Sonar LLM Leaderboard 更新结果。因此,这组数字不应视为正式发布版本的复测结果。
原文公开了模型档位、语言、基准套件名称、总任务数、通过率子集大小、分析器和多项汇总结果,但没有提供任务输入、提示词、代码产物或完整运行配置。可据原文复核表中数字和比例;要复现测评,仍需 SonarSource 提供 Java benchmark 的确切版本与任务清单、提示词、模型构建和 API 参数、SonarQube 版本及原始逐任务产物。
Claude Opus 5.5