宣布 ADK for Kotlin 和 ADK for Android 0.1.0:在 Android 及更广泛的平台上构建 AI 代理
TL;DR · AI 摘要
Google 发布 ADK for Kotlin 和 ADK for Android 0.1.0,支持在移动设备上构建隐私增强型 AI 代理系统,具备云端与边缘协同能力。
核心要点
- ADK for Kotlin 支持在 Android 上运行本地 LLM,提升隐私保护并支持云边协同。
- ADK 提供混合编排功能,可将任务分配给云端或本地代理执行。
- 通过简单几行代码即可实现多代理系统构建,包括工具调用和状态共享。
结构提纲
按章节快速跳转。
介绍 ADK for Kotlin 和 Android 版本的发布背景及其对 AI 代理开发的意义。
说明 ADK 如何简化复杂代理系统的构建,支持本地与云端模型协同工作。
展示 ADK 支持云端主代理与本地子代理协作,提升性能与隐私保护。
演示如何利用 ADK 构建一个在本地处理文档、云端进行推理的旅行助手系统。
提供在 Android 项目中集成 ADK 的依赖配置和示例代码。
强调 ADK 在边缘计算和 AI 代理领域的开放性和扩展性潜力。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- ADK for Kotlin & Android
- 核心特性
- 混合编排
- 本地代理支持
- 工具链灵活
- 应用场景
- 旅行助手
- 文档检索
- 数据隐私
- 技术优势
- 轻量级部署
- 跨平台兼容
- 开源框架
金句 / Highlights
值得收藏与分享的关键句。
ADK for Kotlin 和 Android 版本支持在设备端运行本地 LLM,增强隐私保护。
ADK 支持混合编排,允许主代理将任务分发至云端或本地子代理执行。
开发者可通过几行 Kotlin 代码实现多代理系统、工具调用及状态共享。
公告:Kotlin ADK 和 Android ADK 0.1.0 发布:在 Android 及更广泛的平台上构建 AI 代理
来源 URL: https://developers.googleblog.com/adk-kotlin-android-building-ai-agents/
发布时间: 2026-05-21
Markdown 内容: 2026 年 5 月 21 日
_Kotlin ADK 将代理工作流引入您的后端项目,而 Android ADK 提供专门的设备优化功能_
在最近发布的 Java 和 Go 版本 1.0.0 以及 Python 2.0 的测试版 之后,我们非常高兴地宣布 Agent Development Kit (ADK) for Kotlin 的 0.1.0 版本发布!此外,我们还发布了另一个专门的库 Android ADK。ADK 是一个灵活且开源的框架,用于开发和运行 AI 代理,现在支持 Kotlin。通过 Android 版本,您可以在应用程序中直接使用本地设备上的 LLM 创建 AI 代理,从而增强隐私,同时具有与云端模型集成的灵活性。
**为什么选择 Kotlin ADK?**
随着 Gemini Nano 在 Android 上推出,AI 生态系统正经历向边缘的重大转变,目前已有超过 1.4 亿台设备支持该模型。随着开发者寻求构建更快、更经济且更注重隐私的应用程序,直接在移动硬件上运行 AI 模型(如 Gemini Nano)变得尤为重要。然而,构建代理系统可能非常复杂,特别是在协调云端和边缘之间的任务时。ADK 通过管理所有复杂的编排、上下文处理和错误处理来消除这种摩擦。
只需几行 Kotlin 代码,您就可以:
- 根据需要轻松更换模型
- 为多代理系统的不同部分选择各种设备端和云端模型
- 在多个代理之间无缝共享会话状态
- 直接在 Android 设备上运行代理
**功能亮点**
- 混合编排: 您可以使用云端模型作为主编排器,然后将其特定任务卸载到完全在设备上运行的子代理。ADK 库负责将通用代理实现适配到正确的云端或设备端 API。
- 设备端顺序代理: 您可以定义子代理为顺序代理,非常适合需要依次运行的多个任务。
- 本地检索: 利用设备端模型(如 Gemini Nano),您可以创建检索代理以本地访问和解析文档,确保数据不会离开硬件。
- 灵活工具: 您可以为代理配备特定工具,并提供顶级指令,使它们知道如何行为以及何时委托给子代理。
**实际案例:旅行助手**
在我们的 I/O 会议上,我们展示了 Kotlin ADK 如何驱动应用程序中的旅行助手。
如果用户在旅行中遇到问题,云端编排器会与用户交互以了解问题。但是,当需要验证预订确认时,它会将任务委托给设备端的子代理。各种检索代理使用设备端的 Gemini Nano 模型从用户的本地存储文档中提取数据。最后,验证代理比较这些分析的数据。这使得私有数据保持离线状态,同时利用云端编排器的推理能力。
**开始使用 Android ADK**
要在 Android 应用中添加 ADK,请在 build.gradle.kts 文件中添加以下依赖项:
implementation("com.google.adk:google-adk-kotlin-core-android:0.1.0") Kotlin
复制
然后您可以轻松构建 ADK 代理:
val orchestrator = LlmAgent(
name = "genius_orchestrator",
model = Gemini(apiKey = apiKey, name = MODEL_NAME),
instruction = Instruction("""
你是一个旅行天才助手。
首先,使用 `get_trip_details` 获取行程的完整日程并理解安排的事件。
然后,根据行程状态回复欢迎消息。
""".trimIndent()),
tools = listOf(GetTripDetailsTool(tripId)),
subAgents = listOf(carRentalPipeline, hotelPipeline),
disallowTransferToPeers = true,
disallowTransferToParent = true,
)Kotlin
复制
有关更复杂的代理设置,请参阅 Android ADK 示例。
**开始使用 Kotlin ADK**
在您的 build.gradle.kts 文件中添加以下依赖项:
dependencies {
// ADK 核心的实现依赖项
implementation("com.google.adk:google-adk-kotlin-core:0.1.0")
// KSP 处理器用于生成 @AdkTools
ksp("com.google.adk:google-adk-kotlin-processor:0.1.0")
}Kotlin
复制
Kotlin ADK 让您可以定义工具以赋予 LLM 更强大的功能。让我们创建一个想象中的“不可能驱动”服务,灵感来自《银河系漫游指南》:
class ImprobabilityDriveService {
/** 计算给定事件的可能性。 */
@Tool
fun calculateImprobability(
@Param("要计算可能性的事件,例如 '一杯茶凭空出现'")
event: String
): String {
return "'$event' 的可能性大约为 42 对 1。"
}
}Kotlin
复制
请注意使用 @Tool 和 @Param 注解来描述工具给 LLM。
现在,我们可以创建第一个代理,它将成为稍后定义的主要代理的子代理。HeartOfGold 代理代表飞船的计算机:
val heartOfGoldAgent =
LlmAgent(
name = "HeartOfGold",
description = "黄金之心飞船的计算机。处理不可能驱动查询。",
model = Gemini(apiKey = apiKey, name = "gemini-2.5-flash"),
instruction =
Instruction(
"""
你是黄金之心飞船的计算机。你开朗、乐于助人,但有点烦人。
你可以访问无限不可能驱动。
如果被问到关于自己的真实事实,请保持幽默。
"""
.trimIndent()
),
tools = ImprobabilityDriveService().generatedTools()
)Kotlin
Copied
现在我们可以在根代理中使用这个子代理:
val rootAgent =
LlmAgent(
name = "MissionControl",
description = "太空查询的中央路由器。路由到 HeartOfGold。",
subAgents = listOf(heartOfGoldAgent),
model = Gemini(apiKey = apiKey, name = "gemini-2.5-flash"),
instruction =
Instruction(
"""
你是任务控制中心。你是所有通信的中央枢纽。
你的主要工作是将用户的查询路由到最合适的代理。
- 如果查询与不可能性、无限不可能驱动或黄金之心有关,则转交给 `HeartOfGold`。
- 否则,以专业但紧张的语气直接回复。
"""
.trimIndent()
)
)Kotlin
Copied
heartOfGoldAgent 在此主代理的代理配置中被定义为子代理。
当用户询问某个奇怪事件发生的可能性时,主代理会将任务委托给 heartOfGoldAgent,后者会调用本地函数工具来计算概率,然后回复用户。
这是如何在 ADK for Kotlin 中定义工具和子代理的一个简单示例。
**ADK 功能集**
ADK for Kotlin 和 ADK for Android 0.1.0 版本包含了在 Android 及更广泛领域构建 AI 代理所需的基础功能集,包括对代理执行的高级控制、全面的工具支持以及状态管理的基本服务。
代理
工具与集成
运行时与可观测性
开发者体验
- 网页界面 用于开发和实验
Android 模型
- 使用 ML Kit GenAI 通过 AICore 访问设备上的 Gemini Nano
- 使用 Firebase AI Logic 访问在云端运行的 Gemini 模型
- 使用 Google GenAI 进行快速原型设计
**接下来是什么?**
这个 0.1 版本是我们库的第一个实验版本,目前提供了针对 ML Kit GenAI API 的默认代理,并直接连接到云端的 Gemini。但我们才刚刚开始!
我们对应用内 AI 的未来感到无比兴奋,迫不及待想看到你们构建的智能体验。别忘了查看 GitHub 上的项目!
posted in:
[](https://developers.googleblog.com/accelerating-on-device-ai-a-look-at-arm-and-google-ai-edge-optimization/) 上一篇
下一篇
[](https://developers.googleblog.com/empowering-service-providers-and-hardware-partners-with-gemini-for-home/)