参考: DataWhale wow agent コースhttps://github.com/datawhalechina/wow-agent
Agents のコアコンポーネント#
完全な Agent は主に 3 つのコアコンポーネントで構成されています:
1. モデル (Model):
- 役割:Agent の「脳」として、ユーザーの入力を理解し、推論と計画を行い、適切なツールを選択して実行します。
- タイプ:一般的なモデルには ReAct、Chain-of-Thought、Tree-of-Thought などがあり、これらは異なる推論フレームワークを提供し、Agent が多段階の対話と意思決定を行うのを助けます。
- 重要性:モデルは Agent のコアであり、その推論能力が Agent の行動効率と正確性を決定します。
2. ツール (Tools): - 役割:Agent と外部とのインタラクションの「橋」として、Agent が外部データやサービスにアクセスし、さまざまなタスクを実行できるようにします。
- タイプ:ツールはさまざまな API であり、例えばデータベースクエリ、検索エンジン、コード実行器、メール送信器などがあります。
- 重要性:ツールは Agent の能力を拡張し、より複雑なタスクを実行できるようにします。
3. オーケストレーション層 (Orchestration Layer): - 役割:Agent の内部状態を管理し、モデルとツールの使用を調整し、目標に基づいて Agent の行動を指導します。
- タイプ:オーケストレーション層はさまざまな推論フレームワークを使用でき、例えば ReAct、Chain-of-Thought などがあり、Agent の計画と意思決定を助けます。
- 重要性:オーケストレーション層は Agent の「指揮センター」であり、各コンポーネントを調整し、Agent の行動が目標に合致するようにします。
Agents の運用メカニズム:入力から出力まで#
Agent の運用プロセスは以下のいくつかのステップに要約できます:
- 入力を受け取る:Agent はユーザーの指示や質問を受け取ります。
- 入力を理解する:モデルはユーザーの意図を理解し、重要な情報を抽出します。
- 推論と計画:モデルはユーザーの入力と現在の状態に基づいて推論と計画を行い、次の行動を決定します。
- ツールを選択する:モデルは目標に基づいて適切なツールを選択します。
- 行動を実行する:Agent はツールを使用して行動を実行します。例えば、データベースをクエリしたり、メールを送信したりします。
- 結果を取得する:Agent はツールが実行した結果を取得します。
- 結果を出力する:Agent は結果をユーザーに出力するか、次の行動を行います。
Agents の応用:スマートカスタマーサポートからバーチャルアシスタントまで#
Agents の応用範囲は非常に広範で、例えば:
- スマートカスタマーサポート:Agent はユーザーの質問に自動的に回答し、注文を処理し、顧客の問題を解決し、顧客満足度を向上させます。
- パーソナライズド推薦:Agent はユーザーの興味や行動に基づいて商品、コンテンツ、サービスなどを推薦し、ユーザー体験を向上させます。
- バーチャルアシスタント:Agent はユーザーのスケジュール管理、旅行の予約、メール送信などを手助けし、作業効率を向上させます。
- コード生成:Agent はユーザーの要求に基づいて自動的にコードを生成し、開発効率を向上させます。
- スマートクリエイション:Agent はユーザーの要求に基づいて詩、小説、脚本などを創作し、創作のインスピレーションを刺激します。
- 知識グラフ構築:Agent はテキストから知識を抽出し、知識グラフを構築し、知識管理と推論に使用します。
Agents の開発ツール:LangChain から Vertex AI まで#
Agents の開発を便利にするために、Google はさまざまなツールとプラットフォームを提供しています。例えば:
- LangChain:開発者が Agents を構築および展開するのを助けるオープンソースライブラリです。LangChain は一連の API を提供し、開発者が LLMs とツールおよびオーケストレーション層を組み合わせて強力な Agents を構築するのを容易にします。
- LangGraph:開発者が Agents を構築および視覚化するのを助けるオープンソースライブラリです。LangGraph はグラフィカルインターフェースを提供し、開発者が Agents を設計およびテストするのを容易にします。
- Vertex AI:さまざまな AI ツールとサービスを提供するクラウドプラットフォームで、例えば Vertex Agent Builder、Vertex Extensions、Vertex Function Calling などがあり、開発者が迅速に Agents を構築および展開するのを助けます。Vertex AI は強力なインフラストラクチャとツールを提供し、開発者が Agent の開発、テスト、展開、管理を行うのを容易にします。