ADK-Rust 官方文档
欢迎来到 ADK-Rust(Rust 版 Agent Development Kit)的官方文档。本档提供全面的指南和参考资料,帮助你使用 ADK 框架的 Rust 实现来构建 AI agent。
快速入门
- 简介 - ADK-Rust、其架构以及关键概念的概览
- 快速开始 - 在 10 分钟内构建你的第一个 agent
- A2UI 快速开始 - 生成 A2UI JSONL 并在 React 中渲染
- 从 1.0 迁移到 2.0 - 完整的破坏性变更列表,包含变更前/后的代码
核心
模型
- 模型提供方 - LLM 集成:Gemini、OpenAI、Anthropic、DeepSeek、Groq、Ollama
- Ollama - 使用 Ollama 进行本地推理
- mistral.rs 集成 - 原生 mistral.rs,用于高性能本地推理
Agents
- LlmAgent - 使用大语言模型的核心 agent 类型
- CodeAgent (CodeAct) - 通过
CodeRuntime编写并运行代码来执行操作 - 工作流 Agent - 确定性 agent:顺序、并行、循环
- 多 Agent 系统 - 使用子 agent 构建 agent 层级结构
- 图 Agent - LangGraph 风格的工作流编排
- 实时 Agent - 具有 OpenAI/Gemini 的语音启用 agent
编码 Agent
一个原生编码 agent:在沙盒化工作区中读/改/运行代码,具备自主目标模式,以及并行的超审查工作流。
- 概览 - 从这里开始:组成部分、安装,以及 60 秒快速开始
- 开发工具 -
adk-devtools:read/write/edit/glob/grep/bash + 沙盒化的Workspace - Harness -
CodingAgent(coding功能)、计划循环、write_todos - CLI -
adk-rust code/goal(持久化、可恢复)/ultracode - 工作流 - 在
adk-graph上进行超审查:并行审查者 + 汇聚 - 示例 - 三个可运行的示例 crate
实时与多模态
一份专为新手友好而设计的指南,用于构建语音 + 多模态 agent——涵盖架构、概念以及可运行示例。
- 概览 - 从这里开始:心智模型、安装,以及 60 秒快速开始
- 架构 - 四层结构、事件循环、音频管线与轮次生命周期
- 提供方 - OpenAI 实时与 Gemini Live 模型、声音,以及如何选择
- 工具 - 服务端动作:原生处理器、桥接的
adk_core::Tool、并行调用 - 多模态 - 通过
send_video_frame和浏览器摄像头采集进行视频输入 - 情感对话 - 在 Gemini 原生音频上实现情绪感知响应
- 记忆 - 上下文注入、轮次存储,以及知识图谱自我整理
- 构建 Web 应用 - 服务端桥接、WS 协议和 Web Audio
- 示例 - 四个可运行示例以及推荐的学习路径
工具
- 函数工具 - 使用异步 Rust 函数创建自定义工具
- 内置工具 - 预构建工具,例如 GoogleSearchTool
- MCP 概览与架构 - MCP 的位置,以及应使用哪个 ADK-Rust 接口
- MCP 客户端 - 工具、资源、提示、完成、订阅、引导、任务以及 HTTP
- 动态 MCP 服务器管理器 - 运行时本地服务器注册表、持久化、监控和重启
- MCP 服务器编写 - 使用对齐的官方 Rust SDK 发布工具和其他能力
- MCP 安全 - 身份验证、可见性、授权、审批和密钥处理
- MCP 测试 - 确定性门控与部署验证
- 浏览器工具 - 用于 Web 自动化的 46 个 WebDriver 工具
- UI 工具 - 使用表单、卡片、图表进行动态 UI 生成
- RAG - 用于知识库搜索的检索增强生成
- ACP 工具 - 将 ACP 编码 agent 作为类型化的 ADK-Rust 工具使用
- 重试与反思 - 通过反思提示恢复工具失败
- 动作节点 - 用于工作流图的 14 种确定性节点类型
- 基准测试 - 使用
cargo adk bench进行性能测量
Agent 客户端协议
可从 ADK-Rust 使用外部编码 agent,或通过稳定的 ACP v1 将 ADK-Rust agent 暴露给编辑器。
- 架构与概念 - 客户端/主机与编码 agent 角色、会话、能力以及协议流程
- ACP 客户端与主机 - 委派、持久会话、流式传输、取消、权限、文件、终端,以及 MCP
- ACP agent 服务器 - 通过 stdio 暴露 Runner、工具、会话和实时事件
- 测试与支持矩阵 - 已验证的互操作性和刻意不公开的功能
会话与状态
记忆
超越会话生命周期的长期记忆——是会话状态的持久对应物。一份专为新手友好而设计的指南,同时涵盖语义存储和双时间知识图谱。
- 概览 - 从这里开始:两种记忆、心智模型、安装和快速开始
- 概念 -
MemoryEntry、MemoryServicetrait、搜索、项目作用域、GDPR 删除 - 后端 - 六种存储(InMemory、SQLite、Postgres+pgvector、Redis、MongoDB、Neo4j)以及如何选择
- 知识图谱 -
GraphMemoryService:实体、观察、关系,以及双时态为何重要 - 工具与代理 - 将记忆接入代理;
remember/relate和记忆工具
回调与事件
构件
- 构件 - 二进制数据的存储与检索
可观测性
- 遥测 - 日志、跟踪和监控
部署
- 启动器 - 在控制台或服务器模式下运行代理
- 服务器 - REST API 和 web UI 集成
- A2A 协议 - 代理到代理通信
- Agentic Web 协议 - 面向代理原生 web 服务的 AWP 协议
评估
托管代理
- 托管代理运行时 - 与提供方无关、持久、可恢复的代理执行引擎(实验性)
安全
Studio
- ADK Studio - 用于构建代理的可视化开发环境
- 动作节点 - 用于自动化工作流的非LLM程序化节点
- 触发器 - 工作流的 webhook、计划和事件触发器
开发
验证状态
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 编译工作区示例。