AIエージェントの理解を深める
はじめに
🤔 まずは、「LLM」と「AIエージェント」の違いを理解する
LLMは「単一な応答」が得意
従来のLLMとの対話では、以下の例のように「単一な応答」で問題解決をしてきました。
ユーザーのリクエスト:今日の東京の天気を教えて
応答(レスポンス):申し訳ありませんが、私はリアルタイムの天気情報にアクセスできません。私の知識は訓練データに基づいており、インターネットに接続していないため、現在の天気情報を確認することができません。天気予報を知るには、天気予報サイトやアプリをご利用いただくことをお勧めします。
このように従来のLLMは、訓練データ[1]を基に「単一な応答」で問題解決をしてくれました。
リアルタイム情報に関する回答には、Web検索機能(RAGの1つ) を使えば、上記の例の応答のように「できません」と言わずに、知識ベース[2]を基に素直に回答してくれます。
AIエージェントは「目標達成型の行動」が得意
LLMに対して、AIエージェントは、目標を達成するためにステップバイステップで思考し、必要であればツールを自律的に活用します。
ユーザーのリクエスト:私の友達に誕生日メールを書いて
応答(レスポンス):お友達への誕生日メールを作成しますね。どのような内容にしましょうか?お友達の名前、性別、年齢、関係性(親しい友人か仕事仲間か)、何か特別な趣味や最近のイベントなどあれば教えていただけますか?
それらの情報をもとに、パーソナライズされたメッセージを作成できます。フォーマルな文体か、カジュアルな文体かのご希望もあればお聞かせください。
AIエージェントは 「人間の代わりにタスクを実行するアシスタント」 のようなものです。LLMの能力を活用しつつ、より広範な問題解決のための仕組みを備えてます。
ここで少し「LLM」と「AIエージェント」の違いについて整理します。
LLM(大規模言語モデル)とは?
膨大なテキストデータから学習して言語を理解・生成できる人工知能モデルのことです。
✅️ LLM(大規模言語モデル)の特徴:
- 中核機能: テキストの生成、要約、翻訳、質問応答など、人間が使う言語(自然言語)の処理に特化した基盤的なAIモデル。
- 動作原理: テキスト形式の入力を受け取り、学習済みの膨大なテキストデータ(訓練データ)に基づいて、次に続く可能性の高いテキストを予測・生成します。最新のモデルでは単純な統計的予測を超えて、複雑な推論や理解に基づく応答も可能です。
- 知識の源泉: 基本的な応答は、開発時に学習した訓練データ内の情報に基づきます。RAG(検索拡張生成)を組み合わせることで、様々な外部知識ベース(Webだけでなく企業の内部資料やデータベースなど)から最新情報を参照し、回答に反映させることも可能。
- 能力の焦点: 高度な言語理解能力と生成能力を持ちますが、自律的に目標を設定し、計画を立てて外部システムと連携しながらタスクを遂行する能力は限定的。
AIエージェントとは?
ユーザーの特定の目標を達成するために、自律的に環境を認識し、自ら意思決定を行い、行動する能力を持つAIシステムのことです。
必要に応じて「ツール[3]」まで使用して、目標の達成を目指してくれます。
✅️ AIエージェントの特徴:
- 基盤技術: 多くの場合、LLMを推論や言語処理の中核エンジンとして利用するが、それに加えて自律的な行動を実現するための機能(計画立案、ツール連携、記憶管理など)を備えてる。
- 自律性と目標指向: 与えられた目標を理解し、それを達成するための行動計画を自ら立案・実行してくれる。単なる応答生成にとどまらず、能動的にタスクを進めてくれる。
- 外部連携能力(ツール): Web検索、データベースへのアクセス、ソフトウェアの操作、計算処理など、様々な外部ツールやAPIを必要に応じて活用し、目標達成のための具体的なアクションを実行可能。
- 適応性と継続性: 長期的な文脈や過去の対話履歴を記憶し、複数のステップにまたがる複雑なタスクを継続的に実行できる。また、環境からのフィードバック(実行結果やエラー)に基づいて行動を修正・調整する能力を持ってる。
AIエージェントにおいてのモデル
上記で解説した通り、AIエージェントは「人間の脳」に近い働きをします。
この「人間の脳」に近い働きを行うために、モデル(LLM)を利用しています。
AIエージェントにおける「モデル」とは、人間でいう「脳」を指します。
このモデル(脳)のおかげで、AIエージェントは「単一な応答」だけでなく、僕達の目標を達成するために「自律的に行動」してくれるようになっています。
ですので、AIエージェントはLLMをモデル(脳)として「利用」しますが、LLMそのものではありません。
以下のように擬人化で例えると、分かりやすい(?)と思います。
-
LLM:めちゃくちゃに賢い「指示待ち人間」
- こちらのリクエスト(質問)に何でも答えてくれるが、自律的ではない。
-
AIエージェント:めちゃくちゃに賢い「主体的人間」
- こちらのリクエストに基づいて、自律的に動いてくれて、目標を達成するために便利ツールとかまで使って行動してくれる。
このように、LLMとAIエージェントは密接に関係していますが、イコールではありません。
🏗️ 「AIエージェントアーキテクチャ」とは?
AIエージェントがどのように設計され、構築されているかを理解するための重要な概念が 「アーキテクチャ」 です。アーキテクチャは、AIエージェントの構成要素がどのように組み合わされ、どのように連携して機能するかを定義します。
基本的なアーキテクチャタイプ
1. シングルエージェントアーキテクチャ
- 特徴: 1つのAIエージェントが全てのタスクを管理
- メリット: シンプルで実装が容易、一貫性のある応答
- デメリット: 複雑なタスクや多様な専門知識が必要な場合に限界がある
2. マルチエージェントアーキテクチャ
- 特徴: 複数の専門化されたエージェントが協力して問題解決
- メリット: 複雑なタスクの分散処理、専門分野ごとの最適化
- デメリット: エージェント間の調整が複雑、実装コストが高い
主要な意思決定パターン
ReAct (Reasoning + Acting) パターン
思考 → 行動 → 観察 → 思考 → ...
エージェントが推論を行い、それに基づいて行動し、結果を観察して次の推論に活かすサイクルを繰り返す方式です。多くのAIエージェントの基本となる思考プロセスです。
Chain of Thought (思考連鎖)
複雑な問題を解く際に、段階的な思考プロセスを明示的に記述しながら進める方法です。これにより論理的な推論能力が向上します。
Plan-and-Execute (計画と実行)
最初に全体計画を立て、それから順次実行していく方式です。複雑なタスクを管理可能な小さなステップに分解するのに有効です。
コンポーネント構成
典型的なAIエージェントアーキテクチャは以下のコンポーネントで構成されます:
-
中核エンジン (Core Engine)
- 主にLLMが担当
- 自然言語理解、推論、生成の中心
-
ツールマネージャー (Tool Manager)
- 利用可能なツールを管理
- 適切なタイミングでツールを呼び出す
- ツールの実行結果を処理
-
メモリマネージャー (Memory Manager)
- 短期・長期記憶を管理
- コンテキストウィンドウの最適化
- 関連情報の検索と取得
-
プランナー (Planner)
- タスクの分解と計画立案
- サブタスクの優先順位付け
- 計画の実行監視と調整
-
フィードバックループ (Feedback Loop)
- 行動結果の評価
- 自己修正メカニズム
- 継続的な学習と改善
フレームワーク実装の違い
LangChainとMastraのようなフレームワークは、これらのアーキテクチャ要素を実装する方法に違いがあります:
- LangChain: モジュール性を重視し、チェーン(Chains)の概念を中心に、複数のコンポーネントを連携させる柔軟な構造
- Mastra: よりシンプルなAPIと直感的な設計で、特にTypeScriptでの型安全性とユーザーフレンドリーな開発体験に焦点
これらのフレームワークは進化し続けているため、基本的なアーキテクチャ概念を理解しておくことが、新しいフレームワークへの適応やカスタムソリューションの構築に役立ちます!
🔍️ RAG(Retrieval-Augmented Generation)とは?
RAG(Retrieval-Augmented Generation)とは、
LLM(大規模言語モデル)の応答生成能力を、外部ソースからの情報検索(Retrieval)によって強化(Augmented)する技術とか仕組みのことです。
RAGは、「検索拡張生成」 とも呼ばれます。
RAG「ラグ」って読むみたいです。
🛠️ 「ツール」とは?
AIエージェントの能力を大幅に拡張する重要な要素が 「ツール」 です。
AIエージェントが特定のタスクを実行するために利用できる 「外部機能」 や 「API」 のことです。これによりエージェントは、自身の基本的な言語処理能力[4]だけでは実行できない専門的なタスクや外部システムとの連携を実現できます。
🧠 「メモリシステム(記憶機能)」とは?
AIエージェントの機能を支える重要な要素の一つが 「メモリシステム(記憶機能)」 です。
この記憶機能によって、エージェントは単なる一問一答を超え、継続的で文脈に即した対話や行動が可能になります。
AIエージェントの主要な記憶機能は以下です。
短期記憶
機能:
- 現在進行中の会話や最近のやり取りを保持できる
特徴:
- 会話の流れを維持し、代名詞や省略された表現の理解を可能に
- 通常はトークン数や時間的な制限あり(例:8K~32Kトークン程度)
- 記憶の「風化」機能を実装しているものも(古い情報の重要度を下げる)
長期記憶
機能:
- ユーザー情報や過去のやり取りに関する情報を長期に保存
特徴:
- ユーザー固有の情報、好み、過去の指示などを保存。
- ベクトルデータベースやその他のデータストアに保存される構造化/非構造化データ。
- 必要に応じて検索・参照可能。
メモリシステムは、AIエージェントがより人間らしく、一貫性のある対話や行動を実現するための核心的な要素であって、今後の研究開発によってさらに高度化していくことが考えられてるみたいです!
さいごに
AIエージェントの理解を深めるために、記事でアウトプットしました。b
AIもどんどん人間っぽくなってきてますよね、、、感動です。
AIとの生活、楽しんでいきたいですね 🤝
関連記事
Discussion