T
traeai
登录
返回首页
Google Developers Blog

宣布 ADK for Kotlin 和 ADK for Android 0.1.0:在 Android 及更广泛的平台上构建 AI 代理

8.7Score

TL;DR · AI 摘要

Google 发布 ADK for Kotlin 和 ADK for Android 0.1.0,支持在移动设备上构建隐私增强型 AI 代理系统,具备云端与边缘协同能力。

核心要点

  • ADK for Kotlin 支持在 Android 上运行本地 LLM,提升隐私保护并支持云边协同。
  • ADK 提供混合编排功能,可将任务分配给云端或本地代理执行。
  • 通过简单几行代码即可实现多代理系统构建,包括工具调用和状态共享。

结构提纲

按章节快速跳转。

  1. §ADK 发布背景与目标

    介绍 ADK for Kotlin 和 Android 版本的发布背景及其对 AI 代理开发的意义。

  2. 说明 ADK 如何简化复杂代理系统的构建,支持本地与云端模型协同工作。

  3. 展示 ADK 支持云端主代理与本地子代理协作,提升性能与隐私保护。

  4. 演示如何利用 ADK 构建一个在本地处理文档、云端进行推理的旅行助手系统。

  5. 提供在 Android 项目中集成 ADK 的依赖配置和示例代码。

  6. 强调 ADK 在边缘计算和 AI 代理领域的开放性和扩展性潜力。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • ADK for Kotlin & Android
    • 核心特性
      • 混合编排
      • 本地代理支持
      • 工具链灵活
    • 应用场景
      • 旅行助手
      • 文档检索
      • 数据隐私
    • 技术优势
      • 轻量级部署
      • 跨平台兼容
      • 开源框架

金句 / Highlights

值得收藏与分享的关键句。

#Android#AI Agent#Kotlin#LLM#Edge Computing
打开原文

公告: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 提供专门的设备优化功能_

在最近发布的 JavaGo 版本 1.0.0 以及 Python 2.0 的测试版 之后,我们非常高兴地宣布 Agent Development Kit (ADK) for Kotlin 的 0.1.0 版本发布!此外,我们还发布了另一个专门的库 Android ADKADK 是一个灵活且开源的框架,用于开发和运行 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 代理:

code
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 文件中添加以下依赖项:

code
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 更强大的功能。让我们创建一个想象中的“不可能驱动”服务,灵感来自《银河系漫游指南》:

code
class ImprobabilityDriveService {
 /** 计算给定事件的可能性。 */
 @Tool
 fun calculateImprobability(
   @Param("要计算可能性的事件,例如 '一杯茶凭空出现'")
   event: String
 ): String {
   return "'$event' 的可能性大约为 42 对 1。"
 }
}

Kotlin

复制

请注意使用 @Tool@Param 注解来描述工具给 LLM。

现在,我们可以创建第一个代理,它将成为稍后定义的主要代理的子代理。HeartOfGold 代理代表飞船的计算机:

kotlin
val heartOfGoldAgent =
    LlmAgent(
      name = "HeartOfGold",
      description = "黄金之心飞船的计算机。处理不可能驱动查询。",
      model = Gemini(apiKey = apiKey, name = "gemini-2.5-flash"),
      instruction =
        Instruction(
          """
          你是黄金之心飞船的计算机。你开朗、乐于助人,但有点烦人。
          你可以访问无限不可能驱动。
          如果被问到关于自己的真实事实,请保持幽默。
          """
          .trimIndent()
        ),
      tools = ImprobabilityDriveService().generatedTools()
    )

Kotlin

Copied

现在我们可以在根代理中使用这个子代理:

kotlin
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/)

code

AI 可能会生成不准确的信息,请核实重要内容