ADK-Rust 官方文档

欢迎来到 ADK-Rust(Rust 版 Agent Development Kit)的官方文档。本档提供全面的指南和参考资料,帮助你使用 ADK 框架的 Rust 实现来构建 AI agent。

快速入门

核心

  • 核心类型 - 基础类型:Content、Part、Agent trait、Tool trait、上下文
  • 运行器 - agent 执行运行时与配置
  • 插件 - 用于工具/模型拦截和中间件的生命周期钩子

模型

  • 模型提供方 - LLM 集成:Gemini、OpenAI、Anthropic、DeepSeek、Groq、Ollama
  • Ollama - 使用 Ollama 进行本地推理
  • mistral.rs 集成 - 原生 mistral.rs,用于高性能本地推理

Agents

编码 Agent

一个原生编码 agent:在沙盒化工作区中读/改/运行代码,具备自主目标模式,以及并行的超审查工作流。

  • 概览 - 从这里开始:组成部分、安装,以及 60 秒快速开始
  • 开发工具 - adk-devtools:read/write/edit/glob/grep/bash + 沙盒化的 Workspace
  • Harness - CodingAgentcoding 功能)、计划循环、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 暴露给编辑器。

会话与状态

记忆

超越会话生命周期的长期记忆——是会话状态的持久对应物。一份专为新手友好而设计的指南,同时涵盖语义存储和双时间知识图谱。

  • 概览 - 从这里开始:两种记忆、心智模型、安装和快速开始
  • 概念 - MemoryEntryMemoryService trait、搜索、项目作用域、GDPR 删除
  • 后端 - 六种存储(InMemory、SQLite、Postgres+pgvector、Redis、MongoDB、Neo4j)以及如何选择
  • 知识图谱 - GraphMemoryService:实体、观察、关系,以及双时态为何重要
  • 工具与代理 - 将记忆接入代理;remember/relate 和记忆工具

回调与事件

  • 回调 - 拦截并自定义代理行为
  • 事件 - 理解事件系统和对话历史

构件

  • 构件 - 二进制数据的存储与检索

可观测性

  • 遥测 - 日志、跟踪和监控

部署

评估

托管代理

安全

  • 访问控制 - 基于角色的权限和审计日志
  • 护栏 - PII 脱敏、内容过滤、schema 验证
  • 记忆 - 面向代理的长期语义记忆
  • 支付与商业 - 代理式商业流程、协议支持和验证路径

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 编译工作区示例。