ADK-Rust 公式ドキュメント
ADK-Rust(Rust 向け Agent Development Kit)の公式ドキュメントへようこそ。このドキュメントでは、ADKフレームワークの Rust 実装を使用して AI エージェントを構築するための包括的なガイドとリファレンスを提供します。
はじめに
- 概要 - ADK-Rustの概要、そのアーキテクチャ、主要な概念
- クイックスタート - 5 分以内に埋め込み UI で最初のエージェントをスキャフォールドし、実行してテストする
- A2UI クイックスタート - A2UI JSONL を出力し、React でレンダリングする
- 1.0 から 2.0 への移行 - 変更前後のコードを含む完全な破壊的変更一覧
コア
- コア型 - 基本型:Content、Part、Agent トレイト、Tool トレイト、コンテキスト
- Runner - エージェント実行ランタイムと設定
- プラグイン - ツールやモデルのインターセプトおよびミドルウェア用のライフサイクルフック
モデル
- モデルプロバイダー - LLMの統合:Gemini、OpenAI、Anthropic、DeepSeek、Groq、Ollama
- Ollama - Ollama によるローカル推論
- mistral.rs 統合 - 高性能なローカル推論のためのネイティブ mistral.rs
エージェント
- LlmAgent - 大規模言語モデルを使用するコアエージェント型
- CodeAgent(CodeAct) -
CodeRuntimeを介してコードを記述・実行することで動作する - ワークフローエージェント - 決定論的エージェント:Sequential、Parallel、Loop
- マルチエージェントシステム - サブエージェントによるエージェント階層の構築
- グラフエージェント - LangGraphスタイルのワークフローオーケストレーション
- リアルタイムエージェント - OpenAI/Gemini による音声対応エージェント
コーディングエージェント
ネイティブなコーディングエージェント:サンドボックス化されたワークスペースでコードを読み取り・編集・実行し、自律的な目標達成モードと並列ウルトラレビュー・ワークフローを実現します。
- 概要 - まずはこちら:構成要素、インストール、60秒クイックスタート
- 開発ツール -
adk-devtools:read/write/edit/glob/grep/bash + サンドボックス化されたWorkspace - ハーネス -
CodingAgent(coding機能)、計画ループ、write_todos - CLI -
adk-rust code/goal(永続的、再開可能) /ultracode - ワークフロー -
adk-graphでのウルトラレビュー:並列レビュアー + fan-in - 例 - 実行可能な3つの例のcrate
リアルタイムとマルチモーダル
音声・マルチモーダルエージェントの構築を解説する、初心者向けの専用ガイドです。アーキテクチャ、概念、実行可能な例を扱います。
- 概要 - まずはこちら:メンタルモデル、インストール、60秒クイックスタート
- アーキテクチャ - 4つのレイヤー、イベントループ、オーディオパイプライン、ターンのライフサイクル
- プロバイダー - OpenAI RealtimeおよびGemini Liveモデル、音声、選び方
- ツール - サーバー側アクション:ネイティブハンドラー、ブリッジされた
adk_core::Tools、並列呼び出し - マルチモーダル -
send_video_frame経由の動画入力とブラウザカメラのキャプチャ - 感情を考慮した対話 - Gemini native-audioでの感情認識型レスポンス
- メモリ - コンテキスト注入、ターンの保存、ナレッジグラフの自己キュレーション
- Webアプリの構築 - サーバー側ブリッジ、WSプロトコル、Web Audio
- 例 - 実行可能な4つの例と推奨される学習パス
ツール
- 関数ツール - 非同期 Rust 関数でカスタムツールを作成
- 組み込みツール - GoogleSearchTool のような事前構築済みツール
- MCP の概要とアーキテクチャ - MCP の位置付けと、使用すべき ADK-Rust サーフェス
- MCP クライアント - ツール、リソース、プロンプト、補完、サブスクリプション、情報要求、タスク、HTTP
- 動的 MCP サーバーマネージャー - 実行時のローカルサーバーレジストリ、永続化、監視、再起動
- MCP サーバーの作成 - 準拠した公式 Rust SDK でツールやその他の機能を公開
- MCP セキュリティ - 認証、可視性、認可、承認、シークレットの取り扱い
- MCP テスト - 決定論的なゲートとデプロイ検証
- ブラウザーツール - Web 自動化のための 46 個の WebDriver ツール
- UI ツール - フォーム、カード、チャートによる動的な UI 生成
- RAG - ナレッジベース検索のための検索拡張生成
- ACP ツール - ACP コーディングエージェントを型付き ADK-Rust ツールとして使用
- リトライとリフレクション - リフレクションプロンプトによるツール失敗からの復旧
- アクションノード - ワークフローグラフ向けの 14 種類の決定論的ノードタイプ
- ベンチマーク -
cargo adk benchによるパフォーマンス測定
エージェントクライアントプロトコル
ADK-Rust の外部コーディングエージェントを使用するか、ADK-Rust エージェントを 安定した ACP v1 を通じてエディターに公開します。
- アーキテクチャと概念 - クライアント/ホストとコーディングエージェントの役割、セッション、機能、プロトコルフロー
- ACP クライアントとホスト - 委譲、永続セッション、ストリーミング、キャンセル、権限、ファイル、ターミナル、MCP
- ACP エージェントサーバー - stdio を介して Runner、ツール、セッション、ライブイベントを公開
- テストとサポートマトリックス - 検証済みの相互運用性と、意図的に広告されていない機能
セッションと状態
メモリ
セッションより長く存続する長期メモリ — セッション状態に対応する永続的な仕組みです。セマンティックストアとバイテンポラル知識グラフの両方を扱う、専用の初心者向けガイドです。
- 概要 - ここから開始:2 種類のメモリ、メンタルモデル、インストール、クイックスタート
- 概念 -
MemoryEntry、MemoryServiceトレイト、検索、プロジェクトスコープ、GDPR 消去 - バックエンド - 6 つのストア(InMemory、SQLite、Postgres+pgvector、Redis、MongoDB、Neo4j)と選択方法
- 知識グラフ -
GraphMemoryService:エンティティ、観測、関係、そしてバイテンポラルが重要な理由 - ツールとエージェント - エージェントへのメモリの組み込み;
remember/relateとメモリツール
コールバックとイベント
アーティファクト
- アーティファクト - バイナリデータの保存と取得
可観測性
- テレメトリ - ロギング、トレース、モニタリング
デプロイメント
- ランチャー - コンソールまたはサーバーモードでエージェントを実行
- サーバー - REST APIおよびウェブ UI の統合
- A2Aプロトコル - エージェント間通信
- Agentic Web Protocol - エージェントネイティブなウェブサービス向けのAWPプロトコル
- Agent Engine - Gemini Enterprise Agent Platform へのデプロイ
評価
管理対象エージェント
- 管理対象エージェントランタイム - プロバイダーに依存せず、永続化および再開が可能なエージェント実行エンジン(試験的)
セキュリティ
- アクセス制御 - ロールベースの権限と監査ログ
- ガードレール - PII の編集、コンテンツフィルタリング、スキーマ検証
- メモリ - エージェント向けの長期的な意味メモリ
- 支払いとコマース - エージェント型コマースの利用過程、プロトコルのサポート、検証経路
コンプライアンス
- Vertex のみのデプロイ - HIPAA およびデータレジデンシーのワークロードで Gemini Studio(
generativelanguage.googleapis.com)のトラフィックが発生しないことを保証
Studio
- ADK Studio - エージェント構築のためのビジュアル開発環境
- アクションノード - 自動化ワークフロー向けの非LLMプログラムノード
- トリガー - ワークフロー向けの Webhook、スケジュール、イベントトリガー
開発
- 開発ガイドライン - 貢献ガイドとベストプラクティス
- Performance 0.8 - 最適化リリースの例と導入を重視した検証
検証状況
README と公式ドキュメントにある Cargo コマンドおよび依存関係スニペットは、scripts/check-doc-examples.sh によって検証されます。CI は scripts/check-cargo-adk-templates.sh を使用して cargo-adk のスキャフォールドもチェックし、scripts/check-example-name-collisions.sh によって重複した例のターゲット名を拒否し、cargo check --workspace --examples によってワークスペースの例をコンパイルします。