Java Agent Development Kit
用 Java 编排工具、模型与多智能体应用的开发套件。
- Star 数
- ★ 1.8k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Java
- FA 评分
- 32/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- Java 团队需要把智能体的指令、模型选择和工具调用纳入常规代码审查与版本控制时。
- 不适合
- 需要完全离线或非 Google 云生态的团队
- 希望开箱即用评估流程的用户
- 不愿自行配置模型凭据与部署的开发者
这个 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?
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 有哪些优点和局限?
- 以 Java 代码直接定义行为、编排和工具使用,适合纳入测试、调试与版本控制流程。
- 支持预置工具、自定义函数、OpenAPI 规范和既有工具集成,工具接入路径较多。
- 可把多个专用智能体组合为灵活的层级化多智能体系统。
- README 明确提供 A2A 协议的远程智能体间通信集成方向。
- 项目明确面向与 Google Cloud 服务紧密集成的场景,采用其他生态时可能需要额外集成工作。
- README 将智能体评估标为“Coming soon”,不能据此确认已有可用的评估流程。
- 所给材料未说明 Java 版本、模型访问凭据、运行命令或部署配置,首次落地仍需查找额外资料。
- A2A 仅指向另一个 README;当前材料未提供端到端配置细节。
这个 Agent 与同类方案有什么区别?
README 将其定位为与 Python ADK 具有相同功能和熟悉接口的 Java 版本;对于已有 Python ADK 经验的团队,Java 版的 LlmAgent 构建方式更容易迁移理解。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Java Agent Development Kit 当前 | 32 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.8k | 今天 | Java | — |
| Google ADK TypeScript 开发套件 | 51 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.5k | 7 天前 | TypeScript | — |
| ai4j — Java AI Agentic 开发套件 | 52 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 437 | 23 天前 | Java | OpenAI API · Claude API |
| Fetch.ai 智能体示例库 | 48 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.2k | 2 个月前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库由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)。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 静态审查未发现安全机制(如权限控制、用户确认、数据流透明)的具体实现,需进一步审查代码。
- README中声称的“评估代理”功能标注为“即将推出”,实际可用性未知。
- 依赖安全未验证,需检查依赖清单和已知漏洞。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
[1.14.0](https://github.com/google/adk-java/compare/v1.13.0...v1.14.0) (2026-11-02) Features * add a Spring Boot chat app backed by an ADK agent ([bca0591](https://github.com/google/adk-java/commit/bca05915b244cfc23bfd738c4feadc2ae5f53f58)) * add a Spring Boot chat that streams replies and mixes ADK and Spring AI tools ([7391fa8](https://github.com/google/adk-java/commit/7391fa836e8896787eb3f690875152f9f84bcec3)) * add App.toBuilder() ([2e8dbea](https://github.com/google/adk-java/commit/2e8dbeada175adebab13f49bdc6cafe24ecd7341)) …在 GitHub 查看 ↗ -
发布说明摘录
[1.13.0](https://github.com/google/adk-java/compare/v1.12.0...v1.13.0) (2026-10-21) Features * add a builder for workflow graph edges ([4721491](https://github.com/google/adk-java/commit/4721491878231bd9b7a448b2a7c8d25be6798654)) * expose turnComplete for live content ([857ee63](https://github.com/google/adk-java/commit/857ee63ada5cf6bcd10dcab7259949a76d1f00f2)) * langchain4j: make modelName optional when ChatModel or StreamingChatModel is provided ([03036c3](https://github.com/google/adk-java/commit/03036c32eac6548e8cbecdcce599a542404dd7b8)) …在 GitHub 查看 ↗ -
发布说明摘录
[1.12.0](https://github.com/google/adk-java/compare/v1.11.0...v1.12.0) (2026-10-14) Features * add a context caching demo sample ([91a1838](https://github.com/google/adk-java/commit/91a183865e5e14499e827961cb96df24a0476ea1)) * add a Gemini context cache manager ([e5083e3](https://github.com/google/adk-java/commit/e5083e3ba9410ec32eb8d785d0f1f31eed7375d4)) * add an injectable scheduler for ADK's internal fan-out ([1b89d23](https://github.com/google/adk-java/commit/1b89d23b78c09b87b0dd7d2d7daac866fd9fc5c0)) …在 GitHub 查看 ↗
常见问题
它是否只能使用 Gemini?
gemini-2.0-flash,但示例注释写明也可使用首选模型;当前材料没有列出受支持模型或配置方法。