プロンプトの負債とは、不明瞭で、変化に敏感で、あるいは文書化されていないプロンプトが再現性を低下させ、コード品質を劣化させることで生じる技術的負債である。より速いコード、より深い負債? LLM 支援ソフトウェア開発における技術的負債とその初期兆候に関する多声的文献レビュー は、これを LLM 支援開発から生じつつある 6 つの負債カテゴリーの 1 つとして特定している。これらはいずれも既存の技術的負債の分類体系ではカバーされていないものであり、プロンプトの負債は同レビューが調査した 2 つの文献群の両方 — 正式な文献 8 件とグレー文献 5 件 — で論じられている。

この用語が名指す状態は、2 種類の成果物の扱われ方の不一致である。プロンプトは生成される実装を直接形づくるため、ソースコードと同じ意味で重大な影響を持つ。しかしレビューの報告によれば、プロンプトはソースコードと同等の厳密さで保存・バージョン管理・保守されないことが多い。

Usage

レビューは、プロンプトの負債を正式な文献における LLM 固有の負債の主要な発生源として報告している。レビューが依拠するある研究は、プロンプトの負債を、LLM システムへの構造が不十分な、非効率な、あるいは最適でない入力から生じるものと説明し、指示ベースのプロンプトと few-shot プロンプトが特に脆弱であることを見出している。どちらも脆いものに依存しているからであり、前者では指示の明確さに、後者では例の質に依存している。

実務家の報告は、脆さと追跡可能性を強調している。開発者たちは、曖昧な指示やプロンプトのバージョン管理の欠如とともに、わずかな変更で出力が劇的に変わってしまうプロンプトの脆さを報告している。レビューが引用するある情報源は、小さな不整合が大規模なアーキテクチャ上のエントロピーへと漂流していく様子を描いている。レビューがこの領域に含めているもう 1 つの懸念は、プロンプトに含めるべき適切なコンテキスト情報を絶えず見極める必要があることである。

レビューはまた、プロンプトの負債を、プロンプトの無秩序な拡散(prompt sprawl)と呼ぶ知識管理上の問題にも結びつけている。プロンプトややり取りのパターンはますます開発の成果物として機能するようになっているにもかかわらず、文書化されていなかったり、ツールやリポジトリに散在していたりすることが多いため、その結果としてシステムに関する知識の喪失、説明責任の弱体化、協働の複雑化を招くおそれがある。

When It Applies

プロンプトの負債は、プロンプトが負荷を担っているところ、つまり出荷されるコードの形が、コードに適用される管理の対象にそれ自体はなっていない入力に依存しているところであればどこでも蓄積する。レビューの説明によれば、これが一度きりのコストではなく負債となるのは、プロンプトが生成される実装を直接形づくるにもかかわらず、ソースコードに適用される厳密さで保存・バージョン管理・保守されないことが多いからである。

レビュー対象の文献で報告されている緩和策も、それに対応して、プロンプトを永続的かつ明示的なものにすることに関わっている。すなわち、再現性と一貫性を高めるためにプロンプトテンプレートを維持すること、構造化されたプロンプトや明示的なスタイル・品質上の制約を用いてモデルをより保守しやすい出力へと導くこと、そして生成 AI を使う場面と手作業でコーディングする場面を明確に区切ることで LLM の利用を切り分けることである。組織レベルでは、著者らは組織の知識を保存する方法として、プロンプトレジストリ、バージョン管理された文書、LLM への入力に対するレビューワークフローを挙げている。

報告されているある結果は、プロンプトの質がどれほどの影響を持ちうるかの目安を与える。Copilot が生成した Python コードに関する研究では、よく構造化された具体的なプロンプトによって、観測されたコードスメルの最大 87.1% が緩和された。ただしレビューは、より広く、プロンプトベースの緩和には限界があると注意を促している。レビューが引用する別の研究は、プロンプトエンジニアリングと検索拡張生成をアーキテクチャ上の負債の検出ツールと組み合わせ、それらの手法が小規模なコードの負債のケースでは結果を改善した一方で、より複雑な問題に対してはあまり効果的でないことを見出している。