报表
探秘顶尖法学硕士的编程个性——Sonar 代码现状报告的见解

在2025的8月, 声纳 发布了最新的 代码状态 研究, 顶尖法学硕士的编程个性——代码现状报告。这项研究超越了准确度分数,研究大型语言模型实际上如何编写代码,并揭示每个模型独特的“编码个性”。
该研究使用 Sonar 自己的静态分析引擎(该技术通过其旗舰 SonarQube Enterprise 平台经过 4 年的改进)对 3.7 多个 Java 作业中的 Claude Sonnet 4、Claude 3.2 Sonnet、GPT-90o、Llama 8 4,400B 和 OpenCoder-16B 进行了评估。
共同优势
所有五个模型都表现出了很强的句法可靠性,这意味着它们生成的代码在大多数情况下都能成功编译和运行。这反映在它们的 HumanEval 分数这是一项基准测试,要求模型解决编码问题,并自动检查其解决方案的正确性。Claude Sonnet 4 以 95.57% 的 HumanEval 得分和 1% 的加权 [email protected] 率位居榜首,这意味着其首次尝试在超过四分之三的情况下都是正确的。Claude 3.7 Sonnet 得分为 72.46%,GPT-4o 为 69.67%,Llama 3.2 为 61.47%,OpenCoder-8B 为 60.43%。
这种性能在不同的编程语言中都得到了体现,表明这些模型是通过问题进行推理,而不是仅仅依赖于记忆的语法。
常见弱点
最令人担忧的共享缺陷是糟糕的安全卫生状况。Sonar 测量 阻止程序级漏洞,这是最严重的漏洞类别——安全问题一旦被利用,可能直接导致重大漏洞或系统入侵。示例包括允许任意文件访问的代码、SQL 或命令注入、硬编码密码、加密配置错误或接受不受信任的证书。这些漏洞非常常见:Claude Sonnet 4 的漏洞中 59.57% 属于此严重程度,GPT-4o 为 62.5%,而 Llama 3.2 则高达令人担忧的 70.73%。
报告还指出 资源泄漏这是一种代码打开资源(例如文件句柄、网络套接字或数据库连接)但未能正确关闭的错误。随着时间的推移,这些泄漏可能会耗尽可用的系统资源,导致性能问题或崩溃。Claude Sonnet 4 有 54 处此类违规,Llama 3.2 有 50 处,GPT-4o 有 25 处。
在可维护性方面,大多数问题 代码异味——这些模式不会立即破坏程序,但会使维护更加困难,并且将来更容易出现错误。超过 90% 的已识别问题都属于此类,通常涉及未使用的代码、命名不当、过度复杂或违反设计最佳实践。
个性鲜明
通过这些优点和缺点,Sonar 确定了清晰的“个性”特征。
Claude Sonnet 4 赢得了“高级架构师”的称号。它编写的代码最为冗长——在整个测试集中有 370,816 行——并且认知复杂度很高,这意味着它的逻辑路径更难理解。它性能良好,但容易出现复杂的 bug,例如资源泄漏和并发错误,这些 bug 可能在多个线程或进程以非预期的方式交互时发生。
OpenCoder-8B 堪称“快速原型机”,它能生成简短、专注的代码(总共 120,288 行),但问题密度最高。它的速度和简洁性使其非常适合概念验证,但如果没有仔细审查,则在生产环境中可能会很危险。
Llama 3.2 90B 被评为“未兑现的承诺”。它的结果中等,但安全态势最差,超过 70% 的漏洞被归类为阻止程序级别。
GPT-4o 是“高效的通才”,在功能性和复杂性之间取得平衡,但经常会遇到问题 控制流错误—操作逻辑顺序中的错误可能导致不正确的结果或跳过代码。
Claude 3.7 Sonnet 是“平衡的前身”,其代码比其后继者简洁,但注释密度最高,达到 16.4%,这意味着它比其他任何模型都更能解释其逻辑。虽然文档更完善,但它仍然存在严重的高危漏洞。
最引人注目的发现之一来自于 Claude Sonnet 4 与 Claude 3.7 的比较。尽管 Sonnet 4 的通过率提高了 6.3%,但其被评为“阻止程序”的漏洞比例却几乎翻了一番,从 7.10% 上升到 13.71%。阻止程序级漏洞也从 56.03% 上升到 59.57%。这说明:性能提升可能会以牺牲安全性为代价。
结语
声纳的 顶尖法学硕士的编程个性——代码现状报告 显然,基准测试的准确性只是故事的一部分。了解安全风险、可维护性和编码风格与了解模型“正确”的频率同样重要。
每个人——无论是架构师、原型师、通才还是均衡的前辈——都有各自的优势和劣势。开发者和组织需要牢记的是“信任但要验证”,将AI编码辅助与人工监督、全面的代码审查和严格的安全检查相结合,以确保速度和便利性不会损害安全性或长期稳定性。