はじめに
前回の記事では Context Compression について見てきました。Long-term Memory によって大量の情報を記憶し、Context Compression によって必要な情報だけを LLM に渡せるようになりました。
Long-term Memory → 必要な情報を記憶する
Context Compression → 必要な情報だけを取り出す
しかし、これだけでは AI エージェントは長期間にわたるタスクを安定して実行できません。なぜなら、
エージェントが今どこまで作業を進めたのか
が分からないからです。本記事では、この問題を解決する State Management(状態管理)について見ていきます。
State(状態)とは何か
Agent Engineering において State は単なる変数ではなく、
- 現在のタスク状態
- 承認待ち状況
- 実行済みの作業
- 未完了の作業
- 次のアクション
などを含みます。たとえば、
task_id: 1001
status: approval_waiting
completed:
- flight_search
- hotel_selection
next_action:
- wait_for_manager_approval
のような情報です。
State Management(状態管理)とは何か
State Managementとは、「エージェントやタスクの現在の状態を管理する仕組み」です。Long-term Memory が過去の情報を扱うのに対して、State Management は現在の状態だけでなく、
- 現在どの段階にいるのか
- 次に何を行うべきか
- どこで停止したのか
といったタスクの実行状態全体を扱います。
Long-term Memory → 過去を覚える
Context Compression → 必要な情報だけを取り出す
State Management → 今の状態を把握する
Stateのライフサイクル
Agent の State は、タスクに応じてさまざまな形で遷移します。以下はその一例です。これは一例であり、実際の状態遷移はタスクやシステムによって異なります。
なぜState Managementが必要なのか
多くの人は、「Long-term Memory があれば十分なのではないか」と考えがちです。しかし、実際にはそうではありません。
記憶できても進捗は分からない問題
出張計画の例を考えてみましょう。Long-term Memory があれば、
- JALを希望する
- 通路側を希望する
- 本社近くのホテルを希望する
といったユーザーの好みは記憶できます。Context Compression があれば、これらの重要情報だけを抽出できます。しかし、
航空券検索
↓
ホテル候補取得 → 上長承認
⇣
予約確定 ↲
というプロセスのどこまで進んでいたのかは別問題です。たとえば、
Long-term Memory: ユーザーはJALが好き
State: 現在は承認待ち
| 項目 | Long-term Memory | State Management |
|---|---|---|
| 目的 | 過去を覚える | 現在の状態を把握する |
| 対象 | ユーザー情報・履歴 | 進捗・現在地 |
| 期間 | 長期間 | タスク期間中 |
| 例 | JALが好き | 承認待ち |
Long-term Memory と State は別物
Long-term Memory と State Management は混同されることがあります。しかし、
Long-term Memory は「何を知っているか」
を管理する仕組みであり、
State Management は「今どこまで進んだのか」
を管理する仕組みです。たとえば、
- ユーザーはJALを好む → Long-term Memory
- 現在は上長承認待ち → State
となります。
長時間タスクの問題
多くの Agent は数秒で終わるタスクだけを扱いません。たとえば、
- 出張手配
- 購買申請
- システム移行
- 顧客対応
などは数日から数週間にわたって継続することがあります。たとえば、
- Day1: 航空券候補作成
- Day2: ホテル比較
- Day5: 承認待ち
- Day8: 予約実行
このようなケースも珍しくありません。この場合、Agent は
- 今どこまで終わったのか
- 何が未完了なのか
- 次に何を実行するべきなのか
を覚えておく必要があります。
Context Compressionとの違い
Context Compression は、「LLM に何を渡すのか」という問題を解決します。State Management は「今どこにいるか」を解決します。
Long-term Memory → 何を覚えるか
Context Compression → 何を取り出すか
State Management → 今どこにいるか
まとめ
今回は AI エージェントを支える基盤技術の一つである State Management について見てきました。長期間にわたるタスクを安定して実行するためには、
- 過去を覚える
- 必要な情報を取り出す
- 現在地を把握する
のすべてが必要になります。
Long-term Memory が「過去を覚える」仕組みであり、Context Compression が「必要な情報を取り出す」仕組みであるのに対して、State Management は「エージェントが今どこにいるのか」を管理する仕組みです。
Long-term Memory は「過去」、
Context Compression は「必要な情報」、
State Management は「現在地」
を扱います。
次回は、Agent がどのように多数のツールの中から最適なものを選択するのかを支える Tool Use / Dynamic Tool Selection について見ていきます。
State が分かったとしても、「次に何をすべきか」
までは自動的には分かりません。そこで重要になるのが Tool Use / Dynamic Tool Selection です。