【AIエージェント】AIエージェントとは?
この記事の概要
この記事では、AIエージェントについて大まかに解説します。
この記事を読めば、AIエージェントの概要、どう設計されているか、AIが自律的に動くための工夫について、要点を理解できるようになります。
AIエージェントとは
LLMの強力な能力を、人間レベルのタスクに適用するためのシステムです。
AIエージェントは、人間がタスクを実行するときのプロセスである「記憶」「計画「行動」のモジュールを備え、特定の役割を担い、自律的に環境を感知し、学習し、進化することで、人間レベルのタスク遂行能力を目指します。
右の図は、AIエージェントの研究領域を表しています。
この図によると、プロファイルはあまり研究がされていないようですが、それ以外のPlanning, Memory, Action (Multi-agents)は、根本的な課題として研究が進められているみたいです。
参考:A Survey on the Memory Mechanism of Large Language Model based Agents (2024)
AIエージェントの構成要素
引用:A Survey on Large Language Model based Autonomous Agents (2023)
AIエージェントは、
- Profile(プロファイル)
- Memory(記憶)
- Planning(計画)
- Action(行動)
の4つのモジュールが存在します。
従来のLLMにおいて、
「Profile(プロファイル)」はプロンプトで定義される役割のようなもので、
「Memory(記憶)」は会話履歴やRAGのナレッジ、インターネット上のソースなどを活用する能力です。
AIエージェントと従来のLLMとの大きな差は、「Planning(計画)」と「Action(行動)」がある点です。
あるタスク解決において、人の手を必要とせず、「計画」と「行動」の試行錯誤を繰り返すことができるAIが「AIエージェント」と位置付けられています。
Profile(プロファイル)
「プロファイル」とは、AIエージェントにおいて、役割を定義し、LLMの振る舞いに影響を与えるための情報を指します。
エージェントが特定のタスクを遂行する際に、例えばコーダー、教師、領域エキスパートといった特定の役割を担うことを可能にすることが目的です。プロファイル情報は通常、LLMへのプロンプトとして組み込まれ、その振る舞いを左右します。
静的プロファイル
エージェントの 役割・人格・専門領域などをあらかじめ固定しておくプロファイルです。
最初にシステムプロンプトや設定ファイルに書き込まれ、その後は基本的に変わりません。
静的プロファイルは、FAQや単発タスクなどの単純な実装において、挙動が安定するため、広く利用されています。
具体的には、OpenAIのAPIを利用し、LLMの役割をシステムプロンプトに記述するなどが、静的プロファイルに当たります。
しかし、プロンプト固定の“Persona”だけでは限界があり、「メモリ+履歴更新」を組み込むフレームワーク(動的プロファイル)が主流になっています。
動的プロファイル
実行中に履歴や外部情報を取り込みながら更新されるプロファイルです。
エージェントの運用履歴、ドメイン専門知識、パフォーマンス指標、および応答傾向を捉えるために設計されています。
これはスキル、履歴、埋め込み、可用性という主要な要素から構成されます。
-
スキル
エージェントの事前に宣言された能力や専門分野を表します
-
履歴
最新のタスク結果、完了率、および評価スコアが含まれます。これは固定長ウィンドウ(例:最新10タスク)で更新され、動的な入力としてオーケストレーターに提供されます。
-
埋め込み
エージェントの潜在的な行動特性を要約する学習されたベクトルであり、定期的に更新されます。
-
可用性
エージェントが現在アイドル状態かビジー状態か、および最近の作業負荷レベルをモデル化します。
▶︎ 詳しくはこの記事で解説しています。【AIエージェント】Profile とは
Memory(記憶)
次の2つのメモリの定義があります。
狭義のエージェントメモリ
特定の試行の中で、エージェントが経験した履歴情報のことを指します。
過去の行動や観測結果など、同じ施行の中で起きた情報に限定されています。
広義のエージェントメモリ
ある特定の施行に加えて、異なる施行間での履歴情報や外部知識も含めた広範な記憶のことを指します。
過去の様々な経験から知識や情報全てがエージェントの意思決定に利用されます。
つまり、広義のエージェントメモリとは、
- 同じ施行内の情報 (狭義のメモリ)
- 異なる施行間の情報
- エージェントと環境の相互作用を超えた外部の情報
を含みます。
Memoryの役割
Memory(記憶)は、次の3つの操作を担当します。
- 記憶への書き込み
- 記憶の管理
- 記憶からの読み出し
▶︎ 詳しくはこの記事で解説しています。【AIエージェント】Memory とは
Planning(計画)
概要
AIエージェントの「計画」とは、目標達成のために一連の行動を構成・選択するプロセスです。
具体的には、タスクや目標に応じて、必要なステップを論理的・時系列的に整理し、エージェントがその通りに行動できるようにすることを指します。
なぜLLMベースのエージェントにPlanningが必要か?
- LLMは非常に強力な推論能力を持っていますが、そのままでは「複雑なタスクの段階的実行」には不向きです。
-
単発の出力だけでタスクを完了できない場面では、事前に「どんなステップで進めるか」を考えるPlanningが重要になります。
Planningの研究カテゴリ
-
タスク分解
複雑なタスクを複数のサブタスクに分解し、それぞれのサブタスクに対して計画を立てます。
-
マルチプラン選択
LLMに複数の代替計画を生成させ、探索アルゴリズムを用いて最適な計画を選択します。
-
外部プランナー支援計画
LLMと外部プランナーを統合し、生成された計画の効率性や実現不可能性の問題に対処します。
-
反省と洗練
AIエージェントが過去の失敗を振り返り、その反省に基づいて計画を洗練します。
-
記憶拡張計画
価値のある情報を保存する追加の記憶モジュールを導入し、計画を支援します。
▶︎ 詳しくはこの記事で解説しています。【AIエージェント】Planning とは
Action(行動)
概要
「Action(行動)」とは、AIエージェントが目的を達成するために実際に「手を動かす」部分です。
たとえば、人で言えば「本を探す」「資料を読む」「会話する」などの具体的な動作に相当します。
AIエージェントは、計画を立てたり、考えたりするだけではなく、実際に環境とやり取りして課題を進める必要があります。その時に行うのが「行動(Action)」です。
Tool(ツール)と呼ばれる、外部と連携するためのAPIや関数などを用いることで「行動」します。
役割
-
目標達成の手段
目標に向けた計画を実行するために、必要な一歩一歩を進めます。
-
環境とのインタラクション
周囲の情報を取得したり、外部システムにデータを送ったりします。
-
AIエージェントの中核
「脳(考える)」「知覚(情報を得る)」に続いて、「行動」があることでエージェントは自律的に動けます。
▶︎ 詳しくはこの記事で解説しています。【AIエージェント】Action とは
まとめ
AIエージェントを、「Profile(プロファイル)」「Memory(記憶)」「Planning(計画)」「行動(Action)」の4つのコンポーネントに分けて説明しました。
それぞれ詳しい記事もあるので、より知りたい方は、そちらもご覧ください。
参考
A Survey on Large Language Model based Autonomous Agents (2023)
Discussion