#contens
最近、Java Spring BootのプロジェクトでAIを活用したコード生成を試してみました。最初のうちは新規のコードを書く場合に非常に順調で、短時間である程度のコードを生成してくれるAIは「頼れる相棒」のように感じました。
しかし、実際に運用を続けているうちに、ある課題が見えてきました。
AIが作ったコードが、数日経つと以前の文脈を忘れてしまい、同じ機能を違う形で再び作ってしまうことがあります。これは俗に言う「車輪の再発明」です。
| AIが「ポンコツ化」する主な原因 |
| --- |
| コンテキスト認識範囲に限界がある |
| 既存コードとの整合性を保てない |
| 生成した情報が「ハルシネーション(事実と異なる)」を起こす |
特に、大規模プロジェクトでは問題が顕著になります。
AIが事実でない情報を生成する「ハルシネーション」を防ぐには、次の2つのポイントが重要です。
「元に戻して」というAIへの指示がうまくいったことはほぼありません。そのため、自分自身で履歴管理を徹底する必要があります。
AIの弱点を克服するために試した効果的な工夫をご紹介します。
| 効果的な工夫 | 効果 |
| --- | --- |
| クラス図を描く | 意図するクラス名・メソッド名を明確に伝えられる |
| コーディング規約を明示する | AIが守るべきルールが明確になり、整合性が向上する |
| 補助的なツールをAI自身に作らせる | コンテキスト管理をAIが自己補完できる |
特にクラス図を使って名前を縛ることで、AIがこちらの意図を正しく理解しやすくなったと感じています。
AIの能力を最大限引き出すためには、プロンプトエンジニアリングの技術だけでは不十分です。AIの弱点を理解し、それを補完するツールやサブシステムを設計・構築するスキルが必要です。
AI自身が抱える課題を自ら解決できる仕組みを作り出せるようになった時、私たちのコード開発現場は一段階進化すると確信しています。
一緒に次のレベルへ進んでいきましょう!