Java Agent Development Kit
用 Java 编排工具、模型与多智能体应用的开发套件。
按维度查看评分与理由
证据显示仓库由Google官方组织发布,来源归属清晰(source_attribution=2)。但未发现最小权限、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响或回滚机制的具体实现或文档,因此这些标准得分为0。
README中描述的功能与代码示例基本一致,但未提供详细的错误处理或失败消息文档(failure_messages=0)。依赖可用性方面,Maven Central和JitPack的引用表明依赖可获取,但未提供依赖清单或验证(dependency_availability=1)。
README明确了目标受众(Java开发者)和典型场景(构建、评估、部署AI代理),但未详细说明能力边界或触发条件(capability_boundaries=1, trigger_precision=0)。环境适配方面,提到了与Google Cloud的集成,但未提供详细的部署环境要求(environment_fit=2)。
信息架构清晰,提供了文档、示例和贡献指南(information_architecture=2)。安装说明具体(Maven坐标),但未提供详细的安装步骤或故障排除(install_notes=2)。命名稳定性方面,版本号明确,但未提供命名约定或API稳定性说明(naming_stability=1)。示例和FAQ提供了代码示例,但未提供FAQ(examples_and_faq=2)。已知限制方面,README提到“Pre-GA”状态,但未详细列出限制(known_limitations=1)。许可证为Apache-2.0,完整文本存在(license=3)。版本控制方面,有版本号但未提供变更日志(versioning_changelog=1)。维护责任方面,有贡献指南和GitHub Actions,表明有维护流程(maintenance_responsibility=2)。
输出可用性方面,提供了代码示例和文档链接,但未提供实际输出示例(output_usability=1)。边际价值方面,作为Google的官方工具,提供了与Google生态的集成,具有独特价值(marginal_value=2)。成本效益方面,开源免费,但未提供性能或资源消耗数据(cost_benefit=1)。
声明可追溯性方面,README中的功能声明未提供具体实现或测试证据(claim_traceability=1)。跨来源验证方面,有文档和示例链接,但未提供独立验证(cross_source_corroboration=1)。事实与推断分离方面,README中的描述多为断言,未明确区分事实和推断(fact_inference_separation=1)。
- 静态审查未发现安全机制(如权限控制、用户确认、数据流透明)的具体实现,需进一步审查代码。
- README中声称的“评估代理”功能标注为“即将推出”,实际可用性未知。
- 依赖安全未验证,需检查依赖清单和已知漏洞。
这个 Agent 能做什么,适合哪些场景?
ADK for Java 是用于构建、评估和部署复杂 AI 智能体的开源 Java 工具包。开发者可直接在 Java 代码中定义智能体行为、编排逻辑和工具使用方式,并通过版本控制与调试流程管理这些定义。其核心接口示例使用 `LlmAgent.builder()` 创建智能体,可设置名称、描述、模型、指令及工具。项目支持将多个专用智能体组合为层级化的多智能体系统,并提供开发 UI 用于测试、评估、调试和展示智能体。README 表示它面向与 Google Cloud 服务紧密集成的场景,同时可从本地电脑部署到云端。
开发者在 Java 中调用 LlmAgent.builder(),以 .name()、.description()、.model()、.instruction() 和 .tools() 配置智能体,然后以 .build() 生成 LlmAgent。示例为名为 search_assistant 的智能体设置 gemini-2.0-flash 模型、回答指令和 GoogleSearchTool,使其能够在需要时使用 Google Search。工具可来自预置工具、自定义函数、OpenAPI 规范或既有工具集成;多个专用智能体可组合为层级结构。项目还声明可通过 A2A 协议进行远程智能体间通信,但所给材料未提供该集成的具体配置或调用步骤。
- Java 团队需要把智能体的指令、模型选择和工具调用纳入常规代码审查与版本控制时。
- 使用 Google Cloud 服务的应用团队需要在 Java 项目中构建与该生态集成的智能体时。
- 需要让一个 Java 智能体在回答问题时按需使用
GoogleSearchTool的开发者。 - 正在将多个职责明确的智能体编排为层级化多智能体应用的工程团队。
- 希望用内置开发 UI 测试、调试或展示所构建智能体的开发者。
这个 Agent 有哪些优点和局限?
- 以 Java 代码直接定义行为、编排和工具使用,适合纳入测试、调试与版本控制流程。
- 支持预置工具、自定义函数、OpenAPI 规范和既有工具集成,工具接入路径较多。
- 可把多个专用智能体组合为灵活的层级化多智能体系统。
- README 明确提供 A2A 协议的远程智能体间通信集成方向。
- 项目明确面向与 Google Cloud 服务紧密集成的场景,采用其他生态时可能需要额外集成工作。
- README 将智能体评估标为“Coming soon”,不能据此确认已有可用的评估流程。
- 所给材料未说明 Java 版本、模型访问凭据、运行命令或部署配置,首次落地仍需查找额外资料。
- A2A 仅指向另一个 README;当前材料未提供端到端配置细节。
如何安装或部署这个 Agent?
README 记录的 Maven 依赖为:
<dependency>
<groupId>com.google.adk</groupId>
<artifactId>google-adk</artifactId>
<version>1.7.0</version>
</dependency>
如需开发 UI,再添加 com.google.adk:google-adk-dev:1.7.0。材料未说明 Java 版本、凭据配置、运行命令或部署配置。
如何使用这个 Agent?
材料提供的首个构建示例是:LlmAgent rootAgent = LlmAgent.builder().name("search_assistant").description("An assistant that can search the web.").model("gemini-2.0-flash").instruction("You are a helpful assistant. Answer user questions using Google Search when needed.").tools(new GoogleSearchTool()).build();。这段代码构造智能体,但所给材料没有记录执行该智能体、配置模型访问凭据或启动开发 UI 的命令。
这个 Agent 与同类方案有什么区别?
README 将其定位为与 Python ADK 具有相同功能和熟悉接口的 Java 版本;对于已有 Python ADK 经验的团队,Java 版的 LlmAgent 构建方式更容易迁移理解。
常见问题
它是否只能使用 Gemini?
gemini-2.0-flash,但示例注释写明也可使用首选模型;当前材料没有列出受支持模型或配置方法。