コンテキストポイズニング(context poisoning)とは、生成タスクの前提として言語モデルに与えられる情報に誤りやノイズが混入することで、局所的には論理的に整合しているが全体としては誤った出力をモデルが生み出してしまう現象である。Spec駆動開発におけるコンテキストエンジニアリングとCustom Slash Commandsのベストプラクティス は、これを コンテキストエンジニアリング(コンテキストエンジニアリング)が対処すべき三つの問題の一つとして、コンテキストロット(コンテキストロット)および コンテキストの混乱(コンテキストの混乱)と並べて挙げている。同記事の説明によれば、その症状は、誤った実装やドキュメント、そして現行の仕様と矛盾する実装や説明である。

用法

同記事は、その原因を、古くなった仕様、更新されないままのコメント、タスクと無関係な類似コードなどがコンテキストに紛れ込むことに求めている。モデルは与えられた情報と整合する回答を出そうとするため、入力に含まれる誤りを「きれいな形で」再生産してしまう。

同記事が カスタムスラッシュコマンド(カスタムスラッシュコマンド)の設計について述べるところでは、コンテキストポイズニングは、すべてのコマンドに結果をファイルへ書き出させる理由の一つとなっている。コンソールにしか残らない出力はそのセッション内でしか使えず、それはコンテキストをリセットできないことに等しい。そして過負荷のコンテキストを持ち越すことは、コンテキストポイズニングとコンテキストロットを招く。あるコマンドから次のコマンドへファイルを受け渡し、その間にコンテキストを消去することが、こうして持ち越されるノイズを断つ方法として示されている。

関連用語