一个 Agent 开发套件,五种语言

Google 的 Agent Development Kit (ADK) 不再把 agent 限定在 Python 里。它提供 Python、Go、TypeScript、Java、Kotlin 五个原生版本,每个版本为该语言的运行时和类型系统单独设计,但共享统一架构,通过开放协议互通。你不需要为 agent 单独开一个 Python 服务,也不用在另一个语言里重写编排逻辑。

共同基座是 MCP 和 A2A。五个语言版本都内置 Model Context Protocol client,自定义工具暴露成 MCP server 后,任何语言都能直接调用。多 agent 系统走 Agent2Agent (A2A) 协议,agent 通过 HTTP 与远程 agent 通信,不同语言或框架写的 agent 可以互相协作。

开始使用时,一次性命令检查 Google Cloud 认证和安装 CLI,还能在 Antigravity、Claude Code、Codex 等编码 agent 中配置 first-party ADK skills。Python 和 Kotlin 仓库自带 agent builder skills,adk.dev/llms.txt 给任意编码 agent 提供五种语言的按需 API 文档。

五个语言本身各有取舍。Python 是 reference implementation,直接把普通函数传给 tools 参数,ADK 在启动时从函数签名、类型注解和 docstring 里自动生成工具声明和 Pydantic 参数 schema;它拥有最全的 Google Cloud 集成和 Gemini、Anthropic、OpenAI、LiteLLM 等模型适配器,adk eval 可以在 CI 里对照 golden datasets 对整个系统做端到端评分,即便生产服务用别的语言。

Go 侧重生产后端。工具函数接收 agent.Context 和一个强类型输入结构体,functiontool.New 用泛型从 struct tags 推导输入输出 schema,编译期就校验 handler 契约。Go 是 Python 之后第一个带 ADK 2.0 Graph Workflow 运行时的语言,workflow.New 把 agent 和普通 Go 函数组成带条件路由和并行步骤的有向图。部署到 Cloud Run / GKE 时,编译后的 Go agent 能打到约 2 MiB 的 distroless 静态镜像,没有语言 VM 和重型依赖;静态二进制启动即监听端口,跳过动态语言模块导入和 JVM 的 JAR 解压、JIT 预热。每个 goroutine 从 2 KB 栈开始,调度开销极小,单个实例可以多路复用大量并发流式请求和工具调用。Go 版本还内置 A2A server handlers 和 OpenTelemetry tracing。

TypeScript 在编译后类型信息被擦除,所以 ADK for TypeScript 和 Zod 配合,传一个 z.object(…) schema 给 FunctionTool,运行时校验、发给模型的 JSON Schema、IDE 自动补全都从同一个声明来。它同样跑在 Graph Workflow 引擎上,并有独立 browser bundle:除了 Node.js 服务,还能直接在浏览器标签页里用 WebMCP 做页面级工具,配合 Chrome 的 on-device Prompt API 运行 agent。

Java 面向已有 Maven/Gradle/Spring Boot 技术栈的团队,方法参数加 @Schema 注解,用流式的 LlmAgent.builder() 组装 agent,运行时通过 RxJava 流式下发事件,另有 Maven Dev UI 插件和 Spring AI、LangChain4j 的第一方桥接。Kotlin 强调构建期安全,KSP 编译器插件在构建时读 @Tool/@Param 注解,直接把工具 schema 生成到字节码里,遇到不支持的类型或非空参数带默认值会让 Gradle 构建立刻失败,而不是等生产环境爆。generatedTools() 完全零运行时反射,能扛 Android R8 混淆,因此整个 agent 循环可以在 Android 本地跑;它支持 LiteRT-LM 做 tool calling、ML Kit (Gemini Nano) 做文本生成,Room/AppSearch 管本地状态,AppFunctions 做系统级操作,全程不需要网络。

五个原生实现意味着组织不必为整套系统挑一个统一运行时。每个组件可以用最适合自己的语言,而 MCP 和 A2A 负责把它们连起来。

One Agent Development Kit, five languages

查看原文