ADK-Rust 官方文档
欢迎阅读 ADK-Rust(适用于 Rust 的 Agent Development Kit)官方文档。本 документация 提供了使用 Rust 实现的 ADK 框架构建 AI agent 的综合指南和参考资料。
入门
- 介绍 - ADK-Rust 概览、其架构和核心概念
- 快速入门 - 在 5 分钟内于内置 UI 中搭建、运行并测试你的第一个 agent
- A2UI 快速入门 - 输出 A2UI JSONL 并在 React 中渲染
- 从 1.0 迁移到 2.0 - 完整的破坏性变更列表,包含变更前后的代码
核心
模型
- 模型提供商 - LLM 集成:Gemini、OpenAI、Anthropic、DeepSeek、Groq、Ollama
- Ollama - 使用 Ollama 进行本地推理
- mistral.rs 集成 - 用于高性能本地推理的原生 mistral.rs
Agents
- LlmAgent - 使用 Large Language Models 的核心 agent 类型
- CodeAgent(CodeAct) - 通过
CodeRuntime编写并运行代码来执行操作 - 工作流 Agents - 确定性 agent:Sequential、Parallel、Loop
- 多 Agent 系统 - 使用子 agent 构建 agent 层级结构
- 图 Agents - LangGraph 风格的工作流编排
- 实时 Agents - 支持语音的 agent,使用 OpenAI/Gemini
编程 Agent
原生编程代理:在沙盒工作区中读取/编辑/运行代码、自主目标模式,以及并行超审查工作流。
-
概览 - 从这里开始:各个组成部分、安装以及 60 秒快速入门
-
开发工具 -
adk-devtools:读取/写入/编辑/批量匹配/搜索/bash + 沙盒化的Workspace -
工具框架 -
CodingAgent(coding功能)、规划循环、write_todos -
CLI -
adk-rust code/goal(持久化、可恢复)/ultracode -
工作流 - 基于
adk-graph的超审查:并行审查者 + 汇入 -
示例 - 三个可运行的示例 crate
实时与多模态
一份专为初学者设计的指南,介绍如何构建语音 + 多模态代理——包括架构、概念和可运行示例。
- 概览 - 从这里开始:心智模型、安装以及 60 秒快速入门
- 架构 - 四个层次、事件循环、音频管线和轮次生命周期
- 提供商 - OpenAI Realtime 与 Gemini Live 模型、语音,以及如何选择
- 工具 - 服务端操作:原生处理器、桥接的
adk_core::Tools、并行调用 - 多模态 - 通过
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 编码代理用作类型化 ADK-Rust 工具
- 重试与反思 - 使用反思提示恢复工具失败
- 操作节点 - 用于工作流图的 14 种确定性节点类型
- 基准测试 - 使用
cargo adk bench衡量性能
代理客户端协议
使用来自 ADK-Rust 的外部编码代理,或通过稳定的 ACP v1 将 ADK-Rust 代理暴露给 编辑器。
- 架构与概念 - 客户端/主机和编码代理角色、会话、功能以及协议流程
- ACP 客户端和主机 - 委派、持久会话、流式传输、取消、权限、文件、终端和 MCP
- ACP 代理服务器 - 通过标准输入输出公开 Runner、工具、会话和实时事件
- 测试与支持矩阵 - 已验证的互操作性和有意未公开的功能
会话与状态
记忆
跨越会话生命周期的长期记忆——会话状态的持久化对应部分。面向新手的专门指南,介绍语义存储和双时态知识图谱。
- 概览 - 从这里开始:两种记忆、心智模型、安装和快速入门
- 概念 -
MemoryEntry、MemoryServicetrait、搜索、项目范围限定、GDPR 擦除 - 后端 - 六种存储(InMemory、SQLite、Postgres+pgvector、Redis、MongoDB、Neo4j)以及如何选择
- 知识图谱 -
GraphMemoryService:实体、观察结果、关系,以及双时态的重要性 - 工具与代理 - 将记忆接入代理;
remember/relate和记忆工具
回调与事件
工件
- 工件 - 二进制数据的存储和检索
可观测性
- 遥测 - 日志记录、跟踪和监控
部署
- 启动器 - 在控制台或服务器模式下运行智能体
- 服务器 - REST API 和 Web UI 集成
- A2A 协议 - 智能体间通信
- 智能体 Web 协议 - 面向智能体原生 Web 服务的 AWP 协议
- 智能体引擎 - 在 Gemini Enterprise Agent Platform 上部署
评估
托管智能体
- 托管智能体运行时 - 与提供商无关、持久且可恢复的智能体执行引擎(实验性)
安全性
合规性
- 仅 Vertex 部署 - 确保 HIPAA 和数据驻留工作负载不会产生 Gemini Studio (
generativelanguage.googleapis.com) 流量
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 编译工作区示例。