GLM-5.2のコードレビューはプロンプト次第
Z.aiのGLM-5.2は、人気の高いオープンウェイトモデルです。私たちは、このモデルのコードレビュー能力を検証しました。その結果、レビューの品質はモデルへの指示の出し方(プロンプト)によって変化することが分かりました。
私たちは2つのテストを実施しました。最初のテストでは、16個のバグを含むシンプルなTypeScriptのバックエンドを使用しました。2番目のテストでは、10個の巧妙なバグを含む複雑なシステムを構築しました。これらのバグは、アプリケーションの異なる部分がどのように連携しているかを理解する必要があるものでした。
学んだことは以下の通りです:
- プロンプトの言い回しは、推論の負荷(reasoning effort)よりも重要です。推論モードを「低」から「高」に切り替えるよりも、プロンプトを変更する方が結果に大きな影響を与えました。
- 厳格すぎるプロンプトは逆効果になることがあります。モデルに対して「本番環境のPRをブロックまたは承認せよ」と指示すると、モデルはセキュリティに集中してしまいます。その結果、ハードコードされたシークレットや脆弱なハッシュ化は見つけ出しますが、本来見つけてほしいロジックのバグを見逃してしまいます。
- ローカルなバグはGLM-5.2にとって容易です。権限ガードの不備や変数の誤りなど、単一の関数内にあるエラーを検出できます。
- システム全体にわたるバグはGLM-5.2にとって困難です。複数のファイルにまたがるルールへの対応に苦戦します。例えば、アーカイブされたタスクが検索結果やエクスポートに漏れ出しているケースを見逃してしまいました。
- 最先端(Frontier)モデルの方が信頼性が高いです。GPT-5.5やOpus 4.8は、複雑なルートをまたぐバグを一度の実行で検出できました。GLM-5.2は、こうしたタスクにおいて結果にばらつきがあります。
GLM-5.2を効果的に活用する方法:
- ローカルなロジックに使用する。単一の関数内にあるエラーを見つけるのに適しています。
- 指示を具体的にする。「厳格な」レビューを求めるのではなく、異なるルート間での一貫性をチェックするように指示してください。
- チェックしたい挙動を明示する。検索、エクスポート、リストがすべて同じ方法でデータを処理しているか確認するように指示してください。
- 重要なコードに対して一度の実行のみに頼らない。結果にばらつきがあるため、複数回実行するか、複雑な変更にはより強力なモデルを使用すべきです。
GLM-5.2は有能なツールですが、タスクに合わせてプロンプトを使い分ける必要があります。
Source: https://dev.to/kilocode/glm-52s-code-reviews-are-only-as-good-as-your-prompt-5233
Optional learning community: https://t.me/GyaanSetuAi
