0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントを支える基盤技術③: State Management の仕組みと設計

0
Posted at

はじめに

前回の記事では 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 です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?