LLM Map-Reduce パターンは、信頼できないコンテンツをサブエージェントの内部に隔離する。調整役のエージェントがサブエージェントに指示を出し、各サブエージェントは信頼できない素材の一部にそれぞれ触れる。その結果が集約され、次に何が起こるかを左右するのは生のコンテンツではなくその集約結果である。プロンプトインジェクションから LLM エージェントを守るためのデザインパターン での要約によれば、これは同じ論文でその前に紹介されているパターンの限界、すなわち悪意ある指示が後続のステップに渡される内容になお影響しうるという点に応えるもので、出力の形が制約されたコンポーネントの内部に信頼できないテキストを閉じ込めることでそれを実現する。
この名称は、分散計算のための古典的な map-reduce フレームワークから借りたものであり、記事によればこの構造はそれを反映している。
用法
挙げられている例は、ある月の請求書を含むファイルを探し出して経理部門に送るよう頼まれたエージェントである。各ファイルはそれぞれ専用のサブエージェントに渡され、サブエージェントはそのファイルが関係するかどうかだけを示すブール値で応答する。関係すると判定されたファイルが集約され、送信される。
防御の役割を果たしているのは、サブエージェントが返せるものの狭さである。攻撃者が制御するテキストを読んだサブエージェントはなお乗っ取られうるが、ブール値は非常に小さな経路であり、それが表現できる最悪のものは一つのファイルについての誤った答えであって、調整役への新たな指示ではない。
適用される場面
このパターンが適用できるのは、信頼できない素材を扱うタスクが、それぞれ制約された答えに縮約できる独立した項目ごとの判断に分解できる場合である。そのような縮約が存在し、調整役が元のテキストを一切必要としないことが前提となる。サブエージェントの結果が、攻撃者が制御する文章を持ち帰れるほど豊かでなければならない場合には誤用となる。その時点で、信頼できないコンテンツは封じ込められたのではなく単に中継されただけになるからである。また、サブエージェントが与えられた項目について誤った判断を下すことに対しては、このパターンは何の防御も提供しない。
これは、レビュー対象の論文で、有用性と プロンプトインジェクション への耐性とのトレードオフとしてまとめて提示されている六つのパターンの一つである。ここで参照できる説明は論文そのものではなく、論文のレビュー記事によるものである。
関連用語
- Plan-Then-Execute パターン — このパターンが対処する、内容レベルでの露出が残っているパターン
- デュアル LLM パターン — 同じく信頼できないコンテンツの読み取りを別のモデルの背後に隔離する近縁のパターン。集約された判断ではなくシンボリックな変数を返す
- サブエージェントアーキテクチャ — このパターンがセキュリティ目的に用いる一般的な構造
- プロンプトインジェクションから LLM エージェントを守るためのデザインパターン — この説明の出典