JVM 上的 agent 框架一直在追赶。大多数有趣的 Python SDK 特性,从 LangChain 到 Pydantic AI 到 Google 自家的 ADK,都是 Python 优先发布,Java 团队要么自己造轮子,要么吞下调用 Python 服务的跨语言延迟。Google 的 Agent Development Kit for Java 刚刚到达 1.0,这次 release 的差距收窄得很明显。InfoQ 总结了新增内容,现在 Kit 的形态已经足够接近 Python ADK,让 Java 开发者可以把它当作主平台用,而不是翻译层。

结构性变化是新的 App 类和 Plugins 基类。App 是 agentic 应用的顶层容器:承载根 agent、全局配置,以及插件集成。Plugins 层提供了三个值得点名的内置插件——LoggingPlugin 做结构化执行日志,ContextFilterPlugin 把较老的对话轮次从上下文窗口中剪除,GlobalInstructionPlugin 用于跨 agent 应用共享指令。上下文管理还获得了事件压缩:保留最近事件的滑动窗口并对较老事件做摘要,可配置间隔、token 阈值、重叠大小、保留上限和摘要器选择。Human-in-the-loop 被直接建模:工具可以通过 ToolContext 调用 requestConfirmation() 暂停执行,框架会清理中间事件并把已确认的调用注入下一次 LLM 请求。

工具方面,1.0 提供了真正 agent 工作负载所需要的集成。GoogleMapsTool 和 UrlContextTool 覆盖两条常见检索路径。ContainerCodeExecutor 和 VertexAICodeExecutor 通过 Docker 或 Vertex AI 提供沙箱代码执行。ComputerUseTool 封装 Playwright 实现浏览器和电脑控制,对标 Anthropic 的 computer use 和 OpenAI 的对应能力。多 agent 通信走 Agent2Agent 协议:A2A AgentExecutor 包装你的 ADK agent,把它作为 JSON-RPC REST 端点暴露,这比临时搭的 HTTP API 是更干净的 interop 叙事。Python 和 Java 的差距没有消失。贡献者 Guillaume Laforge 说得很直白:新特性和新实验通常先在 Python 出现,然后逐步移植到 Java。但 Java 这边的 1.0 印章很有分量。

如果你在 Java 店里搭 agent,实用读法很直接。ADK Java 1.0 给你所需的标准原语(agent、工具、HITL、上下文控制、多 agent)加上 A2A 互操作,不必绕一个 Python sidecar。如果你已经有 Python agent 栈,A2A AgentExecutor 是那块有意思的拼图:你可以把 Java agent 暴露为 JSON-RPC 端点,让 Python agent 调用它,这是混合语言部署的真实选项。记得新特性会继续先落在 Python,这种非对称是明文政策,不是偶然。