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个crate),可让您组合、运行和部署自主AI代理。它与模型无关:您可以接入Gemini、OpenAI、Anthropic、Ollama、Bedrock、Groq、DeepSeek、Mistral‑rs等众多提供商,甚至通过 mistral.rs 运行本地模型。
核心理念
- 代理即代码 – 使用
LlmAgentBuilder或更高阶的工作流构建器定义代理(或代理团队)。核心Agent特性抽象了任何LLM客户端。 - 可组合功能 – crate工作区分为层级(
minimal、standard、enterprise、full)和细粒度功能系统。您可以从一个极小的仅支持Gemini的代理开始,逐步添加工具、记忆、RAG、实时音视频、支付、沙箱代码执行等功能,而无需引入无关代码。 - 持久化编排 – 内置图工作流、子图、检查点(SQLite、Redis、Mongo、Firestore、Neo4j、Vertex AI),以及支持进程重启后继续运行的暂停-恢复机制。
- 工具调用 –
#[tool]宏从Rust类型推导出JSON Schema,使向LLM暴露自定义函数变得极为简单。 - 可观测性与安全 – OpenTelemetry追踪、结构化日志、RBAC/JWT认证、审计日志,以及输入/输出验证的防护机制。
- 丰富的运行时UI – 内嵌Web UI(通过
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追踪与结构化日志
安装
# 将crate添加到任何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;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目