
MobileGraph: chạy agent AI on-device cho Android và iOS
SDK Kotlin Multiplatform mới đưa graph agent, RAG trên SQLite, MCP và A2A vào app mobile, kèm checkpoint sống sót khi OS kill app. Bản 0.5.0-alpha.
Bạn muốn nhét một agent AI vào app Android hoặc iOS, nhưng LangGraph và các framework server-side đều giả định process sống mãi. Trên mobile, OS kill app bất cứ lúc nào. MobileGraph vừa ra mắt với đúng giả định ngược lại.
Theo tác giả, đây là "an open-source Kotlin Multiplatform SDK built strictly for the realities of Android and iOS edge devices", mô tả là "the architectural principles of LangGraph, re-engineered for mobile lifecycles". SDK đã lên Maven Central, license Apache 2.0, và bind trực tiếp vào state của Jetpack Compose lẫn SwiftUI.
Thứ khác biệt thật sự: durable execution
Điểm bán hàng chính không phải là tool-calling. Framework "automatically checkpoints state after every graph node execution" — OS giết app, hoặc user chuyển màn rồi quay lại, workflow resume đúng chỗ cũ qua agentRuntime.resume(graph, checkpointId, nodeId, input). Cơ chế dựa trên immutable state: mỗi transition sinh một snapshot mới (State S → Node → State S'), nên workflow replay và debug được.
Đây chính là thứ các framework agent viết cho server không có, vì chúng không bao giờ phải sống sót qua process death. Nếu bạn từng mất nửa phiên agent vì Android low-memory killer, đây là lý do đáng đọc tiếp.
Có sẵn những gì
- RAG on-device: loader cho PDF, Markdown, HTML, JSON, CSV và website; splitter gồm RecursiveTextSplitter, TokenTextSplitter, CharacterTextSplitter; vector store chạy trên SQLite (
SQLiteVectorStore+AndroidSqliteDriver). Retriever có VectorStoreRetriever, BM25Retriever, HybridRetriever và MultiQueryRetriever. - Tool-calling với Semantic Tool Selection — dùng vector embedding để chọn tool liên quan nhất, theo tác giả là "so you're not wasting tokens sending 100 tool definitions every call".
- Multi-agent qua DSL
stateGraph: fan-out/fan-in, human-in-the-loop, sub-agent phân cấp, conditional branching. - MCP và A2A: MCP kết nối tool ngoài qua JSON-RPC 2.0 với auto-discovery và auto-registration vào ToolRegistry; A2A cho phép đẩy subtask từ model on-device sang agent cloud chuyên biệt qua
A2ANode, có Agent Card discovery và SSE artifact streaming. - Streaming bằng Kotlin Flow, không callback, không RxJava — cooperative cancellation và tích hợp Compose có sẵn.
Điều kiện và cảnh báo trước khi thử
Yêu cầu môi trường: Kotlin 2.0+, Gradle 8.4+, JDK 17+, Android Min SDK 24+. Thêm dependency io.github.mobilegraph:mobilegraph-sdk cùng một HTTP engine (bài gốc dùng io.ktor:ktor-client-okhttp:3.5.1).
Hai điểm cần tỉnh táo. Thứ nhất, bản phát hành ghi trên Maven Central là 0.5.0-alpha — alpha, không phải production-ready, và bài giới thiệu tự nhận là Part 1 của một series. Thứ hai, mọi con số và tuyên bố về kiến trúc trong bài đều là của tác giả framework; chưa có benchmark độc lập nào về độ trễ hay mức pin trên thiết bị thật.
Điểm cộng cho cấu trúc: module tách rời, "a chat-only app doesn't pull in the RAG or Agent modules" — app chat thuần không kéo theo RAG hay Agent, nên APK không phình vô cớ.
Nên thử khi nào
Dựng một spike nhỏ nếu app của bạn cần agent chạy nhiều bước và phải sống qua việc bị OS kill — checkpoint là thứ khó tự viết lại nhất. Nếu bạn chỉ cần gọi một model để chat, SDK này là thừa. Với dự án production, chờ bản rời alpha trước đã.
Không spam, hủy đăng ký bất kỳ lúc nào.
Bài viết liên quan

Bật sandbox cho coding agent mà không phá vỡ workflow
31 thg 10, 2026
Thử 20 prompt injection vào bot n8n: 12 email lọt lưới
28 thg 10, 2026