ข้ามไปยังเนื้อหา
ADK for Kotlin 1.0 ขึ้น GA — เอเจนต์ที่คอมไพล์สคีมาตอนบิลด์ ไม่ใช้ reflection ตอนรัน และรันโมเดลบนเครื่องผู้ใช้ผ่าน Gemini Nano กับ LiteRT-LM
เครื่องมือนักพัฒนา

ADK for Kotlin 1.0 ขึ้น GA — เอเจนต์ที่คอมไพล์สคีมาตอนบิลด์ ไม่ใช้ reflection ตอนรัน และรันโมเดลบนเครื่องผู้ใช้ผ่าน Gemini Nano กับ LiteRT-LM

อ่าน 6 นาที ที่มา: Google Developers Blog

วันที่ 9 กันยายน 2026 Guillaume Laforge เขียนบนบล็อกนักพัฒนาของ Google ประกาศว่า ADK for Kotlin 1.0 ขึ้น general availability แล้ว — Agent Development Kit เวอร์ชันภาษา Kotlin ที่ตามหลัง Python, Java และ Go มา และคราวนี้ทีมอ้างว่าได้ feature parity เต็มกับ ADK 1.0 Core

บล็อกนี้เคยเขียนถึง ADK for Kotlin ตอนเป็นรุ่นทดลองเมื่อ 26 พ.ค. ซึ่งตอนนั้นจุดขายคือเอเจนต์บนแอนดรอยด์กับ Gemini Nano รอบนี้ต่างออกไปตรงที่มันเป็นรุ่นเสถียรพร้อมพิกัด Maven จริง และมีของสองอย่างที่ ADK ภาษาอื่นไม่มี — อย่างแรกเป็นเรื่องวิธีคอมไพล์ อย่างที่สองเป็นเรื่องว่าโมเดลรันที่ไหน

ก่อนอื่นเรื่องวันที่: บล็อกลงวันที่ 9 ก.ย. แต่แท็ก v1.0.0 บน GitHub เผยแพร่จริงเมื่อ 7 ก.ย. เวลา 11:08 UTC และรีลีสโน้ตในแท็กนั้นละเอียดกว่าบล็อกพอสมควร ใครอยากได้รายการเปลี่ยนแปลงจริงควรอ่านที่แท็ก ไม่ใช่ที่บล็อก

KSP: สคีมาของทูลถูกสร้างตอนคอมไพล์ ไม่ใช่ตอนรัน

จุดที่เป็นเทคนิคที่สุดและเป็นจุดที่ Kotlin ได้เปรียบจริงคือวิธีนิยามทูล

ในเฟรมเวิร์กเอเจนต์ส่วนใหญ่ เวลาคุณประกาศฟังก์ชันให้โมเดลเรียกใช้ ระบบจะอ่านลายเซ็นของฟังก์ชันด้วย reflection ตอนรันไทม์ เพื่อสร้าง JSON schema ส่งให้โมเดล วิธีนี้ทำงานได้แต่มีราคาสามอย่าง คือช้าตอนสตาร์ต, พังตอนรันแทนตอนบิลด์ถ้าประกาศผิด, และเข้ากันไม่ได้กับการคอมไพล์แบบ ahead-of-time ที่ตัดโค้ดที่ไม่ถูกอ้างถึงทิ้ง

ADK for Kotlin ใช้ annotation @Tool และ @Param แล้วให้ KSP (Kotlin Symbol Processing) สร้างสคีมาตอนคอมไพล์ รีลีสโน้ตใช้คำว่า “zero runtime reflection” ตรง ๆ ผลคือถ้าคุณประกาศพารามิเตอร์ผิดชนิดหรือลืมคำอธิบาย มันฟ้องตอน ./gradlew build ไม่ใช่ตอนที่โมเดลเรียกทูลแล้วได้อาร์กิวเมนต์ผิดรูปกลางโปรดักชัน สำหรับคนที่เคยไล่บั๊กประเภท “ทูลนี้ทำงานได้ตอนเทสต์แต่โมเดลส่ง string มาแทน int ตอนใช้จริง” นี่คือความต่างที่รู้สึกได้

นอกจากนี้ทูลรองรับ suspend function ตรง ๆ ตามธรรมชาติของ Kotlin coroutines จึงไม่ต้องห่อ blocking call เอง และมี SkillToolset สำหรับโหลดสกิลแบบไดนามิกด้วยแนวคิด progressive disclosure คือไม่ยัดคำอธิบายทูลทั้งหมดเข้าคอนเท็กซ์ตั้งแต่เทิร์นแรก

รีลีสโน้ตยังระบุ first-party Java interoperability ชัดเจน และรายการฟีเจอร์ตั้งแต่ 0.9.0 มีคอมมิตพอร์ตตัวอย่างเป็น Java ไว้แทบทุกหมวด (callbacks, memory, compaction, HITL, long-running, MCP, BigQuery) พร้อมคลาสฐาน Publisher/Future และอะแดปเตอร์ RxJava/Reactor แปลว่านี่ไม่ใช่ Kotlin-only จริง ๆ แต่เป็นทางเลือกของทีม JVM ที่ยังเขียน Java อยู่ด้วย

ของที่ ADK ภาษาอื่นไม่มี: เอเจนต์ทั้งตัวรันบนมือถือผู้ใช้

ส่วนขยายฝั่ง Android คือส่วนที่แยก ADK for Kotlin ออกจาก ADK Python/Go อย่างเด็ดขาด รีลีสโน้ตแจกแจงไว้เป็นแพ็กเกจแยก:

  • google-adk-kotlin-mlkit-android — เรียก Gemini Nano บนเครื่อง ผ่าน ML Kit GenAI (ยังเป็น beta ที่เวอร์ชัน 1.0.0-beta)
  • google-adk-kotlin-litertlm — รันโมเดลอย่าง Gemma บนเครื่อง ผ่านเอนจิน LiteRT-LM
  • google-adk-kotlin-firebase-android — เรียก Gemini บนคลาวด์ผ่าน Firebase AI Logic
  • เซสชันถาวรด้วย Room/SQLite และหน่วยความจำเชิงความหมายบนเครื่องด้วย AppSearch
  • อาร์ทิแฟกต์เป็นไฟล์ในเครื่อง และ สกิลที่แพ็กมากับ APK เป็น asset

ข้อสุดท้ายน่าสนใจกว่าที่เห็น เพราะมันแปลว่าสกิลของเอเจนต์เดินทางไปกับตัวแอปในไฟล์ APK ไม่ต้องดึงจากเซิร์ฟเวอร์ตอนเปิดแอปครั้งแรก ซึ่งเป็นเงื่อนไขจำเป็นถ้าอยากให้เอเจนต์ทำงานได้ตั้งแต่วินาทีแรกและทำงานได้ตอนออฟไลน์

พิกัด Maven ของแกนหลักคือ com.google.adk:google-adk-kotlin-core:1.0.0 และ com.google.adk:google-adk-kotlin-processor:1.0.0 ส่วนรีโปอยู่ใต้ Apache-2.0 ที่ github.com/google/adk-kotlin — สร้างเมื่อ 12 พ.ค. 2026 ตอนนี้มี 198 ดาว และไล่รุ่นมาอย่างสม่ำเสมอทุกสองสัปดาห์ (0.5.0 วันที่ 6 ก.ค., 0.6.0 วันที่ 20 ก.ค., 0.7.0 วันที่ 3 ส.ค., 0.8.0 วันที่ 17 ส.ค., 0.9.0 วันที่ 31 ส.ค. แล้ว 1.0.0 วันที่ 7 ก.ย.)

ฝั่งคลาวด์ระดับองค์กรมี VertexAiSessionService, VertexAiRagMemoryService และ VertexAiMemoryBankService โดยรีลีสโน้ตเรียกแพลตฟอร์มนี้ว่า “Gemini Enterprise Agent Platform (formerly Vertex AI)” — การเปลี่ยนชื่อที่ควรบันทึกไว้เพราะเอกสารเก่ายังใช้ชื่อ Vertex AI อยู่

สิ่งที่ต้องรู้ก่อนอัปเกรด และสิ่งที่ยังไม่นิ่ง

รีลีสโน้ตมีของที่พังได้จริงอยู่หนึ่งข้อ: com.google.adk.kt.webserver.AdkWebServer ถูกลบทิ้งแล้ว พร้อม .adkModule, .AgentGraphGenerator และรูตหลายตัวใน webserver.routes (debugRoutes, evalRoutes, graphRoutes ฯลฯ) ของแทนย้ายไปอยู่ใต้ com.google.adk.kt.webserver.dev และ webserver.dev.routes ทั้งหมดนี้ถูก deprecate มาตั้งแต่ 0.9.0 คือให้เวลาแค่หนึ่งรุ่น (7 วัน) ก่อนลบจริง ใครข้ามจาก 0.8.0 มา 1.0.0 ตรง ๆ จะเจอโค้ดพังโดยไม่ได้เห็นคำเตือน

ส่วนที่ยังไม่นิ่ง: ส่วนขยาย ML Kit ยังเป็น 1.0.0-beta ไม่ใช่ 1.0.0 — แปลว่าเส้นทาง Gemini Nano ซึ่งเป็นจุดขายหลักฝั่งออนดีไวซ์ ยังเป็นส่วนเดียวใน 1.0 ที่ API ยังเปลี่ยนได้ ขณะที่เส้นทาง LiteRT-LM ขึ้น 1.0.0 เต็ม และรีโปมี 31 issue เปิดอยู่ ณ วันที่เขียน

รายการแก้บั๊กในรุ่นนี้บอกอะไรเกี่ยวกับความสุกของ 1.0 อยู่บ้าง หลายข้อเป็นเรื่องพื้นฐานที่เพิ่งแก้ เช่น “always serialize Event timestamp and id”, ทำ base64 ให้ Blob และ thought-signature bytes ตอน serialize, การ resume กลับเข้า agent ที่เป็น peer หรือ parent ไม่ใช่แค่ descendant, และการ scope อาร์ทิแฟกต์ที่ขึ้นต้นด้วย user: ให้เป็นของผู้ใช้จริงใน InMemoryArtifactService — ข้อหลังนี้เป็นบั๊กความปลอดภัยของข้อมูลข้ามผู้ใช้ที่เพิ่งปิดในรุ่นที่ประกาศว่าพร้อมโปรดักชัน

ตัวอย่างในบล็อกมีสองชิ้นคือเอเจนต์รับมือเหตุขัดข้องของฐานข้อมูลที่ใช้ playbook แบบ SOP เป็นไฟล์ และผู้ช่วยการเงินบนแอนดรอยด์ที่มีขั้นตอนขออนุมัติก่อนทำธุรกรรมสำคัญ โดยตัวอย่างหลังมีข้อความกำกับเองว่า “This example is for demonstration purposes only, and not designed to meet any compliance requirements”

มุมมอง AI Curator

ประเด็นที่สำคัญกว่าฟีเจอร์ลิสต์คือ ADK for Kotlin เป็น ADK ตัวแรกที่สมมติฐานเรื่องที่ตั้งของโมเดลไม่ได้ผูกกับคลาวด์

ADK Python กับ Go เกิดมาเพื่อรันบนเซิร์ฟเวอร์ คำถามคือเอเจนต์คุยกับ Gemini API อย่างไร ส่วน ADK for Kotlin ยอมให้ทั้งเอเจนต์ ทั้งเซสชัน ทั้งหน่วยความจำ และทั้งโมเดล อยู่ในเครื่องผู้ใช้ได้ทั้งหมด — Room เก็บเซสชัน AppSearch เก็บความจำเชิงความหมาย LiteRT-LM รันโมเดล และสกิลแพ็กมากับ APK นั่นไม่ใช่ ADK เวอร์ชันแปลภาษา แต่เป็นสถาปัตยกรรมคนละแบบที่บังเอิญใช้ API หน้าตาเดียวกัน

สำหรับตลาดไทยและ SEA นี่คือหมวดที่ตรงกับความจริงของผู้ใช้มากกว่าที่คนมักคิด ฐานผู้ใช้ส่วนใหญ่อยู่บนแอนดรอยด์ ราคาเครื่องกลางถึงล่าง เน็ตไม่เสถียรนอกเมือง และต้นทุนต่อโทเคนเป็นข้อจำกัดจริงเมื่อคิดเป็นเงินบาทต่อผู้ใช้ต่อเดือน ฟีเจอร์ที่ดูเป็นรายละเอียดอย่าง “สกิลแพ็กมากับ APK” หรือ “เซสชันอยู่ใน SQLite” จึงแปลตรงเป็นสิ่งที่ผู้ใช้รู้สึกได้ คือแอปเปิดแล้วใช้ได้เลย ใช้ได้ตอนสัญญาณหาย และบริษัทไม่ต้องจ่ายค่า API ทุกครั้งที่มีคนกดปุ่ม

แต่ต้องอ่านให้ครบว่าเส้นทางออนดีไวซ์ยังไม่เท่ากันสองเส้น Gemini Nano ผ่าน ML Kit ยังเป็น beta ส่วน LiteRT-LM ขึ้น 1.0 เต็ม ความต่างนี้มีนัยเชิงกลยุทธ์ เพราะ Gemini Nano ผูกกับเครื่องที่ Google รองรับซึ่งเป็นเรือธงเป็นส่วนใหญ่ ขณะที่ LiteRT-LM รัน Gemma หรือโมเดลอื่นที่คุณเลือกเองบนเครื่องอะไรก็ได้ที่แรงพอ ทีมที่ตั้งเป้าตลาดที่เครื่องไม่ได้แพง ควรเริ่มจากเส้น LiteRT-LM ตั้งแต่แรก — ซึ่งเปิดประตูให้ใช้โมเดลไทยที่ควอนไทซ์แล้วแทนที่จะรอ Gemini Nano รองรับภาษาไทยดีพอ

ข้อสังเกตสุดท้ายที่ควรพูดตรง ๆ: การลบ AdkWebServer หลัง deprecate มาเพียงหนึ่งรุ่นที่ห่างกัน 7 วัน ไม่ใช่จังหวะของไลบรารีที่คาดหวังให้คนเอาไปใช้ในโปรดักชัน และการที่บั๊ก scope อาร์ทิแฟกต์ข้ามผู้ใช้เพิ่งถูกปิดในรีลีสเดียวกับที่ติดป้าย GA บอกว่า “1.0” ตัวนี้คือคำสัญญาเรื่องความเสถียรของ API ต่อจากนี้ ไม่ใช่คำรับรองว่าโค้ดผ่านการใช้งานหนักมาแล้ว ทีมที่จะขึ้นโปรดักชันควรอ่าน CHANGELOG ทุกรุ่นจริง ๆ ไม่ใช่เชื่อเลข major version

แหล่งข่าว

บทความนี้เรียบเรียงจากแหล่งข่าวต้นทาง — Google Developers Blog

เนื้อหาบน blog นี้สร้างโดย AI โดยมีการกำกับบรรณาธิการจากมนุษย์

อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา

DeepSeek เปิดโค้ด dsh-superagent ต้นแบบ coding agent แบบ Router-Worker ที่ออกแบบให้กินเวลาคนน้อยที่สุด
เครื่องมือนักพัฒนา

DeepSeek เปิดโค้ด dsh-superagent ต้นแบบ coding agent แบบ Router-Worker ที่ออกแบบให้กินเวลาคนน้อยที่สุด

ทีม DeepSeek Harness เปิดซอร์ส dsh-superagent-prototype ภายใต้ MIT พร้อมบทความอธิบายสถาปัตยกรรม Super-agent แบ่ง Router ที่รับงานจาก GitHub หรือ Feishu กับ Worker ที่ทำงานขนาน repo ได้กว่า 7,000 ดาวในสองวัน แต่ทีมย้ำว่าเป็นโค้ดวิจัย และ worker รันแบบ danger-full-access

· อ่าน 5 นาที
tandem.cpp แพตช์ llama.cpp ให้ CPU ช่วย GPU รันโมเดล MoE ที่ใหญ่เกิน VRAM เร็วขึ้นสูงสุด 3.3 เท่าบน RTX 4090
เครื่องมือนักพัฒนา

tandem.cpp แพตช์ llama.cpp ให้ CPU ช่วย GPU รันโมเดล MoE ที่ใหญ่เกิน VRAM เร็วขึ้นสูงสุด 3.3 เท่าบน RTX 4090

tandem.cpp เป็นชุดแพตช์ MIT สำหรับ llama.cpp ที่เก็บ expert ที่ใช้บ่อยไว้บน GPU และให้ CPU คำนวณส่วนที่เหลือ ผู้พัฒนารายงานว่า Qwen3.8-Flash-Next ได้ราว 97 token/s บน RTX 4090 กับ RAM 64GB เทียบกับ 29.8 ของ llama.cpp แต่ตัวเลขยังไม่มีคนนอกยืนยัน

· อ่าน 4 นาที
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
เครื่องมือนักพัฒนา

Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ

Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2

· อ่าน 5 นาที