{"id":15126,"date":"2026-05-26T05:12:27","date_gmt":"2026-05-26T05:12:27","guid":{"rendered":"https:\/\/techtrendfeed.com\/?p=15126"},"modified":"2026-05-26T05:12:27","modified_gmt":"2026-05-26T05:12:27","slug":"asserting-adk-for-kotlin-and-adk-for-android-0-1-0-constructing-ai-brokers-on-android-and-past","status":"publish","type":"post","link":"https:\/\/techtrendfeed.com\/?p=15126","title":{"rendered":"Asserting ADK for Kotlin and ADK for Android 0.1.0: Constructing AI Brokers on Android and Past"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p><img decoding=\"async\" class=\"banner-image\" src=\"https:\/\/storage.googleapis.com\/gweb-developer-goog-blog-assets\/images\/GoogleForDevelopers-ComboIO-Wagtail-1600x476.original.png\" alt=\"GoogleForDevelopers-ComboIO-Wagtail-1600x476\"\/>  <\/p>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\"><b><i>ADK for Kotlin brings agentic workflows to your backend initiatives, whereas ADK for Android offers specialised on-device optimizations<\/i><\/b><\/p>\n<p data-block-key=\"a3co9\">Following the current 1.0.0 releases of ADK for <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/developers.googleblog.com\/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java\/\">Java<\/a> and <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/developers.googleblog.com\/adk-go-10-arrives\/\">Go<\/a>, in addition to the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/adk.dev\/2.0\/\">beta of ADK for Python 2.0<\/a>, we&#8217;re thrilled to announce the launch of <b>model 0.1.0 of Agent Improvement Equipment (ADK) for Kotlin<\/b>! As well as, we&#8217;re additionally launching a further specialised library referred to as <b>ADK for Android<\/b>. <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/adk.dev\/\">ADK<\/a> is a versatile and open-source framework for creating and working AI brokers, and is now accessible in Kotlin. With the Android model you&#8217;ll be able to create AI brokers that may function on-device instantly inside your apps with native on-device LLMs, enhancing privateness, however with the flexibleness to bridge the hole with cloud-based fashions.<\/p>\n<h3 data-block-key=\"a39t0\" id=\"why-adk-for-kotlin\"><b>Why ADK for Kotlin?<\/b><\/h3>\n<p data-block-key=\"4fags\">The AI ecosystem is experiencing a large shift towards the sting, for the reason that introduction of <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/developer.android.com\/ai\/gemini-nano\">Gemini Nano<\/a> as a mannequin on Android, it has develop into accessible on over 140 million units. As builders look to construct quicker, less expensive, and privacy-enhancing functions, the power to run AI fashions instantly on cellular {hardware} (fashions like Gemini Nano) has by no means been extra vital. Nonetheless, constructing agentic techniques could be complicated, particularly when coordinating duties between the cloud and the sting. ADK removes that friction by managing all of the complicated orchestration, context dealing with, and error dealing with for you.<\/p>\n<p data-block-key=\"958bv\">With just some strains of Kotlin, you&#8217;ll be able to:<\/p>\n<ul>\n<li data-block-key=\"krd\">Simply swap out fashions relying in your wants<\/li>\n<li data-block-key=\"e2oqr\">Select between numerous on-device and cloud fashions for various components of your multi-agent system<\/li>\n<li data-block-key=\"1lnho\">Seamlessly share session state between a number of brokers<\/li>\n<li data-block-key=\"beg8s\">Run brokers instantly on Android units<\/li>\n<\/ul>\n<h3 data-block-key=\"ydvdi\" id=\"feature-highlights\"><b>Function Highlights<\/b><\/h3>\n<ul>\n<li data-block-key=\"9p8c7\"><b>Hybrid Orchestration:<\/b> You should use a cloud mannequin as your foremost orchestrator, which may then offload particular duties to sub-agents that run absolutely on-device. The ADK library takes care of adapting generic agent implementations to the proper cloud or on-device APIs.<\/li>\n<li data-block-key=\"1seaq\"><b>On-Gadget Sequential Brokers:<\/b> You may outline sub-agents as sequential brokers, excellent for a number of duties that must run one after the opposite.<\/li>\n<li data-block-key=\"rmet\"><b>Native Retrieval:<\/b> By using on-device fashions like Gemini Nano, you&#8217;ll be able to create retrieval brokers that entry and parse paperwork domestically, making certain information by no means has to depart the {hardware}.<\/li>\n<li data-block-key=\"78lj9\"><b>Versatile Tooling:<\/b> You may equip your brokers with particular instruments and supply top-level directions in order that they know precisely easy methods to behave and when to delegate to subagents.<\/li>\n<\/ul>\n<h3 data-block-key=\"shsyx\" id=\"real-world-example:-the-trip-assistant\"><b>Actual-World Instance: The Journey Assistant<\/b><\/h3>\n<p data-block-key=\"ap0g5\">Throughout our I\/O session, we showcased how ADK for Kotlin powers an in-app journey assistant.<\/p>\n<\/div>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\">If a person encounters a problem whereas touring, the cloud-based orchestrator interacts with the person to grasp the issue. Nonetheless, when it must confirm a reserving affirmation, it delegates the duty to an on-device subagent. Numerous retrieval brokers use the on-device Gemini Nano mannequin to extract information from the person&#8217;s domestically saved paperwork. Lastly, a validation agent compares the information coming from these analyses. This retains non-public information offline whereas leveraging the reasoning capabilities of the cloud orchestrator.<\/p>\n<h3 data-block-key=\"2wu1w\" id=\"getting-started-with-adk-for-android\"><b>Getting began with ADK for Android<\/b><\/h3>\n<p data-block-key=\"1qegc\">So as to add ADK to your Android app, add the next dependency to your <code>construct.gradle.kts<\/code> file:<\/p>\n<\/div>\n<div class=\"inner-block-content code-block line-numbers\">\n<pre><code class=\"language-kotlin\">implementation(\"com.google.adk:google-adk-kotlin-core-android:0.1.0\")<\/code><\/pre>\n<p>\n        Kotlin\n    <\/p>\n<\/div>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\">You may then simply construct your ADK brokers:<\/p>\n<\/div>\n<div class=\"inner-block-content code-block line-numbers\">\n<pre><code class=\"language-kotlin\">val orchestrator = LlmAgent(&#13;\n  title = \"genius_orchestrator\",&#13;\n  mannequin = Gemini(apiKey = apiKey, title = MODEL_NAME),&#13;\n  instruction = Instruction(\"\"\"&#13;\n    You're a journey genius assistant.&#13;\n    First, use `get_trip_details` to get the complete itinerary of the journey and &#13;\n    perceive what occasions are scheduled.&#13;\n    Then, reply with a welcome message tailor-made to the journey state.&#13;\n    \"\"\".trimIndent()),&#13;\n  instruments = listOf(GetTripDetailsTool(tripId)),&#13;\n  subAgents = listOf(carRentalPipeline, hotelPipeline),&#13;\n  disallowTransferToPeers = true,&#13;\n  disallowTransferToParent = true,&#13;\n)<\/code><\/pre>\n<p>\n        Kotlin\n    <\/p>\n<\/div>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\">For extra prolonged agent setups, try the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/google\/adk-kotlin\/tree\/main\/internal\/examples\">ADK for Android demos<\/a>.<\/p>\n<h3 data-block-key=\"7a5ym\" id=\"getting-started-with-adk-for-kotlin\"><b>Getting Began with ADK for Kotlin<\/b><\/h3>\n<p data-block-key=\"aelhn\">In your <code>construct.gradle.kts<\/code> file, add the next dependencies:<\/p>\n<\/div>\n<div class=\"inner-block-content code-block line-numbers\">\n<pre><code class=\"language-kotlin\">dependencies {&#13;\n      \/\/ Implementation dependency for ADK Core&#13;\n      implementation(\"com.google.adk:google-adk-kotlin-core:0.1.0\")&#13;\n      &#13;\n      \/\/ KSP processor for producing @AdkTools&#13;\n      ksp(\"com.google.adk:google-adk-kotlin-processor:0.1.0\")&#13;\n  }<\/code><\/pre>\n<p>\n        Kotlin\n    <\/p>\n<\/div>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\">ADK for Kotlin helps you to outline instruments to equip the LLM with additional powers. Let\u2019s create an imagined \u201cimprobability drive\u201d service, impressed from the Hitchhiker\u2019s Information to the Galaxy:<\/p>\n<\/div>\n<div class=\"inner-block-content code-block line-numbers\">\n<pre><code class=\"language-kotlin\">class ImprobabilityDriveService {&#13;\n \/** Calculates the improbability of a given occasion. *\/&#13;\n @Software&#13;\n enjoyable calculateImprobability(&#13;\n   @Param(\"The occasion to calculate the improbability for, e.g., 'A cup of tea materializing'\")&#13;\n   occasion: String&#13;\n ): String {&#13;\n   return \"The improbability of '$occasion' is roughly 42 to 1 towards.\"&#13;\n }&#13;\n}<\/code><\/pre>\n<p>\n        Kotlin\n    <\/p>\n<\/div>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\">Discover using the <code>@Software<\/code> and <code>@Param<\/code> annotations to explain the software to the LLM.<\/p>\n<p data-block-key=\"avlcu\">Now, we will create a primary agent, which would be the sub-agent of a foremost agent we\u2019ll outline afterward. The <code>HeartOfGold<\/code> agent represents the spaceship\u2019s laptop:<\/p>\n<\/div>\n<div class=\"inner-block-content code-block line-numbers\">\n<pre><code class=\"language-kotlin\">val heartOfGoldAgent =&#13;\n    LlmAgent(&#13;\n      title = \"HeartOfGold\",&#13;\n      description = \"The Coronary heart of Gold ship laptop. Handles improbability drive queries.\",&#13;\n      mannequin = Gemini(apiKey = apiKey, title = \"gemini-2.5-flash\"),&#13;\n      instruction =&#13;\n        Instruction(&#13;\n          \"\"\"&#13;\n          You're the ship laptop of the Coronary heart of Gold. You might be cheerful, useful, and barely annoying.&#13;\n          You've got entry to the Infinite Improbability Drive.&#13;\n          Use actual details about your self if requested, however hold it humorous.&#13;\n          \"\"\"&#13;\n          .trimIndent()&#13;\n        ),&#13;\n      instruments = ImprobabilityDriveService().generatedTools()&#13;\n    )<\/code><\/pre>\n<p>\n        Kotlin\n    <\/p>\n<\/div>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\">Now we will use this sub-agent in our root agent:<\/p>\n<\/div>\n<div class=\"inner-block-content code-block line-numbers\">\n<pre><code class=\"language-kotlin\">val rootAgent =&#13;\n  LlmAgent(&#13;\n    title = \"MissionControl\",&#13;\n    description = \"The central router for house queries. Routes to HeartOfGold.\",&#13;\n    subAgents = listOf(heartOfGoldAgent),&#13;\n    mannequin = Gemini(apiKey = apiKey, title = \"gemini-2.5-flash\"),&#13;\n    instruction =&#13;\n      Instruction(&#13;\n        \"\"\"&#13;\n        You might be Mission Management. You're the central hub for all communications.&#13;\n        Your foremost job is to route the person's question to probably the most applicable agent.&#13;\n        - If the question is about improbability, the Infinite Improbability Drive, or the Coronary heart of Gold, switch to `HeartOfGold`.&#13;\n        - In any other case, reply instantly with knowledgeable however careworn persona.&#13;\n        \"\"\"&#13;\n        .trimIndent()&#13;\n      )&#13;\n  )<\/code><\/pre>\n<p>\n        Kotlin\n    <\/p>\n<\/div>\n<div class=\"inner-block-content rich-content\">\n<p data-block-key=\"eggue\">The <code>heartOfGoldAgent<\/code> is outlined as a subagent within the agent configuration of this foremost agent.<\/p>\n<p data-block-key=\"7us8b\">When the person asks questions concerning the improbability of an odd occasion to occur, the primary agent delegates the duty to the <code>heartOfGoldAgent<\/code>, which in flip will name the native perform software to calculate the likelihood, earlier than replying to the person.<\/p>\n<p data-block-key=\"1i92s\">This can be a easy instance of how one can outline instruments and sub brokers in ADK for Kotlin.<\/p>\n<h3 data-block-key=\"hlvjf\" id=\"adk-feature-set\"><b>ADK characteristic set<\/b><\/h3>\n<p data-block-key=\"fj927\">The ADK for Kotlin &amp; ADK for Android 0.1.0 releases include the foundational characteristic set required for constructing AI brokers on Android and past, together with superior management over agent execution, complete tooling, and important companies for state administration.<\/p>\n<p data-block-key=\"3lfec\"><b>Brokers<\/b><\/p>\n<p data-block-key=\"8rcvl\"><b>Tooling &amp; Integrations<\/b><\/p>\n<p data-block-key=\"7tf8s\"><b>Runtime &amp; Observability<\/b><\/p>\n<p data-block-key=\"5ia1d\"><b>Developer Expertise<\/b><\/p>\n<p data-block-key=\"a1hba\"><b>Android Fashions<\/b><\/p>\n<ul>\n<li data-block-key=\"4g75p\">ML Equipment GenAI to entry on-device Gemini Nano through AICore<\/li>\n<li data-block-key=\"7bk7d\">Firebase AI Logic to entry Gemini fashions working within the cloud<\/li>\n<li data-block-key=\"8et6k\">Google GenAI for fast prototyping<\/li>\n<\/ul>\n<h3 data-block-key=\"kz2hk\" id=\"what's-next\"><b>What&#8217;s Subsequent?<\/b><\/h3>\n<p data-block-key=\"11ih0\">This 0.1 launch is our first experimental model of the library, at the moment that includes default brokers for the ML Equipment GenAI APIs and direct connections to Gemini within the Cloud. However we&#8217;re simply getting began!<\/p>\n<p data-block-key=\"4drmh\">We&#8217;re extremely enthusiastic about the way forward for in-app AI and may\u2019t wait to see the clever experiences you construct. Remember to try the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/google\/adk-kotlin\">challenge on GitHub<\/a>!<\/p>\n<\/div><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>ADK for Kotlin brings agentic workflows to your backend initiatives, whereas ADK for Android offers specialised on-device optimizations Following the current 1.0.0 releases of ADK for Java and Go, in addition to the beta of ADK for Python 2.0, we&#8217;re thrilled to announce the launch of model 0.1.0 of Agent Improvement Equipment (ADK) for Kotlin! [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":15128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56],"tags":[9216,5425,617,797,713,475,5166],"class_list":["post-15126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-0-1-0","tag-adk","tag-agents","tag-android","tag-announcing","tag-building","tag-kotlin"],"_links":{"self":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/15126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15126"}],"version-history":[{"count":1,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/15126\/revisions"}],"predecessor-version":[{"id":15127,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/15126\/revisions\/15127"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/media\/15128"}],"wp:attachment":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 69d9690a190636c2e0989534. Config Timestamp: 2026-04-10 21:18:02 UTC, Cached Timestamp: 2026-05-26 18:48:07 UTC -->