zavora-ai/adk-rust
Rust Agent Development Kit (ADK-Rust): Build AI agents in Rust with modular components for models, tools, memory, realtime voice, and more. ADK-Rust is a flexible framework for developing AI agents with simplicity and power. Model-agnostic, deployment-agnostic, optimized for frontier AI models. Includes support for real-time voice agents.
ADK‑Rust – 生産向けAIエージェントを構築するRust第一のフレームワーク
何であるか – ADK‑Rustはモジュール化・型安全・非同期対応のRustワークスペース(43クレート)であり、自律型AIエージェントを構成・実行・配信できます。モデルに依存しない設計:Gemini、OpenAI、Anthropic、Ollama、Bedrock、Groq、DeepSeek、Mistral‑rsなど多数のプロバイダーを接続可能。また、mistral.rsを介してローカルモデルも実行可能です。
主なアイデア
- エージェントはコード –
LlmAgentBuilderまたは高レベルのワークフロー構築ツールでエージェント(またはエージェントチーム)を定義。コアのAgentトレイトは任意のLLMクライアントを抽象化しています。 - 組み合わせ可能な機能 – クレートワークスペースは階層(
minimal、standard、enterprise、full)と細粒度の機能システムに分かれています。小さなGemini専用エージェントからスタートし、ツール、メモリ、RAG、リアルタイム音声/動画、決済、サンドボックス内コード実行などを追加可能。不要なコードは含みません。 - 永続的なオーケストレーション – グラフワークフロー、サブグラフ、チェックポイント(SQLite、Redis、Mongo、Firestore、Neo4j、Vertex AI)、プロセス再起動後も継続可能な一時停止・再開メカニズムを内蔵。
- ツール呼び出し –
#[tool]マクロによりRust型からJSONスキーマを自動生成し、LLMにカスタム関数を簡単に公開可能。 - 観測性とセキュリティ – OpenTelemetryトレーシング、構造化ログ、RBAC/JWT認証、監査ログ、入出力検証用ガードレール。
- 豊富なランタイムUI – 埋め込みWebUI(
http://127.0.0.1:8080/ui/で提供)は会話履歴、ストリーミングMarkdown、ツール実行結果、エージェント実行のライブグラフを表示。 - エンタープライズ拡張機能 – リアルタイム音声/動画(OpenAI Realtime、Gemini Live、LiveKit)、ブラウザ自動化(46種類のWebDriverツール)、エージェント型コマース(ACP/AP2)、Gemini Enterprise Agent Engine BYOCコンテナ。
一般的なワークフロー
- CLIヘルパーをインストール:
cargo install cargo-adk。 - テンプレートでプロジェクトをスキャフォールド:例:
cargo adk new quickstart_agent --template api --provider openai。 .envにAPIキーを記入し、cargo runを実行。- UI経由またはHTTPエンドポイント(
/api/health、/api/...)で対話。
例:最小限のGeminiエージェント
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenvy::dotenv().ok();
let model = GeminiModel::new(&std::env::var("GOOGLE_API_KEY")?, "gemini-3.7-flash")?;
let agent = LlmAgentBuilder::new("assistant")
.instruction("You are a helpful assistant. Be concise and accurate.")
.model(std::sync::Arc::new(model))
.build()?;
Launcher::new(std::sync::Arc::new(agent)).run().await?;
Ok(())
}
プロバイダーを変更するにはクライアント構築部分を変更するだけで、他のコードは同一のままです。
機能マトリクス(一部)
| タイプ | 機能 | 用途例 |
|---|---|---|
minimal(デフォルト) |
Geminiクライアント、コアエージェントランタイム、セッション | 早期プロトタイプ、単一LLMボット |
standard |
minimalのすべて+OpenAI、Anthropic、ツールシステム、メモリ、テレメトリ、HTTPサーバー、認証、グラフワークフロー、評価 |
本番用チャットボットやツール呼び出しサービス |
enterprise |
standard+リアルタイム音声/動画、RAG、決済、AWP、ブラウザ自動化 |
音声アシスタント、リトリーブ増強エージェント、コマース対応ボット |
full |
enterprise+音声生成、サンドボックス内コード実行、高度なセキュリティ |
コード生成やメディア作成を含むエンドツーエンドAI製品 |
構築可能なもの(すべてリポジトリ内のガイドと実行可能な例にリンク)
- ライブトポロジ可視化付き埋め込みUI
#[tool]によるカスタムツール- MCP(エージェントクライアントプロトコル)クライアント/サーバー
- シーケンシャル、並列、ループ、条件分岐ワークフローのエージェント
- 検証済みの引継ぎと受領を備えたマルチエージェントチーム
- 永続的チェックポイントと人間が関与するサブグラフを備えたグラフワークフロー
- サンドボックス環境でコードを編集・実行するコーディングエージェント
- リアルタイム音声/動画エージェント(OpenAI Realtime、Gemini Live、LiveKit)
- 承認ダイジェストによる管理されたコンピュータ利用
- 6種類のベクトルストアバックエンドを備えたリトリーブ増強生成(RAG)
- 長期的意味記憶と双時空間知識グラフ
- HTTP/RESTサーバーでエージェントを公開し、Server-Sent Eventsストリーミングを提供
- Gemini Enterprise Agent Engine BYOCコンテナとTerraformデプロイ
- 発見・マニフェスト・同意・信頼レベルを扱うエージェント型Webプロトコル(AWP)
- 永続的取引ジャーナルを備えたエージェント型コマース(ACP/AP2)
- ブラウザ自動化ツール(WebDriver)
- 評価フレームワーク(軌跡、基準、LLMジャッジ、A/Bテスト)
- ガードレール、RBAC、SSO、監査ログ
- OpenTelemetryトレーシングと構造化ログ
インストール
# 任意のRustプロジェクトにクレートを追加
cargo add adk-rust # デフォルトは"minimal"
# タイプを選択する場合
cargo add adk-rust --features "standard"
またはCLIスキャフォールディング(cargo adk new …)を使って実行可能なプロジェクトを生成。
ドキュメントとコミュニティ
- Crates.ioページ:バージョン付きリリース(最新2.2.0、2.3.0 RC準備中)。
- docs.rsとWikiでドキュメントを提供、詳細ガイドも。
- CIバッジ:継続的テスト(4,300+テスト、104例)。
- ポッドキャストシリーズ(エピソード3:v2.0「行動するエージェント」機能)。
- GitHub Discussionsで質疑応答、スポンサーリンクで資金提供。
対象者 – 自律エージェントのパフォーマンスと型安全な基盤が必要なRust開発者。シンプルなチャットボットからマルチエージェントワークフローシステム、音声対応アシスタント、コマースとコンプライアンス要件を備えたフルスタックAI製品まで、幅広く対応。
上記のすべての情報はリポジトリのREADMEから直接取得。追加機能は推測されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト