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,這種非對稱是明文政策,不是偶然。
