Google ADK 2026 教程:五种语言构建 AI Agent,MCP、A2A、Go 和 Python 实战
一、为什么 AI Agent 不应该只属于 Python 开发者?
过去,很多 AI Agent 框架首先选择 Python。
原因非常简单。
Python 拥有成熟的机器学习生态、丰富的 AI SDK,以及较低的开发门槛。
但在真正的企业软件系统中,开发语言远不止 Python。
例如,一家公司可能使用:
Go 开发高并发 API 网关。
TypeScript 开发 Web 应用。
Java 开发订单和支付系统。
Kotlin 开发 Android 客户端。
Python 则主要用于数据分析和模型评估。
如果所有 AI Agent 都必须运行在 Python 服务中,企业就可能为了接入 AI 而额外维护一套独立技术栈。
这增加了系统复杂度。
2026 年 10 月 13 日,Google Cloud 发布《One Agent Development Kit, five languages》技术文章,系统介绍 ADK 已经覆盖的五种语言:
Python、Go、TypeScript、Java 和 Kotlin。
Google 的核心目标,是让开发者能够选择熟悉的语言,同时仍然使用相近的 Agent 架构,以及标准化的工具和多 Agent 通信协议。
需要注意,这篇文章是对 Google ADK 现有多语言生态的技术总结,并不意味着五种语言都是 10 月 13 日首次推出。
二、Google ADK 是什么?
ADK 的完整名称是 Agent Development Kit。
它是 Google 提供的 AI Agent 开发工具包。
与仅仅发送一次模型 API 请求不同,Agent 开发需要管理更多组件。
例如:
模型调用。
工具注册。
多轮对话。
任务状态。
工作流编排。
多个 Agent 的通信。
执行结果评估。
ADK 就是帮助开发者组织这些能力的框架。
一个典型 ADK 工作流可以表示为:
用户输入 → Agent → 模型推理 → 工具调用 → 工具返回结果 → 模型继续推理 → 最终回答。
开发者不需要从零开始编写所有 Agent 编排逻辑。
但 ADK 并不自动替你实现所有企业业务规则。
权限、数据安全、外部系统认证和操作审批仍然需要根据真实业务设计。
三、五种语言分别适合什么场景?
| 语言 | ADK 特点 | 推荐使用场景 |
|---|---|---|
| Python | 开发生态成熟,模型与评估集成丰富 | 原型、研究、RAG、评估 |
| Go | 强类型、高并发、部署轻量 | API 网关、微服务、生产 Agent |
| TypeScript | Zod Schema、Node.js 和浏览器生态 | Web Agent、前后端应用 |
| Java | Maven、Gradle、Spring 生态 | 企业服务、JVM 后端 |
| Kotlin | KSP、Android、设备端能力 | Android Agent、本地推理 |
这里最值得关注的是:
不同语言不需要拥有完全相同的内部实现。
Google ADK 会根据语言本身的特点选择合适的工具注册方式。
例如,Python 利用函数签名和类型提示。
Go 利用泛型和结构体。
TypeScript 使用 Zod。
Java 使用注解和 Builder。
Kotlin 则通过编译期代码生成减少运行时反射。
这些差异能让开发者保持原有语言生态习惯。
四、Google ADK 为什么强调 MCP 和 A2A?
这是五语言架构最关键的共同基础。
MCP:连接工具
MCP 的完整名称为 Model Context Protocol。
主要用于让 Agent 通过统一协议连接外部工具。
例如:
数据库查询。
文件读取。
内部业务 API。
知识库搜索。
假设企业已经有一个 MCP Server,用于查询订单状态。
Python Agent 可以调用它。
Go Agent 也可以调用它。
Java 或 TypeScript Agent 同样可以在协议和工具授权条件满足时使用它。
这样就不必为每种语言重复开发一套相同的工具协议。
A2A:连接 Agent
A2A 的完整名称为 Agent2Agent。
主要用于不同 Agent 之间的通信。
例如:
Python 研究 Agent 负责查询资料。
Go 业务 Agent 负责处理订单。
Java 企业 Agent 负责审批。
它们可以通过 A2A 协议交换任务和结果。
因此,一个企业可以根据不同部门的技术栈开发 Agent,而不必强制整个系统只使用一种编程语言。
五、Python ADK 从零开始教程
对于初学者,建议先使用 Python 理解 ADK 的基础工作方式。
官方要求 Python 3.10 或更新版本。
第一步:创建虚拟环境
python -m venv .venv
Windows PowerShell:
.venv\Scripts\Activate.ps1
Linux/macOS:
source .venv/bin/activate
第二步:安装 ADK
pip install -U google-adk
第三步:创建 Agent 项目
adk create my_agent
官方脚手架会生成一个包含 Agent 配置的项目。
典型目录如下:
my_agent/
├── __init__.py
├── agent.py
└── .env
第四步:配置 Gemini API Key
在 my_agent/.env 中填写:
GOOGLE_API_KEY="你的真实API密钥"
实际密钥应从 Google AI Studio 获取。
不要提交到公开 Git 仓库。
第五步:编写一个具备工具调用能力的 Agent
将 my_agent/agent.py 修改为:
from google.adk.agents.llm_agent import Agent
def get_service_status(service: str) -> dict:
"""Returns a mock service status.
Args:
service: Name of the service to check.
"""
return {
"service": service,
"status": "healthy",
"note": "Demo result, not live monitoring"
}
root_agent = Agent(
name="service_status_agent",
model="gemini-3.8-flash",
instruction=(
"You are a service monitoring assistant. "
"Use the provided tool when asked about "
"service status. Clearly state that "
"the returned status is mock data."
),
tools=[get_service_status],
)
这是一个模拟服务状态查询的示例。
它不连接真实服务器,也不会读取真实监控系统。
第六步:运行 Agent
在包含 my_agent 文件夹的父目录执行:
adk run my_agent
然后输入:
“查询 api-gateway 的服务状态。”
Agent 可以根据任务决定是否调用 get_service_status 工具。
第七步:使用 Web 开发界面
执行:
adk web --port 8000
然后访问:
选择对应 Agent 进行调试。
需要注意,ADK Web 是开发调试工具,不应直接作为未经保护的生产管理后台公开部署。
六、Python ADK 为什么适合快速开发?
Python 最大的优势是编写工具非常直接。
例如:
def lookup_order(order_id: str) -> dict:
"""Looks up a demo order."""
return {
"order_id": order_id,
"status": "pending"
}
开发者可以将这样的函数放进 Agent 的 tools 参数。
ADK 根据函数签名、类型提示和文档说明生成相应的工具声明。
这样可以快速为 Agent 添加新能力。
不过,如果接入真实订单数据库,就不能继续使用不受限制的直接查询函数。
应增加用户身份校验、租户隔离、查询权限和日志管理。
七、Go ADK 为什么适合生产环境?
Go 是云原生系统中常见的后端语言。
它适合构建高并发 HTTP 服务、API 网关和轻量容器。
Google ADK for Go 保留了这种开发体验。
例如一个工具输入可以定义为:
type GetWeatherArgs struct {
City string `json:"city" jsonschema:"City name"`
}
type GetWeatherResult struct {
Report string `json:"report"`
}
然后使用 Go ADK 提供的 functiontool.New 注册工具。
与 Python 自动检查函数签名的方式不同,Go 更强调结构体类型和编译期检查。
Google 还介绍,Go ADK 2.0 支持 Graph Workflow,可以使用明确的节点和边定义复杂任务流程。
这对于需要可预测步骤的企业工作流很有价值。
例如:
用户请求 → 身份校验 → 订单检查 → 人工审批 → 执行任务 → 发送结果。
不是所有步骤都必须由语言模型自由决定。
某些关键操作可以使用确定性的流程节点。
当前官方 Go ADK 2.0 快速入门要求 Go 1.25 或更新版本。
开发者应在部署前检查实际项目依赖及对应 SDK 版本。
八、使用 Agents CLI 创建 Go Agent
Google 官方还推出了用于 Agent 项目管理的 Agents CLI。
可通过以下命令进行一次性设置:
uvx google-agents-cli setup
然后生成 Go Agent 项目:
agents-cli scaffold create my-go-agent \
--agent adk_go \
--deployment-target cloud_run \
--region us-central1
这里以 Cloud Run 为目标部署环境。
Google 官方说明,脚手架还可以生成适用于其他受支持运行环境的项目配置,例如 GKE 和 Gemini Enterprise Agent Runtime。
生成项目不等于已经完成云端部署。
正式部署仍然需要 Google Cloud 项目、认证、权限和运行环境。
对于首次测试,建议先在本地运行和验证 Agent。
九、TypeScript ADK 怎么注册工具?
TypeScript 的优势是与 Node.js 和前端生态紧密结合。
Google ADK for TypeScript 使用 Zod 定义工具输入。
示例如下:
import { FunctionTool, LlmAgent } from "@google/adk";
import { z } from "zod";
const calculateTool = new FunctionTool({
name: "calculate_total",
description: "Calculates a price total",
parameters: z.object({
price: z.number(),
quantity: z.number()
}),
execute: async ({ price, quantity }) => {
return {
total: price * quantity
};
}
});
export const rootAgent = new LlmAgent({
name: "sales_agent",
model: "gemini-3.8-flash",
instruction: "Help users calculate totals.",
tools: [calculateTool]
});
这段代码展示了 TypeScript ADK 的工具声明方式。
Zod 的作用是将参数结构、类型验证和开发时类型提示联系起来。
相比完全依靠自然语言描述参数,结构化 Schema 更有利于控制工具输入。
另外,Google 也介绍了 TypeScript ADK 的浏览器运行能力,可以结合 WebMCP 和设备端模型 API 探索更轻量的 Agent 应用。
十、Java ADK 适合传统企业软件
Java 在企业系统中具有庞大的使用基础。
很多订单、库存、财务和企业管理应用都运行在 Spring Boot 等 JVM 技术栈上。
Google ADK for Java 提供符合 Java 习惯的 API。
例如:
public class OrderTools {
public static String getOrderStatus(
@Schema(
name = "orderId",
description = "Order identifier"
)
String orderId
) {
return "pending";
}
}
开发者可以通过 ADK 的工具注册接口,将对应方法提供给 Agent。
在完整项目中,还需要使用适配版本的依赖和导入语句。
Google 官方还介绍了 Java ADK 与 Maven、RxJava、Spring AI 和 LangChain4j 相关集成能力。
对于已经拥有成熟 Java 微服务体系的企业,使用 Java Agent 可以减少引入第二套语言环境的成本。
十一、Kotlin ADK 与 Android Agent
Kotlin 是 Android 原生开发的重要语言。
Google ADK for Kotlin 值得关注的特点是:
它使用 KSP 在编译期间生成工具 Schema。
例如:
class DeviceTools {
@Tool(
name = "get_device_status",
description = "Gets a demo device status"
)
suspend fun getDeviceStatus(
@Param("Device identifier")
deviceId: String
): Map<String, String> {
return mapOf(
"deviceId" to deviceId,
"status" to "ready"
)
}
}
以上展示官方 Kotlin ADK 的注解式工具设计;实际使用还需要对应的 KSP 插件、依赖及 Agent 初始化代码。
Google 介绍,Kotlin ADK 可以结合 LiteRT-LM、ML Kit 等能力探索设备端 Agent。
这意味着一部分 Agent 推理和工具调用有机会在本地设备完成。
但是否真正离线运行,取决于使用的具体模型、工具和资源。
不能把所有 Kotlin ADK 应用都理解为默认无需联网。
十二、ADK 如何开发多 Agent 系统?
假设一个企业要构建订单自动处理平台。
可以采用三个 Agent。
Research Agent: 负责查找知识库和订单规则。
Order Agent: 负责验证订单数据。
Notification Agent: 负责在授权后发送结果。
每个 Agent 可以使用不同语言实现。
例如:
Python 用于知识检索。
Go 处理订单服务。
Java 管理通知和企业审批。
然后通过 A2A 协议互相通信。
需要注意,多 Agent 架构不等于每个 Agent 都可以直接访问其他系统的数据。
任务身份、权限范围、数据边界和调用预算仍然需要统一管理。
十三、Google ADK 与 LangChain、LangGraph 有什么区别?
这些框架都可以参与 Agent 开发,但架构和生态重点不同。
Google ADK 强调 Google 云端和模型生态,同时通过 MCP、A2A 提供跨工具、跨 Agent 的标准化连接。
LangChain 主要提供丰富的模型、工具、检索与应用组件。
LangGraph 则特别强调状态化工作流和图结构编排。
对于开发者而言,选择框架时可以关注:
是否需要现有 Google Cloud 集成。
是否已有成熟的 LangChain 工具链。
是否需要确定性图工作流。
团队主要使用哪种语言。
运行环境是否为本地、Cloud Run、Kubernetes 或其他平台。
没有必要认为其中某一种框架可以完全替代其他全部工具。
十四、生产环境必须注意哪些安全问题?
当 ADK Agent 可以访问真实业务工具时,安全风险会明显增加。
建议重点关注:
最小权限: 只开放当前任务需要的工具。
工具输入校验: 防止错误参数影响业务系统。
身份认证: 区分真实用户、Agent 和服务账号。
人工审批: 对删除数据、付款及部署等高风险操作增加审批。
任务审计: 记录关键执行步骤和结果。
资源预算: 限制模型调用次数、Token 消耗和执行时间。
Prompt Injection 防护: 不把外部网页和工具返回内容直接当作系统指令。
这类安全能力不能仅依靠 ADK 自动完成,仍需要业务系统配合。
十五、Agent 怎么进行测试与评估?
一个常见误区是:
只要 Agent 能回答问题,就认为开发完成。
但真正的 Agent 测试必须关注工具执行过程。
例如一个订单查询 Agent:
不仅需要回答正确订单状态。
还需要保证它没有访问无权限订单。
没有调用不必要的工具。
没有在失败后重复扣费。
没有泄露敏感数据。
Google 官方介绍,ADK 提供针对 Agent 轨迹的评估能力。
开发者可以准备一组固定测试任务,检查期望工具调用、实际结果和执行错误。
对于较成熟的项目,还可以在 CI 中运行这些测试。
十六、常见问题
Google ADK 是免费的吗?
框架本身可以用于开发,但模型 API、云端运行环境和外部工具可能产生费用。
ADK 必须使用 Gemini 吗?
不一定。官方介绍了多模型适配能力,具体支持情况依语言、版本和接入方式而异。
Go ADK 能部署到自己的 VPS 吗?
从技术上可以将 Go 服务部署到自己的服务器,但需要自行配置模型认证、工具和运行环境。
MCP 和 A2A 是一回事吗?
不是。MCP 重点解决 Agent 与工具之间的连接;A2A 重点解决 Agent 与 Agent 之间的通信。
哪种语言最适合初学者?
建议优先使用 Python。对于已有生产 Go、Java 或 TypeScript 技术栈的团队,可以直接评估对应语言的 ADK。
十七、总结
Google ADK 五语言架构说明,AI Agent 的开发方式正在逐渐走向成熟的软件工程体系。
企业不再需要为了接入 AI,强制把所有业务迁移到 Python。
开发者可以根据现有技术栈,选择 Go、TypeScript、Java 或 Kotlin 构建 Agent。
同时,通过 MCP 和 A2A,连接跨语言的工具与 Agent。
对于准备开发企业级 AI 平台的团队,真正值得关注的不是支持多少种编程语言,而是:
能否把模型推理、工具执行、工作流、权限和部署统一组织成可维护的生产系统。
Google ADK 为这一方向提供了一套值得研究的技术基础。
官方参考资料
1. Google Cloud:One Agent Development Kit, five languages https://cloud.google.com/blog/topics/developers-practitioners/one-agent-development-kit-five-languages
2. Google ADK 官方文档 https://adk.dev/
3. Python ADK 快速入门 https://adk.dev/get-started/python/
4. Go ADK 快速入门 https://adk.dev/get-started/go/
5. Agents CLI 官方指南 https://adk.dev/get-started/agents-cli/
转载请注明出处: 界智通
本文的链接地址: https://www.jieagi.com/aizixun/152.html
-
GPT-5-Codex保姆级教程:获取OpenAI APIKey与安装 Codex CLI使用教程全面指南
2025/09/17
-
2025最新:Claude Pro 与 Max 区别详解与订阅指南
2025/08/26
-
Gemini 报错 "Something went wrong" 终极解决指南
2025/11/27
-
Cursor权威指南:从注册入门到精通AI驱动编程工作流(含国内注册与验证说明)
2025/08/27
-
2025最新保姆级教程:如何获取Claude API Key?从注册到Python调用,一篇搞定!
还在为如何申请 Claude API Key 而头秃吗?随着 Claude 4.5 Sonnet 在编程能力上的强势崛起,越来越多的开发者开始转向 Anthropic 的阵营。本文将通过“保姆级”的图文实操,带你一步步解决账号注册、手机号验证、API Key 获取及额度充值等难题,并附带 Python 极简调用示例。无论你是想接入 LangChain 还是自己在这个强大的模型上跑 Demo,这篇文章都能帮你避开 99% 的坑!
2025/11/15
-
【实测有效】Gemini 3 / Google Antigravity 授权登录无反应、无权限?全平台解决办法汇总指南
2025/11/22
-
WorkBuddy 高阶进阶全解:获取OpenAI Key自定义 API + SKILL.md 封装,效率直接翻倍
2026/04/19
-
[2025最新] ChatGPT Plus 订阅终极指南:四种充值方案与深度解析:为什么它值$20?
2025/11/13
-
Google AI Pro 有什么功能?Google AI Pro 生态系统深度报告以及订阅会员权益功能全面分析
2025/11/29
-
Grok-4.1 深度拆解:马斯克的“叛逆”AI怎么接入?xAI Grok API Key 获取及开发攻略
想要体验马斯克旗下xAI的Grok大模型?本文详细拆解 Grok API Key 获取的全流程,从账号登录、控制台设置到API Key生成,并附带完整的Python调用代码示例。解决开发者在申请过程中遇到的支付、权限等常见问题,助你快速将“叛逆”的Grok集成到自己的应用中。
2025/11/18
暂无评论
界智通
jieagi_Pan 


太好看了,快点更新!
国内开发者玩转Claude:最新Claude 4模型解析与API Key获取攻略
这是系统生成的演示评论
国内开发者玩转Claude:最新Claude 4模型解析与API Key获取攻略