ADK-Rust 2.0

Rust フレームワーク高性能、すぐに本番環境に対応AIエージェント。

ADK-Rust は、型指定されたエージェント、ツール、永続状態、リアルタイム メディア、およびオープン プロトコルを 1 つの非同期ランタイムに統合するため、集中的なエージェントから自信を持って運用できるシステムに移行できます。

作業単位から始める

ADK-Rust の観点から AI エージェントとは何ですか?

エージェントは非同期 Rust コンポーネントです。呼び出しコンテキストを受け取り、モデルまたはツールを使用して作業を実行し、進行に応じて型指定されたイベントを発行します。 LLM エージェント、ワークフロー、リアルタイム エージェント、コーディング エージェント、およびカスタム Rust エージェントはすべて、この共有コントラクトを使用します。

ADK-Rust を魅力的なものにしているのは、エージェントがユーザーが理解して制御できるソフトウェア システムの一部であることです。モデル呼び出し、ツール入力、状態変更、承認、およびストリーミング イベントには、明示的な Rust コントラクトがあります。同じランタイムで、Rust チームが期待するパフォーマンス、同時実行性、移植性、運用規律を維持しながら、集中的なアシスタント、耐久性のあるマルチエージェント ワークフロー、リアルタイムの音声エクスペリエンス、または複数のサービスにわたって機能するエージェントをサポートできます。

LangGraph、Google ADK、OpenAI Agents SDK、または CrewAI を知っている場合は、ツール、ハンドオフ、ワークフロー、メモリ、ガードレール、およびトレースを認識できるでしょう。 ADK-Rust は、これらのアイデアを Rust ネイティブ ランタイムに取り入れ、リアルタイム メディア、コード実行、RAG、アーティファクト、および MCP、A2A、ACP、AWP などのオープン プロトコルと接続します。バージョン 2 では、グラフ、リアルタイム、コーディング、および CodeAct エージェントによってその基盤が拡張されています。プロバイダー対応ツールのスキーマ。構成可能なプロジェクト テンプレートと カーゴADKビルド;より強力な状態および運用管理。そして、最初のモデル呼び出しから本番環境までの一貫した型付きイベント追跡。

ADK-Rust v2 ランタイム アーキテクチャ製品サーフェスはリクエストを ADK Runner に送信します。ランナーは、型指定されたイベントを通じて、エージェントの形状、モデル プロバイダー、ツール、状態サービス、オープン プロトコル、および運用制御を調整します。ADK-Rust v2 — 1 つのリクエストでシステム全体オレンジ色の実線: 実行 · 灰色の点線: イベント、結果、再開 · 紫色の境界線: オープン プロトコル製品の表面ウェブとモバイルUI / API クライアント音声とビデオリアルタイムクライアントその他のエージェントA2A / ACP / AWPCLI と仕事カーゴ-adk / cronADK 実行ランタイムRunnerセッション · 呼び出しコンテキスト · キャンセル · コールバック · イベントストリームジョブのニーズに合わせてエージェントを選択LLM エージェント理由 + ツールワークフローシーケンス / パラレル / ループグラフチェックポイント + HITLCodeActコードを書いて実行するリアルタイム音声+ビデオカスタムエージェントを実装する型付きイベントストリームモデル テキスト、ツール呼び出し、進行状況、状態デルタ、アーティファクト、転送、エラーエージェント周辺の機能モデルプロバイダーGemini · OpenAI · AnthropicOllama · Bedrock · Azure AIツールとスペシャリスト#[tool] · skills · browserMCP · ACP · code sandbox状態と知識sessions · memory · RAGartifacts · graph checkpointsメディアとインターフェースaudio · video · A2UIREST · SSE · WebSocketエージェントプロトコルA2A · AWPdiscovery · task contractsコマース・進化するACP commerce · AP2 alphadurable transaction journals走る電話する結果イベントの発行プロトコルと展開の境界REST / SSEA2AACPAWPMCPWebSocketプロトコルはシステム境界でランタイムを適応させます。彼らはそれを置き換えません。認証・ツール認可・ガードレール・サンドボックス・プラグイン・テレメトリ・評価・再試行/キャンセルコンパニオン製品Studio · UI · プレイグラウンド · エンタープライズ プラットフォーム

アーキテクチャの読み方

図の左から右へ進みます。製品サーフェスは Runner にリクエストを送信します。 Runner はセッション状態と呼び出しコンテキストをアタッチし、選択したエージェントを呼び出します。モデル、ツール、状態は作業をサポートし、型指定されたイベントは進行状況と結果を返します。

ランタイムの内部

Runner、エージェント、型付きイベント、モデル/ツール ループ、セッション、コールバック、転送、キャンセル。

境界で

MCP、A2A、ACP、AWP、HTTP、SSE、およびリアルタイム トランスポートは、別個のシステムと信頼ゾーンに接続します。

枠の外

Studio、UI、プレイグラウンド、およびコントロール プレーンは ADK-Rust を消費します。 Runner 内では実行されません。

フレームワークの表面

アーキテクチャの背後にある機能。

ADK-Rust は、エージェントのライフサイクル全体を 1 つのフレームワークにまとめます。つまり、エージェントの動作を構成し、ツールを提供し、コンテキストを保持し、他のシステムに接続し、運用環境で安全に操作します。以下のグループは、これらの機能がどのように連携するかを示しています。

LLM、ワークフロー、グラフ、リアルタイム、コーディング エージェントを構築します。入力されたツール、MCP、RAG、メモリ、セッション、アーティファクトを装備します。 REST、A2A、ACP、および AWP を介して接続します。次に、実稼働用の承認、ガードレール、テレメトリ、および評価を追加します。

作曲する

作曲する capability

LlmAgent

The main model-driven agent. Give it instructions, an LLM, tools, callbacks, and optional sub-agents; the Runner streams its work as typed events.

行為

行為 capability

#[tool]

Turns a typed async Rust function into a model-callable tool and derives the argument schema from Rust types.

覚えておいてください

覚えておいてください capability

sessions

Keep conversation events and application state together so a user can continue the same interaction over multiple turns.

接続する

接続する capability

REST

Exposes familiar HTTP endpoints for clients that send a request and receive a structured response.

操作する

操作する capability

auth

Establishes who is calling the system through API keys, OAuth, OIDC, SSO, and application identity.

ビルドする

ビルドする capability

12 templates

Generate working starting shapes for focused agents, tools, retrieval, APIs, workflows, realtime sessions, and custom logic.

どのように機能するか見てみましょう

作業中に作業を見せます。

Runner は、セッションを解決し、呼び出しコンテキストを構築し、エージェントを実行し、モデルとツールの作業をストリーミングし、状態の変更を適用し、永続的なイベントを保持し、発生時に呼び出し元に進行状況を返します。

同じトレイルを、端末、Web UI、API クライアント、評価、またはリアルタイムの会話にフィードできます。

実際のリクエストに従う

顧客が「なぜ支払いが失敗したのですか?」と尋ねました。 Runner は、正しいセッションを開き、モデル出力とツール アクティビティをストリーミングし、状態変化を記録し、有用な各イベントをインターフェイスに返します。ユーザーは進行状況を確認し、オペレーターは完全な実行記録を取得します。

ADK-Rust による 1 回の呼び出しリクエストはセッションをロードし、ランナーに入り、モデルとツールの作業をループし、型指定されたイベントを発行し、応答が返されるまで状態とアーティファクトを保持します。ランタイムを通じて 1 つのリクエストに従いますブラック ボックスに消えるものは何もありません。各ステージでは型指定された状態またはイベントが生成されます。リクエストコンテンツ + アイデンティティセッションのロード歴史+状態Runnerコンテキスト + ライフサイクルエージェント次のステップを決めるモデルストリーム応答ツールシステムに基づいて行動するイベントUI/サーバー軌跡を維持するセッション イベント · 状態デルタ · メモリ · アーティファクト · グラフ チェックポイント · 評価トレース

動作を構成する

ジョブが大きくなったら、スレッドを失わずに作業を分割します。

マルチエージェントパターンを研究する

ルーターは、実行する必要がある作業を識別します。専門家は自分が最もよく理解している部分を扱います。シーケンシャルおよびパラレル ワークフローは実行順序を制御し、グラフ チェックポイントは同じジョブに関連付けられた証拠、承認、および進行状況を保持します。

高度な ADK-Rust マルチエージェント顧客運用ワークフロー顧客アクセス インシデントは、並行アカウント、支払い、プラットフォーム エージェントにルーティングされます。これらは、MCP および A2A システムを使用し、共有チェックポイントが設定された状態に証拠を書き込み、再試行、承認、アクション、および監査パスを含むスーパーバイザー グラフに収束します。制御を失うことなく実際の顧客インシデントを解決する使用例: 「支払いは成功しましたが、チームのワークスペースはまだロックされています。」ワークフローでは、事実を確立し、安全な救済策を選択し、結果として生じる措置の承認を要求し、証拠の証跡を残す必要があります。お客様ウェブ・音声・APIトリアージルーターLlmConditionalAgent分類する · 緊急性を設定する · 専門家を選択するリクエスト並行調査 · ParallelAgentアカウントエージェントアイデンティティ + 権利顧客、チーム、アクセス状態を読み取ります決済代行業者請求+トランザクション料金、請求書、プランを調整しますプラットフォームエージェントランタイム + プロビジョニングロック、ジョブ、サービスの健全性をチェックしますファンアウトシステムの境界CRM + アイデンティティMCP リソース/ツールERP + 支払いMCP + コマース ジャーナルプロビジョニングサービスA2A リモート エージェント共有インシデント状態 + グラフ チェックポイントcustomer_id · 支払い証拠 · 資格状態 · プラットフォームの健全性 · 信頼性 · 提案されたアクションすべての専門家はタイプ付きの証拠を作成します。再試行と人間による割り込みは同じチェックポイントから再開されます。スーパーバイザーグラフ証拠を総合するGraphAgent事実を比較し、信頼性をスコアリングする証拠は十分ですか?条件付きエッジ準備ができている/調査するもう一度調べてくださいLoopAgent + 反射欠落しているブランチのみを再試行します承認ゲートグラフ割り込みロック解除/返金には人が必要です順番に行動するSequentialAgent行方不明選ばれたスペシャリストを履歴書に入れる準備完了結果の流れ復元されたワークスペース · 顧客応答 · 証拠アーティファクト · セッション イベント · 監査記録 · テレメトリ トレース · 評価サンプル認証・RBAC・ツール確認・ガードレール・キャンセル・サンドボックス・テレメトリ・評価が呼び出し全体を取り囲む
グラフは、1 人のエージェントにすべてを即興で行うよう求めているわけではありません。ルーティングによって問題が絞り込まれ、専門家が同時に調査し、共有された状態で証拠の一貫性が保たれ、結果として生じるアクションは明示的な承認境界の背後に残ります。

LlmAgent

集中的な推論

モデル、命令、ツール、コールバック、ストリーミング出力は、ほとんどのシステムの小さくて便利な中心です。

Sequential · Parallel · Loop

決定的な作業

順序、同時実行性、繰り返し、および終了条件を Rust プログラムで直接表現します。

GraphAgent

耐久性のあるオーケストレーション

分岐、チェックポイント、人のために中断し、プロセスまたは会話が進んだ後に再開します。

CodingAgent · CodeActAgent

アクションとしてのソフトウェア

エージェントは、管理するワークスペースとサンドボックスの境界内でコードを検査、編集、実行できます。

RealtimeAgent

ライブ会話

1 つのライブ セッションを通じて、オーディオ、トランスクリプト、ビデオ フレーム、中断、サーバー側ツールを伝送します。

CustomAgent

独自のランタイムロジック

Rust で直接記述された製品固有の動作のエージェント コントラクトを実装します。

エージェント周りのシステム

模型は商品の一部です。

有用なエージェントには、ツール、状態、インターフェース、境界、証拠が必要です。 ADK-Rust は、所有する構成可能な Rust インターフェイスを通じて各部分を公開します。

1 つの製品に複数の責任

カスタマー サポート製品では、モデルが応答を作成し、ツールが注文を検査し、セッションが顧客コンテキストを伝達し、承認が返金を制御し、アーティファクトが受領書を保存し、テレメトリが結果を記録します。各責任は実行時に表示されたままになります。

完全な ADK-Rust エージェント製品アーキテクチャインターフェイスは、エージェント ロジック、交換可能なモデル アダプター、ツール、状態およびナレッジ サービスを調整する ADK-Rust ランタイムに入ります。型指定されたイベントは、共有コントロールの下で目に見える進行状況、成果物、アクション、監査記録、および評価証拠を生成します。便利なエージェント製品は完全なシステムですモデルは変更される可能性があります。契約、状態、ツール、管理、証拠はあなたのもののままです。人々とインターフェースウェブアプリケーションチャット、フォーム、成果物音声とビデオライブメディアセッションAPI & イベントREST ・ SSE ・ WebSocketその他のエージェントA2A ・ ACP ・ AWPADK-RUST ランタイムRunner + 型付きイベント ストリームセッション、コンテキスト、ライフサイクル、キャンセルエージェントロジック理由・ルートワークフローグラフ・HITLモデル/ツールループ電話をかける、観察する、承認する、再試行する、続行するモデル · 交換可能なアダプター 1 つプロバイダーホスト/ローカルスキーマprovider-awareツールと外部システムRust ツール#[tool]MCPツール・リソースブラウザウェブアクションスペシャリストACP · A2A状態、知識、耐久性のある仕事セッション記憶RAGアーティファクトチェックポイント製品が何を示すことができるかライブの進行状況トークン・ツールステータス・音声便利なアーティファクトファイル、レポート、メディア、UI承認されたアクション書き込み、支払い、受け渡し耐久性のある連続性セッション · メモリ · レジューム証拠イベント、監査、テレメトリー品質信号評価・コスト・レイテンシ型指定されたイベントはすべてのインターフェイスに返されます認証、アイデンティティ、ツール認可、承認、ガードレール、サンドボックス、キャンセル、テレメトリ、評価
モデルは、完成した製品内にインテリジェンスを提供します。つまり、人々が使用できるインターフェイス、動作できるツール、生き残る状態、リスクを抑制する制御、何が起こったのかを説明する証拠です。
モデル

エージェントを再設計せずにモデルを変更します。

ホストされたフロンティア モデル、高速ルーティング モデル、ローカル Ollama、およびネイティブの mistral.rs 推論は、共通の Llm コントラクトの背後にあります。

Gemini · OpenAI · Anthropic · OpenRouter · DeepSeek · Groq · Ollama · Bedrock · Azure AI · 互換性のあるエンドポイント

ツール

ツールは明示的で検査可能なコントラクトを使用します。

型指定された Rust 関数、MCP サーバー、スキル、ブラウザー セッション、コーディング エージェント、またはサンドボックス プロセスを、ランタイムが検査して呼び出すことができる機能に変換します。

#[tool] · FunctionTool · MCP · ACP · スキル · ブラウザ · コード

会話と、それによって生み出された成果を維持してください。

セッションはイベント履歴を保持します。記憶は有用な知識を引き出します。アーティファクトはファイルを保存します。グラフ チェックポイントにより、長時間の作業を再開できるようになります。

SQLite · PostgreSQL · Redis · MongoDB · Firestore · Neo4j · 暗号化セッション

リアルタイム

ライブ エージェントは単なる音声エンドポイントではありません。

ADK-Rust は、Rust が所有するセッション内のオーディオ、トランスクリプト、ビデオ フレーム、ツール呼び出し、中断、およびコンテキストの変更を保持します。

OpenAI Realtime · Gemini Live · Vertex Live · LiveKit · オプションの WebRTC

知識

取得を同じ実行トレイルに組み込みます。

モデルが応答する前に、ドキュメントをチャンク化して埋め込み、ベクター ストアを検索し、結果を再ランク付けし、プロジェクトごとにメモリを分離します。

RAG パイプライン · セマンティック メモリ · ナレッジ グラフ · 5 つのベクトル ストア実装

制御

アクションが発生する場所に承認を与えます。

承認、コールバック、ガードレール、サンドボックス プロファイル、キャンセル、テレメトリ、および評価は、実稼働環境の実行境界を形成します。

RBAC · OAuth/OIDC · ツール確認 · PII ガードレール · OpenTelemetry · 評価

境界を選択してください

距離に応じたプロトコルを使用してください。

機能が実行される場所から始めます。

サブエージェントが展開、状態、信頼を共有する場合、サブエージェントを 1 つの ADK-Rust ランタイム内に保持します。機能、エージェント、コーディング ワークスペース、または Web サイトに独自のデプロイメント、プロセス、所有権、または信頼境界がある場合は、プロトコルを導入します。

同じRustプロセス

エージェント、サブエージェント、またはツール

外部ツールまたはリソース

MCP

独立して導入されたエージェント

A2A

コーディングプロセスまたはIDE

ACP

エージェントが読み取り可能な Web サイト

AWP

MCP

モデルコンテキストプロトコル

エージェントに別の場所に存在する機能を与えます。

What is MCP?

エージェントが呼び出すことができるツールと読み取りができるリソースを外部サーバーが公開するための標準的な方法。

Why use this protocol?
データベース、SaaS 製品、ファイルシステム、ナレッジ ソースごとに特注のアダプターを作成する必要がなく、同じサーバーで複数のエージェントにサービスを提供できます。
How does ADK-Rust use MCP?
McpToolset はサーバーを ADK-Rust のツール コントラクトに接続します。ランタイムはスキーマを検出し、選択したモデル プロバイダー用に正規化し、MCP リソースを読み取ったり、ローカル MCP サーバー プロセスを管理したりできます。
When should I choose MCP?
機能が別のプロセスに属している場合、すでに MCP サーバーがある場合、または複数のエージェントおよびアプリケーション間で共有する必要がある場合は、MCP を使用します。
What connects through MCP?
The other side is an MCP server: for example a database gateway, business API, document store, developer tool, or internal service.
Explore MCP in ADK-Rust
A2A

エージェント間プロトコル

個別に配置されたエージェントが連携して動作できるようにします。

What is A2A?

リモート エージェントを検出し、その作業を送信し、進行状況を追跡し、HTTP 境界を越えて結果を受信するためのネットワーク プロトコル。

Why use this protocol?
スペシャリストは、独自のモデル、ツール、状態、リリース サイクル、展開、セキュリティ境界を維持できます。
How does ADK-Rust use A2A?
ADK-Rust は、A2A v1 サーバーおよびタスク操作を通じてエージェントを公開できます。コーディネーターは、ストリーミング イベントでジョブの進行状況を維持しながら、そのリモート サービスをスペシャリストとして扱うことができます。
When should I choose A2A?
エージェントが個別にデプロイ、スケーリング、所有、または保護されている場合は、A2A を使用します。これらの境界が存在しない場合は、通常のサブエージェントをプロセス内に保持します。
What connects through A2A?
The other side is another agent service—perhaps a research specialist, finance agent, partner agent, or a system owned by another team.
Explore A2A in ADK-Rust
ACP

エージェントクライアントプロトコル

ソフトウェアの作業を実際のコーディング エージェントに委任します。

What is ACP?

コーディング エージェントと、それをホストするクライアント (エディタ、CLI、オーケストレーション システムなど) との間のセッションを標準化するプロトコル。

Why use this protocol?
コーディング作業には、セッション全体を通じてワークスペースのコンテキスト、ストリーミングの進行状況、キャンセル、権限の決定が必要です。
How does ADK-Rust use ACP?
AcpAgentTool と AcpToolset を使用すると、ADK-Rust エージェントは ACP プロセスを開始または接続し、セッションを確立し、その作業をストリーミングし、結果をツール呼び出しとして返すことができます。オプションのサーバー側では、ADK-Rust エージェントを ACP クライアントに公開できます。
When should I choose ACP?
リポジトリの探索、実装、リファクタリング、テスト、または管理された開発ワークスペース内で発生する必要がある委任されたタスクには、ACP を使用します。
What connects through ACP?
The other side is an ACP-compatible coding agent or client, such as Codex, Claude Code, an IDE, or your own ACP implementation.
Explore ACP in ADK-Rust
AWP

エージェント Web プロトコル

エージェントがウェブサイトをスクレイピングする前に、ウェブサイトを理解できるようにします。

What is AWP?

サイトがそのサイトの正体、エージェントができること、適用されるポリシー、およびエージェント向けサービスが正常かどうかを公開する Web プロトコル。

Why use this protocol?
HTML はブラウザーに対してページを説明しますが、ビジネス機能、同意、信頼、制限、またはイベントを自律エージェントに対して説明することはほとんどありません。
How does ADK-Rust use AWP?
adk-awp は、ビジネス コンテキストを読み込み、検出および機能マニフェストを生成し、信頼を認識するレート制限、同意、イベント サブスクリプション、およびヘルス モニタリングのためにバージョン付き Axum ルートを追加します。
When should I choose AWP?
Web サイトまたはサービスを、脆弱なページの解釈のみに依存せずにエージェントが意図的に検出して使用できるようにする必要がある場合は、AWP を使用します。
What connects through AWP?
The other side is a visiting personal agent, enterprise agent, partner system, or agent-aware client that discovers and respects the site's published contract.
Explore AWP in ADK-Rust

開発者クイックスタート

ターミナルから作業エージェントまで、一度に 1 つの決定を行います。

小さくて動作する Rust プロジェクトから始めます。以下のガイド付き手順では、ジェネレーターが追加する内容、プロジェクトをローカルでコンパイルする方法、製品の成長に応じてプロジェクトを拡張する場所について説明します。

最後に得られるもの

型付きツールを備えたコンパイル済み Rust エージェント、インタラクティブな Launcher セッション、テレメトリ セットアップ、セッションとガードレールの統合ポイント、ターミナル内の実際のモデル応答。生成されたプロジェクトは、読み取り、変更、拡張できる通常の Rust ソースです。

始める前に

マシンには 2 つのものが必要です

01

Rust 1.95 以降。
Rustup を使用してインストールするか、安定したツールチェーンを更新します。

02

モデル API キー。
このパスでは、 GOOGLE_API_KEY;後で別のプロバイダーを選択できます。

01

ADK プロジェクト ジェネレーターをインストールする

カーゴ-adk は、エージェント プロジェクトの作成、検査、構築、およびデプロイに使用されるカーゴ adk コマンドを追加します。

cargo install cargo-adk
02

便利なスターター エージェントを作成する

入力された Rust ツールを呼び出すことができるエージェントから始めます。プロジェクトの生成中に、可観測性、セッション状態、およびガードレール フックを追加します。

cargo adk new support-agent --template tools \
  --addon telemetry --addon sessions --addon guardrails
03

モデルの認証情報を追加します

生成された例では、デフォルトで Gemini が使用されます。安全なサンプル ファイルをコピーし、追跡されていない .env ファイルにキーを配置します。

cd support-agent
cp .env.example .env
# set GOOGLE_API_KEY in .env
04

実行する前にコンパイルする

カーゴ ADK ビルドは、生成された依存関係、機能の組み合わせ、Rust タイプをチェックし、何もデプロイせずにバイナリをリリースします。

cargo adk build
05

走ってエージェントに話しかける

生成されたコンソールを起動し、メッセージを入力し、後で API、ワークフロー、またはリアルタイム製品を強化できる同じ型指定されたランタイムを監視します。

cargo run
サポートエージェント — zsh

一度インストールする

$ cargo install cargo-adk

プロジェクトを生成する

$ cargo adk new support-agent \
+  --template tools \
+  --addon telemetry \
+  --addon sessions \
+  --addon guardrails
作成されました support-agent/
├── Cargo.toml 依存関係 + 機能フラグ
├── src/main.rs エージェント + 型指定されたツール
├── .env.example 必要な構成
└── README.md プロジェクト固有の指示

モデルを構成する

$ cd support-agent
  cp .env.example .env
  # Add GOOGLE_API_KEY to .env

確認してから実行する

$ cargo adk build
  cargo run
実際の v2 の実行 · 入力されたツール呼び出し
  ADK-Rust — support-agent
    Type a message to chat. Type 'exit' to quit.

  You > Greet Ada casually.

  [tool] greet({"name":"Ada","style":"casual"})
  Hey Ada! What's up?

  You > exit

  Goodbye.
✓ プロジェクトがコンパイル済み · ランタイム準備完了 · ローカル検証完了

足場を理解する

コマンドがどのように組み立てられるかを見てください。

テンプレートは、動作するエージェントの形状を提供します。各アドオンは、必要なクレート機能、インポート、構成、および統合を完了するための明示的な場所に貢献します。

テンプレート

--template ツール

型指定された #[tool] 関数とモデル ツール呼び出しに必要なスキーマ ワイヤリングを備えた LLM エージェントを生成します。

Add-on

--addon テレメトリ

OpenTelemetry の統合を有効にして、モデル、ツール、ランタイムの作業を追跡できるようにします。

Add-on

--addon セッション

セッション サービス ワイヤリングを追加して、会話状態が 1 つのモデル呼び出しを超えて存続できるようにします。

Add-on

--addon ガードレール

入力検証、出力チェック、コンテンツ フィルタリングのための機能とクリア フックを追加します。

別の開始形状を選択してください

共通エージェント アーキテクチャの 12 の実用的な開始点。

有用な作品の最初の部分に一致する形状を選択してください。テンプレートは、編集可能な Rust ソース、依存関係、プロバイダー構成、および実行可能なエントリ ポイントを生成します。

完全なクイックスタートを開く
llmエージェントテンプレート

1 つの推論エージェントから始めます。

LlmAgentBuilder、Gemini モデルのセットアップ、手順、セッションベースの Launcher、および対話型ターミナルを生成します。

こんなときはこれを選んでください

アシスタント、抽出、分類、または焦点を絞ったモデルとツールのループに選択してください。

生成された開始点

1 つの LLM エージェント、ストリーミング コンソール、プロバイダー構成

cargo adk new my-agent --template llm
toolsエージェントテンプレート

エージェントに Rust アクションを入力します。

動作する #[tool] 関数、型付き引数、JSON スキーマ生成、および LLM エージェントへの登録を含む src/tools.rs を追加します。

こんなときはこれを選んでください

エージェントが計算、データの取得、ビジネス ロジックの呼び出し、またはアクションの実行を行う必要がある場合に選択します。

生成された開始点

LlmAgent · 挨拶ツール · serde · schemars · adk-tool

cargo adk new my-agent --template tools
ragエージェントテンプレート

文書とインデックス化された知識から回答します。

ドキュメント チャンキング、Gemini 埋め込み、メモリ内ベクトル ストア、サンプル ドキュメント、RagTool を含む RAG パイプラインを作成します。

こんなときはこれを選んでください

製品ドキュメント、ポリシー、研究コレクション、または個人的な資料に基づいた回答として選択してください。

生成された開始点

RagPipeline · チャンカー · 埋め込み · ベクトル検索 · RagTool

cargo adk new my-agent --template rag
apiエージェントテンプレート

HTTP サービスを通じてエージェントを公開します。

LLM エージェントの周囲にヘルス、セッション作成、ストリーミング実行エンドポイントを備えた Axum サーバーを生成します。

こんなときはこれを選んでください

Web アプリケーション、モバイル クライアント、バックエンド サービス、または自動化プラットフォームがエージェントを呼び出すときに選択します。

生成された開始点

Axum · REST ルート · SSE 応答 · インメモリセッション

cargo adk new my-agent --template api
a2aパターンエイリアス

エージェントをリモート スペシャリストとして配置します。

a2a サーバー パターンに解決され、LLM エージェントとサーバーおよびセッション機能を組み合わせて、エージェント間アクセスを実現します。

こんなときはこれを選んでください

別のエージェントが展開または所有権の境界を越えてこのエージェントを検出して呼び出す必要がある場合に選択します。

生成された開始点

A2A サーバー · エージェント ID · タスク処理 · セッション

cargo adk new my-agent --template a2a
graphエージェントテンプレート

耐久性のある分岐ワークフローを準備します。

グラフ機能を有効にし、ノード、エッジ、チェックポイント、中断、再開のインポートとエージェントの開始点を作成します。

こんなときはこれを選んでください

ブランチ、承認ステップ、リカバリ、または永続的な実行状態を伴う長時間にわたる作業には、これを選択してください。

生成された開始点

グラフ機能・ワークフローエージェント・トポロジ開始点

cargo adk new my-agent --template graph
realtimeエージェントテンプレート

生の音声またはビデオ エージェントを準備します。

リアルタイム サポートを有効にし、リアルタイム インポートとプロバイダー構成を使用して簡潔な音声エージェントの開始点を作成します。

こんなときはこれを選んでください

自然な会話、中断、ライブ翻訳、オーディオ ツール、または受信ビデオ フレームの場合に選択してください。

生成された開始点

リアルタイム機能・音声指示・トランスポートスタートポイント

cargo adk new my-agent --template realtime
sequentialワークフローテンプレート

決まった順序でエージェントに仕事を渡します。

SequentialAgent 内にリサーチャーエージェントとライターエージェントを生成し、各ステージが前のステージで生成された作業を受け取るようにします。

こんなときはこれを選んでください

プロセスに収集、分析、下書き、レビュー、公開などの明確なフェーズがある場合に選択します。

生成された開始点

2 つの LLM エージェント · 順序付けられた実行 · 共有された呼び出し証跡

cargo adk new my-agent --template sequential
parallelワークフローテンプレート

独立した専門家を同時に運営します。

ParallelAgent 内に 2 つの専門エージェントを生成し、1 つの親ワークフローを通じてその作業を収集します。

こんなときはこれを選んでください

複数の調査が同じ入力から開始され、個別に完了できる場合に選択します。

生成された開始点

2 つの LLM エージェント · 同時実行 · 集計結果

cargo adk new my-agent --template parallel
loopワークフローテンプレート

制限された改良サイクルを繰り返します。

明示的な完了シグナルと 5 回の反復の安全制限を備えたワーカーを LoopAgent 内に作成します。

こんなときはこれを選んでください

ドラフト、批評、修復、検証、または繰り返しのパスを通じて改善する検索プロセスに選択してください。

生成された開始点

LoopAgent ビルダー · ワーカー エージェント · 完了命令 · 最大反復数

cargo adk new my-agent --template loop
conditionalワークフローテンプレート

各リクエストを適切な専門家に転送します。

受信リクエストからパスを選択する ConditionalAgent 内に技術エージェントと一般エージェントを生成します。

こんなときはこれを選んでください

作業のカテゴリに異なる指示、ツール、モデル、またはドメイン スペシャリストが必要な場合に選択してください。

生成された開始点

ConditionalAgent · 2 つのルート · LLM ベースの選択

cargo adk new my-agent --template conditional
customエージェントテンプレート

エージェント契約を直接実装します。

独自の Rust 実行ロジックとイベント ストリームに対応するエージェント特性メソッドと実行関数を備えた MyAgent タイプを作成します。

こんなときはこれを選んでください

決定論的なオーケストレーション、既存のステート マシン、ドメイン ランタイム、または完全な Rust 制御を必要とする動作の場合に選択してください。

生成された開始点

エージェント特性スケルトン · InvocationContext · EventStream エントリ ポイント

cargo adk new my-agent --template custom

CLI レジストリには、プロバイダー固有の openai テンプレート、5 つのエンタープライズ パターン、 basic そして a2a エイリアス、およびコンポーザブル機能アドオン。

cargo adk templatescargo adk addons

必要なものをコンパイルする

小さなことから始めましょう。製品から要求された場合はシステムを追加します。

まず、プロジェクトの実行形態のテンプレートを選択します。次に、バイナリにコンパイルされる機能の機能層を選択します。

機能層は、依存関係、コンパイル時間、バイナリ サーフェス、および利用可能なフレームワーク API を制御します。永続データベース、MCP、クラウド シークレット マネージャー、および特定のリアルタイム トランスポートは、引き続き明示的な選択肢です。

01 · ここから始めましょう

最小限の

エージェント · Gemini · Runner · セッション

最小のデフォルト サーフェスを持つ集中エージェント。

02 · 製品を構築する

標準

ツール、メモリ、グラフ、サーバー、認証、評価、テレメトリ

ほとんどの API、ワークフロー システム、および内部エージェント製品。

03 · システムの幅を広げる

企業

リアルタイムベース · ブラウザ · RAG · 支払い · AWP

より充実したインタラクションと相互運用性を必要とする製品。

04 · スペシャリストの表面

いっぱい

オーディオ · コード実行 · サンドボックス

最も重いローカル機能と実行機能をオプトインします。

adk-rust = { version = "2.0.0", features = ["standard"] }

ADK-Rust でビルドする

機能するエージェントを作成し、そのランタイムを理解し、自信を持って拡張します。

最初の有用なマイルストーンは、1 つのリクエスト、1 つの可視ツール呼び出し、および 1 つのセッションを理解することです。ガイド付きクイックスタートはそのパスを構築します。そこから、製品に必要なワークフロー、状態、プロトコル、および操作制御を追加します。