谷歌于 9 月 9 日正式发布了 AI 智能体开发框架 Agent Development Kit(ADK)的 Kotlin 版本 1.0。该版本在功能上追平了先行的 Python 版与 Java 版,并且从一开始就配备了面向 Android 应用的扩展模块。无论是服务器端的 Kotlin,还是完全在设备内完成推理的移动端 AI,都可以用同一套写法来组装智能体,这是本次发布的核心。

正式版补齐了哪些能力

ADK for Kotlin 在 0.1.0 发布后仅数月,就在 1.0 达到了与 ADK 1.0 Core 相同的功能水平。实际生产环境所需的机制均已标准内置:父智能体向专职子智能体分派任务的层级式多智能体结构、通过摘要历史对话以控制在 token 上限内的上下文压缩、在执行敏感操作前暂停并等待用户批准的 human-in-the-loop、以及保存中断的交互并在之后恢复的会话续跑。框架还提供了一等的 Java 互操作能力,现有 Java 应用可以直接调用 Kotlin 编写的智能体。

底层基础是 Kotlin Multiplatform(KMP)内核。该内核不绑定特定的模型后端、会话存储或记忆实现,因此使用云端 Gemini 还是设备内模型可以后期替换。面向企业场景,发布内容还包含基于 Vertex AI 的会话管理、RAG 记忆与记忆库服务实现。

加个注解,工具就生成了

开发者最先接触的应该是定义智能体可调用的工具。在 ADK for Kotlin 中,只需给普通的 Kotlin 函数加上 @Tool,并用 @Param 为参数补充说明即可。

@Tool
suspend fun getServiceMetrics(
    @Param("目标服务或数据库集群") serviceName: String,
    @Param("统计时间窗口(分钟)") windowMinutes: Int? = 15,
): ServiceMetrics

KSP(Kotlin Symbol Processing)会在构建阶段根据该定义生成函数调用定义。由于完全不使用运行时反射,schema 的类型安全在编译期即可保证,suspend 函数也能直接作为工具使用。避开反射的设计在启动速度和行为可预期性上,与 Android 的契合度也更高。

把操作手册移出代码的「技能」

另一个支柱是技能(Skill)。需要智能体遵守的业务流程不再硬编码进代码,而是写在名为 SKILL.md 的文本中放到外部,仅在需要时加载。

以数据库故障排查为例,可以用文字写明:查看遥测数据、与近期部署进行关联、确认安全规则后再动手、最后通知团队。辅助资料也可以一并打包,但模型只有在判断确有需要时才会去取,因此无需始终把全文塞进提示词。谷歌把这种加载方式称为渐进式披露(progressive disclosure)。运维流程变更时只需改文本、无需重新构建,这一点在实际现场会很见效。

直接复用 Android 的标准组件

Android 扩展的特点在于,它没有要求开发者去记一套全新的自有机制,而是贴合既有的 Android 架构组件。会话持久化使用 Room,设备内带全文检索的记忆使用 AppSearch,生成的文件则存放在应用私有存储中。也就是说,即便进程被杀掉,重启后也能从对话的中断处继续。

模型侧同样有选择空间。云端推理通过 Firebase AI Logic 调用 Gemini 3.8 Flash,需要完全在设备内完成时则可切换到 LiteRT-LM 或 ML Kit(beta)。根据网络环境与机密性要求,可以在保持同一份智能体定义的前提下只改变执行位置。对于银行转账这类不可撤销的操作,只要在工具定义中声明必须确认,智能体就会在执行前停下并在界面上弹出确认,待用户点击后才继续。

引入只需添加依赖

开始使用只需在 Gradle 中添加依赖。

dependencies {
    implementation("com.google.adk:google-adk-kotlin-core:1.0.0")
    ksp("com.google.adk:google-adk-kotlin-processor:1.0.0")

    // 面向 Android 的可选扩展
    implementation("com.google.adk:google-adk-kotlin-firebase-android:1.0.0")
    implementation("com.google.adk:google-adk-kotlin-litertlm:1.0.0")
    implementation("com.google.adk:google-adk-kotlin-mlkit-android:1.0.0-beta")
}

内核与注解处理器这两行是必需的,Android 扩展只按需添加。源代码与示例应用已发布在 GitHub 的 google/adk-kotlin 仓库,文档则整理在 adk.dev。

总结

ADK for Kotlin 1.0 的新意在于,它把 Python 版与 Java 版相同的多智能体能力带到了 Kotlin,并以贴合 Room、AppSearch、LiteRT-LM 等 Android 标准组件的方式提供扩展。基于注解与 KSP 的工具定义,以及用 SKILL.md 把流程外置并渐进式披露的做法,体现出把智能体拆成代码与文本、分别维护的思路。从把「在手机内部完成的 AI 智能体」当作现实选项来对待这一点看,这次更新值得关注。