Lost in the Middle とは、言語モデルが長い入力の中ほどに置かれた内容をうまく活用できず、その入力の先頭と末尾が最も強く反応する位置になっている現象に付けられた名称である。AI にチームのルールを守らせる方法 はこの名称を、自らが名付けたものではなく、すでに広く流通しているものとして用いている。そこでは、長い入力を与えられたときにモデルが中ほどにある内容を使わない現象と説明されており、同じ状況はコンテキスト汚染(context pollution)とも呼ばれる、と付け加えられている。ただしこの同一視は、掘り下げられることなく述べられているだけである。

用法

この記事が引き出している帰結は、量ではなく位置に関するものである。つまり、セッションの先頭に置かれた内容は、先頭にとどまり続けるわけではない。コーディングエージェントがセッションを進めるにつれてファイルの読み込み、生成されたコード、テストの出力を蓄積していくと、最初に読み込まれた指示は入力の中ほどへと押しやられていく。そこはモデルが最も注意を向けない位置である。記事の説明によれば、ループがおよそ 30 回目に達するころには、エージェントはセッション開始時に読んだルールよりも、直前に読んだコードやコンテキストのほうを信頼するようになり、会話の先頭はもはや先頭のようには感じられなくなるという。

このように読むと、この用語は指示の質ではなく 配置 の失敗モードを表している。記事では、AGENTS.md のようなプロジェクトルートの指示ファイルだけでは不十分である理由として、この用語が使われている。ルールは与えられており、内容も誤っていなかったが、単にモデルが活用しない位置に行き着いてしまった、というわけである。そこで提案されている対策は、よりよく書かれたファイルではなく、エージェントループの途中の各時点で関連するルールを再注入することである。pfmls-stylepack を参照。

Claude Code を活用した予測可能なバイブコーディング戦略 は同じ名称を、一度にまとめて渡された単一の長い文書に対して用いると同時に、トラブルシューティングの節では、会話の冒頭で設定したルールが 10 ターンほどで無視されるようになることにも当てはめている。その具体例は、30 ページの仕様書を 1 つのプロンプトでコーディングエージェントに渡した場合で、最初と最後の数ページは結果に反映される一方、その間のページにある要件は部分的に見落とされる。この記事は、この名称の由来をこの現象に関する論文にたどり、このパターンを人間の記憶における系列位置効果になぞらえている。すなわち、初頭効果と新近効果であり、中ほどの項目はリハーサルもされず、短期記憶にも残っていない、というものである。さらに、人間が書いたデータで訓練されたモデルがこのバイアスを受け継いだのかもしれない、と知見ではなく可能性として示唆している。記事はこの用語を、作業記憶の限界とは区別している。後者は、指示が短くても、追跡すべき個別の項目が多いためにルールが抜け落ちるというものである。記事が提案する対策は手順的なものである。依頼を小さなターンに分けて 1 つずつ確認すること、扱うべき項目を明示的な ToDo リストとして列挙し、それを順に処理していくこと、そして大規模な探索を複数のサブエージェントに分割し、それぞれが小さなコンテキストで作業するようにすることである。

関連用語

コンテキストロット, コンテキストエンジニアリング, AGENTS.md, 指示の呪い