谷歌已经推出 Kotlin 版本的 Agent Development Kit(ADK)1.0。这是一个用于在 Kotlin、Android 以及 JVM/服务器应用中开发 AI 智能体的生产级框架,使 Kotlin 的能力与谷歌既有的 Python、Java 版 ADK 持平,同时补上了 Android 专属特性,可支撑端侧与混合式 AI 场景。据 InfoQ 报道,该框架面向 Android 工程师、JVM 后端开发者以及 AI 智能体系统架构师。
Python 不再是必需品:Kotlin 原生 API 承接智能体编排
在 ADK for Kotlin 1.0 之后,开发者无需再借助 Python 编写智能体逻辑,可以用惯用的 Kotlin API 完成编排、工具调用、持久化、记忆以及人在回路等工作流。该 ADK 建立在 Kotlin Multiplatform 之上,能够运行于全部受支持的平台,覆盖从服务器端应用到移动设备。谷歌称其架构“完全不受特定模型后端、会话提供程序或记忆系统的限制”,模型、记忆与会话后端之间完全解耦。
能力清单:层级多智能体、上下文压缩与状态恢复
ADK for Kotlin 1.0 加入了多项新能力:一是支持层级化多智能体系统,父智能体可以把任务下派给子智能体;二是提供上下文压缩与多轮对话摘要,通过自动化的上下文管理和历史记录摘要来降低 token 消耗;三是会话管理,允许对智能体状态执行暂停、序列化与恢复;四是提供一流的 Java 互操作性。
工具调用靠 KSP 编译期生成,减少运行时反射开销
该版本的一个核心设计考量,是如何支持工具调用与人在回路工作流。开发者可以用 @Tool、@Param 这类专用注解来声明工具,由 KSP 在编译阶段依据注解生成 Kotlin 函数的描述规约。这种做法不依赖运行时反射,因而类型安全性与性能都得到提升。
PiNCAMP 的 Android 工程师 Arjun Kumar 在 LinkedIn 上评价该发布时表示:“借助 KSP 在编译期处理工具描述规约,能够保持移动端目标程序的快速启动。”
敏感操作先确认:requireConfirmation 的用法建议
人在回路工作流的价值在于帮助开发者避免意外或不当的工具调用:在执行敏感操作之前,必须先取得人工确认。这类机制对那些会造成重大影响的工具尤其关键,例如发起银行转账。开发者只要在工具声明中设置 requireConfirmation,就能启用确认机制。
由此生成的函数可以处理需要用户明确批准的敏感事务,同时把 Android 原生持久化服务用起来:比如通过 Room 保存对话会话、借助 AppSearch 实现可索引的记忆,以及直接在 Android 存储中读写文件。示例演示了这一机制,涉及 “transferFunds” 与 transferFunds。
AI Dev Weekly 通讯的维护者 Joske Vermeulen 分享了他关于使用 requireConfirmation 的建议:优先搭建单个可恢复智能体并启用工具显式确认机制,之后再考虑构建多层级智能体体系。系统能否投入生产环境更多取决于生命周期恢复能力与确定的工具边界,而非智能体的数量。
技能与端云协同:SKILL.md、LiteRT-LM、ML Kit 与 Firebase
另一个关键要素是技能。开发者通过技能来管理存放在 SKILL.md 文件中的程序性知识,这些技能采用谷歌所称的渐进式披露机制,只在需要时动态加载。这样一来,智能体可以按需读取领域专属的操作手册,而不必每次都把整本手册塞进模型上下文。
ADK for Kotlin 1.0 还纳入了 Android 原生能力,用来构建端侧与云端 AI 融合的智能体。端侧推理方面,框架同时支持 LiteRT-LM 和 ML Kit,其中 ML Kit 目前仍属测试版功能。面向云端与混合 AI 场景,ADK 可以同 Firebase AI Logic 集成,让 Android 应用在合适的时候本地运行智能体,在需要更强能力时无缝切换到云端模型。
ADK for Kotlin 已经开源,可通过 GitHub 获取。
小结:ADK for Kotlin 1.0 用原生 Kotlin 补齐了 Android 与 JVM 侧的智能体开发链路,在功能上与 Python、Java 版看齐,并通过 KSP 编译期处理、requireConfirmation 人在回路以及端云协同推理,把生产可用的智能体能力带到移动端。对 Kotlin 与 Android 团队而言,这是一条不必绕道 Python 的落地方案。
