レポート
主要LLMのコーディングパーソナリティの内部 – Sonar State of Codeレポートからの洞察

2025年8月、Sonarは、最新のState of Code研究「主要LLMのコーディングパーソナリティ – State of Codeレポート」を発表しました。この研究は、精度スコアを超えて、実際に大規模言語モデルがコードを書き、各モデルに固有の「コーディングパーソナリティ」を明らかにします。
この研究では、Claude Sonnet 4、Claude 3.7 Sonnet、GPT-4o、Llama 3.2 90B、およびOpenCoder-8Bを、Sonarの静的解析エンジンを使用して、4,400以上のJavaアサインメントで評価しました。
共通の強み
5つのモデルすべてが、コードの構文的信頼性が高く、生成されたコードがほとんどの場合にコンパイルされ、実行されました。これは、HumanEvalスコアに反映されています。HumanEvalスコアは、モデルがコードの問題を解決し、その解決策が自動的に正解であるかどうかを確認するベンチマークテストです。Claude Sonnet 4は、95.57%のHumanEvalスコアと77.04%のPass@1率で首位に立ちました。Claude 3.7 Sonnetは72.46%、GPT-4oは69.67%、Llama 3.2 90Bは61.47%、OpenCoder-8Bは60.43%でした。
このパフォーマンスは、さまざまなプログラミング言語で維持され、モデルが問題を解決する際に、単に構文を記憶しているのではなく、論理的に推論していることを示しています。
共通の弱点
最も懸念される共通の欠点は、セキュリティの低さでした。Sonarは、ブロッカーレベルの脆弱性を測定しました。これは、最も深刻な種類の欠陥であり、悪用されると重大なセキュリティ侵害やシステムの妥協につながる可能性があります。例として、任意のファイルアクセスを許可するコード、SQLまたはコマンドインジェクション、ハードコードされたパスワード、誤った暗号化、または信頼されていない証明書の受け入れがあります。これらの脆弱性は、Claude Sonnet 4では59.57%、GPT-4oでは62.5%、Llama 3.2 90Bでは70.73%と非常に多く見られました。
レポートでは、リソース漏れも繰り返し発生しました。これは、コードがリソースを開くが、適切に閉じないタイプのバグです。時間の経過とともに、これらの漏れはシステムのリソースを枯渇させ、パフォーマンスの低下やクラッシュにつながる可能性があります。Claude Sonnet 4には54のこのような違反があり、Llama 3.2 90Bには50、GPT-4oには25ありました。
保守性については、問題のほとんどはコードの臭いでした。これは、プログラムをすぐに壊すことはありませんが、将来的にバグが発生しやすく、保守が困難になるパターンです。特定された問題の90%以上がこのカテゴリに該当し、未使用のコード、名前付けの不一致、過度の複雑さ、または設計上のベストプラクティスの違反が含まれていました。
独自のパーソナリティ
強みと弱点の混合から、Sonarは明確な「パーソナリティ」プロファイルを特定しました。
Claude Sonnet 4は「シニアアーキテクト」と呼ばれました。最も冗長なコードを書き、高い認知的複雑性を持っています。つまり、その論理パスは追跡するのが難しいです。パフォーマンスは良好ですが、リソース漏れやコンカレンシーエラーなどの複雑なバグに陥りやすいです。
OpenCoder-8Bは「ラピッドプロトタイパー」と呼ばれました。短く焦点の当てられたコードを生成しましたが、問題の密度が最も高かったです。速度と簡潔さは、概念実証に適していますが、注意深いレビューなしでは本番環境では危険です。
Llama 3.2 90Bは「果たされなかった約束」と呼ばれました。中程度の結果をもたらしましたが、最も悪いセキュリティポストを持ち、70%以上の脆弱性がブロッカーレベルでした。
GPT-4oは「効率的な汎用性」と呼ばれました。機能と複雑さのバランスをとりましたが、制御フローエラーにたびたび陥りました。これは、操作の論理的な順序に間違いがあり、不正確な結果やスキップされたコードにつながる可能性があります。
Claude 3.7 Sonnetは「バランスの取れた前身」と呼ばれました。冗長性の低いコードを生成しましたが、16.4%のコメント密度で最も高く、他のモデルよりも論理を説明しました。ただし、依然として重大な高レベルの脆弱性を抱えていました。
最も注目すべき発見の1つは、Claude Sonnet 4とClaude 3.7の比較から来ました。Sonnet 4はパス率を6.3%向上させましたが、バグのブロッカー率は7.10%から13.71%に倍増しました。ブロッカーレベルの脆弱性も56.03%から59.57%に増加しました。教訓は、パフォーマンスの向上は安全性の代償になる可能性があるということです。
結論
Sonarの「主要LLMのコーディングパーソナリティ – State of Codeレポート」は、ベンチマークの精度が物語るものだけではないことを明らかにしています。セキュリティリスク、保守性、コーディングスタイルを理解することは、モデルが「正しい」頻度を知ることと同等に重要です。
各パーソナリティ – アーキテクト、プロトタイパー、汎用性、バランスの取れた前身 – には強みとトレードオフがあります。開発者や組織にとっての教訓は、「信頼するが検証する」ということです。AIによるコード支援を人間の監視、徹底的なコードレビュー、厳格なセキュリティチェックと組み合わせて、速度と利便性が安全性や長期的な安定性を損なわないようにすることです。












