Dev News Daily ENDE

ADK for Kotlin reaches 1.0 with parity to the Python agent toolkit

Google has taken its Agent Development Kit for Kotlin to 1.0 general availability. The announcement, written by Guillaume Laforge, is at https://developers.googleblog.com/announcing-adk-for-kotlin-10-building-production-ready-ai-agents-in-kotlin-android-and-beyond/, and the code is at https://github.com/google/adk-kotlin.

The release claims full alignment with the 1.0 core that the Python and Java kits implement: hierarchical agents that delegate to specialised children, context compaction that summarises history to stay inside a token budget, human-in-the-loop flows that pause execution and resume after a confirmation, long-running tools, session resumability across process restarts, and the Vertex AI services for sessions, RAG memory and the memory bank. Java callers can invoke Kotlin agents directly — the interop is first-party rather than a wrapper.

The detail worth pulling out is how tools are declared. Functions are annotated with @Tool and @Param, and the function-call schema is generated at compile time by Kotlin Symbol Processing. That means a typed schema, support for suspend functions, and no runtime reflection — which is the difference between an agent framework that works on a JVM server and one that also works on Android, where reflection is the thing you are trying not to pay for.

The Android side is where the kit stops resembling its Python sibling. The core is Kotlin Multiplatform and is agnostic about the model backend, the session store and the memory system; on top of it sit extensions for on-device inference through LiteRT-LM and ML Kit (in beta), hybrid cloud orchestration through Firebase AI Logic, and state persistence through Room and AppSearch.

ADK for Kotlin reaches 1.0 with parity to the Python agent toolkit
ADK for Kotlin reaches 1.0 with parity to the Python agent toolkit — Dev News Daily

What it means

Compile-time schema generation is the interesting engineering claim, not parity. Parity with Python is a roadmap statement. KSP-generated tool definitions are a testable property: the schema your agent advertises is derived from the signature the compiler already checked, so the two cannot drift. In the reflection-based frameworks that dominate this space, the schema is a second description of the function, and second descriptions rot.

On-device changes the privacy argument more than the latency one. An agent that runs inference locally does not need the prompt, the tool output, or the intermediate reasoning to leave the handset. For a class of applications — health, messaging, anything under a data-residency rule — that is not a performance optimisation, it is the only version that ships.

And Kotlin server-side gets it for free, which is the quiet part. The kit is positioned around Android, but the multiplatform core runs wherever the JVM does. Teams already writing Kotlin services have, as of this release, a first-party agent runtime that does not require standing up a Python sidecar to hold the orchestration logic.

Written by Victoria Shinder.