FlowState、実行状態を長期タスク向けエージェントの記憶に変える
長期にわたるタスクを実行する LLM エージェントには、過去の情報をどのように保持するかという難題があります。すべての対話履歴を毎回コンテキストへ戻せば細部を失いにくい一方、入力コストは増え、推論対象も複雑になります。反対に、履歴を早い段階で圧縮しすぎると、後になって重要になる情報が失われる可能性があります。FlowState は、この問題を「対話ログを保存する」問題ではなく、「実行状態を記憶として再利用する」問題として捉え直します。
仕組みの要点
FlowState は、意味的な型を持つ状態ノード、ノード間の関係、そしてツールから得た元の観測結果への参照を保持します。つまり、すべての発話をそのまま残すのではなく、タスクの進行に関係する事実、判断、依存関係を構造化して保存します。細部の確認が必要になった場合は、対応する元の観測結果へ戻ることができます。
中心となる仕組みは二つです。
- Incremental State Update(ISU):新しいユーザー入力、ツール結果、実行フィードバックを取り込み、現在の状態を継続的に更新します。
- Progressive State Access(PSA):推論の進行に応じて、関連する過去の状態と根拠を段階的に開示します。
この構成では、記憶は固定された要約ではありません。新しい証拠によって以前の判断を見直す必要が生じたとき、エージェントは過去の状態と根拠を再確認し、修正後の判断を状態更新として記録できます。現在の意思決定と過去の情報の再利用を、同じ実行ループの中で結び付ける設計です。
結果と限界
同じ DeepSeek-V4-Flash を使った比較で、FlowState は全履歴を使うベースラインに対し、MemoryArena の平均成功率を 4.55 ポイント、τ³-Bench の平均パス率を 13.95 ポイント向上させました。総トークン消費量は、二つのベンチマークでそれぞれ 43.2% と 40.6% 減少しています。これは、必要な状態だけを取り出す方式が、履歴の再投入より効率的であるだけでなく、長期タスクでの情報再利用にも寄与する可能性を示します。
ただし、状態の鮮度はまだ十分に扱われていません。現状では、元のリクエスト情報と証拠への参照は保持されますが、検証時刻を強制する仕組みや、状態グラフ全体へ無効化を自動伝播する機能はありません。ファイル、API、ツールの出力形式が途中で変わった場合でも、再検証するかどうかはモデルの判断に委ねられます。古い状態は、長大なコンテキストよりも目立たない形で誤りを生む可能性があります。
意義
FlowState は、すべてを再生する方式と、すべてを要約する方式の中間に位置します。構造化された状態はコンテキストの重複を減らし、証拠へのリンクは判断の追跡可能性を保ちます。多段階の調査、業務処理、ツール操作を行うエージェントにとって、実用的な記憶管理の基盤になり得ます。
今後の課題は、環境が変化したときの信頼性です。タイムスタンプ、出典情報、変更検知、依存する判断の無効化などを組み合わせなければ、記憶を保存するだけでは不十分です。FlowState は「どのように保持し、必要時に取り出すか」を前進させました。次に求められるのは、「いつ、その記憶を信頼してはいけないか」を判断する仕組みです。
コメント
ログイン状態を確認中…
コメントを読み込み中…