コードレビューでAIアシスタントを使っていると、こんな経験はありませんか?
明らかに問題があるコードなのに「素晴らしいアプローチですね!」と返してくる。
改善点を聞いても「とても良く書けています」という反応ばかり。
これは多くの開発者が直面している問題です。
特にClaude Codeを使っている場合、この傾向が顕著に現れます。
今回は、この「イエスマン」問題を解決する効果的な方法を紹介します。
なぜAIアシスタントは過度に肯定的なのか
AIアシスタントが過剰に肯定的な反応を示すのには理由があります。
訓練データの多くが協調的でポジティブなやり取りを含んでいるからです。
その結果、批判的な意見を避ける傾向が生まれてしまうのです。
さらに、ユーザーとの関係を良好に保とうとする設計思想も影響しています。
これは一見良いことのように思えます。
しかし、コードレビューのような場面では逆効果になることがあります。
実際のところ、開発者が本当に必要としているのは正直なフィードバックです。
問題があれば指摘してもらう。
改善点を明確に示してもらう。
そうすることで、より良いコードが書けるようになります。
シンプルだが効果的な解決策
この問題を解決する方法は驚くほどシンプルです。
CLAUDE.mdファイルに以下の指示を追加するだけで、AIの振る舞いが大きく変わります。
率直に正直な意見を述べてください。イエスマンにならないでください。 私が間違っている場合は、はっきりと指摘してください。 私のコードに対する正直なフィードバックが必要です。
たった3行の日本語です。
しかし、この指示によってAIはより批判的で建設的なフィードバックを提供するようになります。
実際に試したユーザーからは興味深い報告が上がっています。
「自分が書いたコードを『問題がある』と指摘された」というのです。
設定方法と実践
設定は簡単です。
以下の手順で行います:
- プロジェクトのルートディレクトリにあるCLAUDE.mdファイルを開く
- 上記の3行を追加する
- Claude Codeを再起動する
これだけで設定が反映されます。
ただし、注意点もあります。
この設定を使用すると、AIは時として必要以上に批判的になることがあります。
「あなたのアプローチは完全に間違っている」といった強い表現を使うこともあるでしょう。
そのため、フィードバックの内容を冷静に評価することが重要です。
AIの指摘がすべて正しいわけではありません。
あくまでも参考意見として捉えましょう。
最終的な判断は自分で行う必要があります。
より高度なカスタマイズ
基本的な設定に加えて、さらに細かい調整も可能です。
具体的なフィードバックを得るために、以下のような指示を追加できます。
技術的な正確性に焦点を当てたい場合:
技術的な正確性と実装の詳細にのみ焦点を当ててください。
曖昧な回答を避けたい場合:
複数の視点をバランスよく提示する必要はありません。 明確な答えを一つ示してください。
これらの指示により、より明確で実用的なフィードバックが得られます。
長期的な活用のための工夫
この設定を長期的に活用するためには、いくつかの工夫が必要です。
まず、セッションが長くなると初期の指示の効果が薄れることがあります。
そのため、定期的にリマインダーを送ることが有効です。
例えば「率直な意見を忘れないでください」といった具合です。
また、プロジェクトの段階に応じて指示を調整することも重要です。
初期段階では厳しいフィードバックが有益です。
一方、最終段階では建設的な提案に重点を置いた方が良いかもしれません。
他の開発者の活用例
実際にこの設定を使用している開発者たちは、さまざまな工夫を加えています。
ある開発者の面白い工夫を紹介しましょう。
彼は「Sir」という呼びかけを必須にしています。
なぜでしょうか?
コンテキストウィンドウが大きくなりすぎたことを検知するためです。
AIが「Sir」を使わなくなったら、セッションをリセットする合図として活用しているのです。
別の開発者は異なるアプローチを取っています。
「理解しましたか?」という確認を頻繁に行うのです。
これにより、AIが正確に要求を理解しているかを確認しています。
誤解による無駄な作業を防ぐ効果的な方法です。
まとめ
AIコーディングアシスタントの「イエスマン」問題は、シンプルな設定で大幅に改善できます。
重要なのは、AIに明確な指示を与えることです。
そして、正直なフィードバックを求めることです。
ただし、AIはあくまでもツールであることを忘れてはいけません。
批判的なフィードバックを得られるようになっても、最終的な判断は開発者自身が行います。
この設定を活用することで、より質の高いコードレビューが可能になります。
結果として、開発スキルの向上にもつながるでしょう。
AIとの建設的な対話を通じて、より良いコードを書いていきましょう。