Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

エージェント型AI入門

これまでのパートでは、LLMを訓練し、アラインメントし、推論させるためのアルゴリズム上のツールキットを整えてきました。トランスフォーマーアーキテクチャとGPUシステム(第I部)、モデルを人間の意図に整合させる強化学習手法(第II部)、RL学習から生まれる推論能力(第III部)、評価方法論(第IV部)を扱いました。本パートでは、現代のAIエンジニアリングの中心的な問いに移ります。オープンエンドな環境で知覚し、計画し、行動し、学習する自律エージェントとして、これらのモデルをどのように配備するのでしょうか。

エージェント型AIシステム とは、LLMがループ内で動作するシステムです。環境から観測(ユーザーメッセージ、ツール出力、センサーデータ)を受け取り、次に何をすべきかを推論し、行動(ツール呼び出し、コード実行、APIリクエスト)を取り、目標を達成するか、人間の入力を明示的に求めるまで反復します。これは、モデルが1つの応答を生成して待つ「シングルターン・チャットボット」パラダイムとは対照的です。

チャットボットからエージェントへの移行は、単一のモデル呼び出しでは解決できない、いくつかの根本的な課題をもたらします。

  • 永続性: エージェントは、何を行い、何に失敗し、どのようなコンテキストが確立されたかを、ターン、セッション、さらには日をまたいで記憶しなければなりません。

  • グラウンディング: エージェントは、学習データに含まれていなかった最新かつドメイン固有の知識にアクセスしなければなりません。

  • 行動: エージェントは、明確に定義されたインターフェースを通じて、外部システム(データベース、API、ファイルシステム、ブラウザ)と対話しなければなりません。

  • 協調: 複雑なタスクは単一のエージェントの処理能力を超えることが多く、複数の専門エージェントが協力し、委任し、交渉しなければなりません。

  • 安全性: 自律的な行動には、ガードレール、人間による監督、エージェントが不確実なときの段階的な機能縮退が必要です。

これらの課題に対処するため、本番のエージェント型システムは層状アーキテクチャとして構築されます。各層が特定の問題を解決し、続く章ではスタック全体を下から上へ扱います。

  • 第16章:RAG(検索拡張生成) — 知識層。RAGはクエリ時に関連文書を検索することで、エージェントに動的な外部知識へのアクセスを与えます。これによりグラウンディングの問題を解決します。エージェントは、モデルが学習中に見ていない proprietary data、最近の出来事、ドメイン固有のコンテンツについて質問に答えられます。埋め込みモデル、ベクトルデータベース、チャンク分割戦略、ハイブリッド検索、エージェントがいつ何を検索するかを決めるエージェント型RAGのような高度なパターンを扱います。

  • 第17章:メモリ — 永続性層。メモリにより、エージェントは対話をまたいで情報を想起できます。単一タスク内の短期ワーキングメモリから、数か月にわたる長期エピソードメモリまでを含みます。メモリアーキテクチャ(バッファ、要約、ベクトルインデックス、知識グラフ)、メモリ統合、コンテキストウィンドウを圧迫せずに拡張できるメモリシステムの設計方法を扱います。

  • 第18章:ハーネスとオーケストレーション — ランタイム層。オーケストレーション・ハーネスはエージェントの「オペレーティングシステム」です。エージェントループ、コンテキストウィンドウの予算、ツールディスパッチ、エラー回復、状態の永続化、可観測性を管理します。コンテキスト管理戦略(要約、スライディングウィンドウ、階層化)、実行制御(逐次、並列、分岐)、ガードレール、Human-in-the-Loopのパターンを扱います。

  • 第19章:設計パターン — アーキテクチャ層。エージェントを構成する標準パターンとして、ReAct(推論と行動の交互実行)、計画してから実行、リフレクションループ、ツール拡張生成、多段階ワークフローを扱います。各パターンをいつ適用するか、その失敗モード、複雑な現実世界のタスク向けに組み合わせる方法を分析します。

  • 第20章:環境とベンチマーク — 評価層。エージェントの振る舞いをどこで、どのように評価するかを扱います。ウェブナビゲーションベンチマーク、コーディング環境、ツール利用評価スイート、多段階自律システムの評価に固有の課題(部分点、軌跡の品質、安全性違反)を取り上げます。

  • 第21章:MCP(Model Context Protocol) — ツール統合標準。MCPは、ハードウェアにおけるUSBに相当する形で、エージェントがツールを発見し呼び出す方法を標準化します。プロトコル仕様、サーバー/クライアントアーキテクチャ、リソース管理、エージェントとツール間のN\(\times\)M 統合問題を解消する仕組みを扱います。

  • 第22章:エージェントスキル — 能力層。スキルライブラリ、スキル選択、構成的なタスク解決を含め、基本的なツール利用を超えた専門能力をエージェントが獲得・合成する方法を扱います。

  • 第23章:A2A(Agent-to-Agent Communication) — エージェント間プロトコル。複数の専門家が必要なタスクに対し、A2Aはエージェントの発見、タスク委任、進捗ストリーミング、結果集約の標準プロトコルを提供し、異種エージェント(異なるベンダー、フレームワーク、組織のエージェント)の協働を可能にします。

  • 第24章:マルチエージェントシステム — 協調層。階層的委任、ピアツーピア交渉、議論と合意、群知能、創発的振る舞いなど、マルチエージェント協働のアーキテクチャを扱います。単一エージェント設計とマルチエージェント設計を使い分ける場面、協調の失敗をデバッグする方法を説明します。

  • 第25章:フレームワーク — 実装層。LangGraph(状態を持つグラフベースのオーケストレーション)、CrewAI(役割ベースのマルチエージェント)、OpenAI Agents SDK、AutoGenなど、上述の概念を実装する本番向けツールキットを扱います。トレードオフ、アーキテクチャ上の判断、用途ごとの適性を比較します。

  • 第26章:エージェント型UI — インタラクション層。ストリーミングインターフェース、段階的開示、承認ワークフロー、ステータスダッシュボード、自律システムへの適切な信頼を構築するUXパターンなど、ユーザーがエージェントと対話し監督する方法を扱います。

これらの層は独立して動作するのではなく、各コンポーネントが互いに依存し強化し合う、緊密に統合されたシステムを形成します。

  • エージェントコア (第II〜III部で扱った推論能力を持つLLM)が中心に位置し、知覚・推論・行動のループを実行します。

  • RAG は各推論ステップの前に関連知識をエージェントへ与え、 メモリ はステップやセッションをまたぐ継続性を提供します。

  • オーケストレーション・ハーネス はすべてを協調させます。いつ検索するか、いつツールを呼び出すか、いつサブエージェントへ委任するか、いつ人間に指針を求めるかを決めます。

  • MCP はエージェントがすべての外部ツールへアクセスする標準インターフェースを提供し、 A2A はエージェント間通信に同等のインターフェースを提供します。

  • 設計パターン は高レベルの戦略(ReAct、計画して実行、リフレクション)を定義し、 フレームワーク はこれらのパターンの具体的な実装を提供します。

  • UI層 はエージェントを人間へつなぎ戻すことでループを閉じ、監督、修正、協調的な問題解決を可能にします。

全体を通じてシステムの視点を維持します。エージェント型AIは単なるプロンプトの問題ではなく、すべての層でコンテキスト管理、エラー処理、安全性ガードレール、可観測性を注意深く設計する必要があります。下図は、これらのコンポーネントがアーキテクチャとしてどのように組み合わさるかを示します。