本記事では、自然言語で書かれたあいまいなリクエストが、LLMによるコード生成を不安定にする要因となっている問題と、それに対する修正のアプローチを紹介します。
単にプロンプトを工夫するのではなく、要件そのものを少し整えることで、出力が一貫しやすくなるという考え方に基づいています。モデルの出力結果を観察し、そこに現れる意味のばらつきから記述のズレを逆算していく手順が提案されています。
LLMを業務に活用する中で、仕様の書き方が結果にどのように影響するのかを見直すきっかけになるかもしれません。

背景
プロンプトからコードを生成する仕組みが普及し、自然言語がそのままソフトウェア開発の入り口として使われる場面が増えています。今や、要件や仕様を自然言語で書き、それをもとにコードを出力するという流れは、実務でも珍しくなくなっています。
ただし、自然言語にはあいまいさが避けられないという特性があります。意味合いが複数ある記述があった場合に、人によって、またモデルによっても解釈が分かれてしまうことがあります。
実際に、あいまいな記述を与えた場合、モデルの精度が20%も落ちるという報告も出ています。こうした課題に対し、過去にはLLMに質問させて人間が補足説明を加えるといった手法が提案されてきましたが、これは現場で使うには煩雑です。また、モデルが本質から外れた質問を返してしまったり、説明が冗長になることで、かえって要件の見通しが悪くなることもあります。
そこで注目されているのが、「あいまいな要件そのものを自動で手直しする」という新しいアプローチです。人手を介さずに、モデルを使って自動的に自然言語の記述を見直し、より一貫したコード解釈ができるように調整する。ここで重要になるのが、コードの出力に現れるばらつきを抑えること、そして、例として書かれた入出力と矛盾しないように要件を整えることです。
以下で詳しく紹介します。
また記事の購読には、アカウント作成後の決済が必要です。
※ログイン/初回登録後、下記ボタンを押してください。
AIDBとは
プレミアム会員(記事の購読)について
■サポートのお願い
AIDBを便利だと思っていただけた方に、任意の金額でサポートしていただけますと幸いです。