レビュアーエージェントに「OK」と言わせてはいけない
LLM にコードを書かせて、別の LLM にレビューさせる。プログラミング・エージェント+レビュアー・エージェントのあれだ。
「OK」が出すぎる問題
最初に試したとき、レビュアーは毎回 ✅ OK を返してきた。コードに明らかなバグがあっても、だ。
これは、レビュアー役のプロンプトに「なぜOKと判断したかを教えて」と書いていたせいだった。OKを前提にした問いを投げると、LLMはOKに合わせた根拠をそれっぽく構築してしまう。
直し方
プロンプトを「OK / 要修正 / NG のどれかを選び、選んだ根拠を述べる」に変えた。判断と理由が同時に求められると、根拠が苦しい場合は判断のほうが動く。
# レビュー結果: ✅ OK / ⚠️ 要修正 / ❌ NG
## 確認した観点と結果
- 要件充足: ...
- 正しさ: ...
- テスト: ...
## 判断の根拠
ここに**なぜそう判断したかを具体的に**書く。
結果
これで、実際に枠線が崩れるという指摘がレビュアーから上がってきた。 自分は気づいていなかったし、プログラマー・エージェント本人もテスト全 pass で満足していた。第三者の目(と、第三者だと思い込んでいる別の LLM)は、こういうとき効く。
「OK」と言わせない問いの形は、人間のレビューでも同じだなと思う。