Agent Development Kit for Java

A Java toolkit for coding, composing, and deploying tool-using AI agents.

Source repo
google/adk-java
Stars
★ 1.8k
Last updated
today
License
Apache-2.0
Primary language
Java

At a glance

How it runs
Library / SDKFramework
Works with
Portable with changes
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
JavaMaven (for the documented dependency installation)Network access
Typical use
A Java engineering team that wants agent instructions, model selection, and tool calls reviewed and versioned as application code.
Not a fit if
  • Teams outside the Google Cloud ecosystem
  • Users needing a ready-made evaluation workflow
  • Developers unwilling to configure model credentials and deployment

What does this agent do, and when should you use it?

Agent Development Kit for Java is an open-source Java toolkit for building, evaluating, and deploying sophisticated AI agents. It keeps agent behavior, orchestration, and tool use in Java code, so those definitions can be debugged and versioned alongside an application. Its shown API constructs an agent with LlmAgent.builder(), including a model, instructions, and tools. The project supports hierarchical systems composed of specialized agents and describes a built-in development UI for testing, evaluating, debugging, and showcasing them. It is aimed at applications closely integrated with Google Cloud services, while the README says deployments can span a laptop and the cloud.

A developer creates an LlmAgent in Java with LlmAgent.builder(), supplies .name(), .description(), .model(), .instruction(), and .tools(), then calls .build(). The supplied example creates search_assistant with the gemini-2.0-flash model, a response instruction, and GoogleSearchTool so it can use Google Search when needed. Tools may come from built-in tools, custom functions, OpenAPI specifications, or existing-tool integrations, and specialized agents can be composed into hierarchies. The project also states that it integrates with the A2A protocol for remote agent-to-agent communication, although the supplied material does not include the setup or invocation details.

  1. A Java engineering team that wants agent instructions, model selection, and tool calls reviewed and versioned as application code.
  2. A team building an application tightly integrated with Google Cloud services that needs an agent framework in Java.
  3. A developer creating a Java search assistant with GoogleSearchTool for web lookups when answering users.
  4. An engineering group composing specialized agents into a hierarchical multi-agent application.
  5. A developer who wants a built-in development UI to test, debug, evaluate, or demonstrate an agent.

How do you install or deploy this agent?

The documented Maven dependency is:
<dependency>
<groupId>com.google.adk</groupId>
<artifactId>google-adk</artifactId>
<version>1.7.0</version>
</dependency>
For the development UI, also add com.google.adk:google-adk-dev:1.7.0. The supplied material does not specify a Java version, credentials, a runtime command, or deployment configuration.

How do you use this agent?

The supplied first construction example is: 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(); This builds an agent definition; the supplied material does not document how to execute it, configure model credentials, or launch the development UI.

What are this agent's strengths and limitations?

Pros
  • Agent behavior, orchestration, and tool use are defined directly in Java, making them suitable for code-based testing, debugging, and versioning.
  • It names several tool-integration paths: built-in tools, custom functions, OpenAPI specifications, and existing tools.
  • It supports hierarchical multi-agent systems composed of specialized agents.
  • It explicitly describes an A2A-protocol integration path for remote agent-to-agent communication.
Limitations
  • The project is designed for applications closely integrated with Google Cloud services, so other ecosystems may require additional integration work.
  • The README labels agent evaluation as “Coming soon,” so a usable evaluation workflow is not established by the supplied material.
  • The supplied material does not specify a Java version, model credentials, execution command, or deployment configuration.
  • A2A setup is delegated to another README that was not supplied, leaving its end-to-end configuration unverified here.

How does this agent compare with similar options?

The README positions this as having the same features and a familiar interface relative to Python ADK. Teams already familiar with Python ADK may find the Java LlmAgent builder approach easier to recognize.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Agent Development Kit for Java This agent 32 · Major gaps Library / SDKFree + model costs ★ 1.8k today Java —
Google ADK for TypeScript 51 · Major gaps CLIFree + model costs ★ 1.5k 7d ago TypeScript —
ai4j — Java AI Agentic SDK 52 · Major gaps Library / SDKFree + model costs ★ 437 23d ago Java OpenAI API · Claude API
Fetch.ai Agent Examples 48 · Major gaps CLIFree + model costs ★ 1.2k 2mo ago Python OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
32/ 100 5-point scale 1.6 / 5
This review covers the source as of Aug 09, 2026. The project has shipped 8 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 2/29
Reliability 3/14
Adaptability 8/18
Convention 10/18
Effectiveness 6/13
Verifiability 3/8
Why each dimension lost points
Trust2 / 29 · 0.3/5

Evidence shows the repository is published by Google's official organization, with clear source attribution (source_attribution=2). However, no specific implementations or documentation for least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, or rollback mechanisms were found, so these criteria score 0.

Reliability3 / 14 · 1.1/5

The features described in the README are largely consistent with the code examples, but no detailed error handling or failure message documentation is provided (failure_messages=0). Dependency availability is indicated by Maven Central and JitPack references, but no dependency list or verification is provided (dependency_availability=1).

Adaptability8 / 18 · 2.2/5

The README clearly identifies the target audience (Java developers) and typical scenarios (building, evaluating, deploying AI agents), but does not detail capability boundaries or trigger conditions (capability_boundaries=1, trigger_precision=0). Environment fit is addressed with mentions of Google Cloud integration, but detailed deployment environment requirements are not provided (environment_fit=2).

Convention10 / 18 · 2.8/5

Information architecture is clear, with documentation, samples, and contribution guidelines (information_architecture=2). Installation notes are specific (Maven coordinates), but detailed installation steps or troubleshooting are not provided (install_notes=2). Naming stability is indicated by version numbers, but no naming conventions or API stability statements are given (naming_stability=1). Examples and FAQ provide code examples but no FAQ (examples_and_faq=2). Known limitations are mentioned with 'Pre-GA' status, but not detailed (known_limitations=1). License is Apache-2.0 with full text present (license=3). Versioning is present but no changelog is provided (versioning_changelog=1). Maintenance responsibility is indicated by contribution guidelines and GitHub Actions (maintenance_responsibility=2).

Effectiveness6 / 13 · 2.3/5

Output usability is supported by code examples and documentation links, but no actual output examples are provided (output_usability=1). Marginal value is high as an official Google tool with Google ecosystem integration (marginal_value=2). Cost-benefit is open-source and free, but no performance or resource consumption data is provided (cost_benefit=1).

Verifiability3 / 8 · 1.9/5

Claim traceability is weak; feature claims in the README lack specific implementation or test evidence (claim_traceability=1). Cross-source corroboration is limited to documentation and sample links, with no independent verification (cross_source_corroboration=1). Fact-inference separation is poor; README descriptions are mostly assertions without distinguishing facts from inferences (fact_inference_separation=1).

Risks and how to mitigate them
  • Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Static review found no concrete implementations of security mechanisms (e.g., permission controls, user confirmation, data flow transparency); further code review is needed.
  • The 'Evaluate Agents' feature claimed in the README is marked as 'Coming soon', so actual availability is unknown.
  • Dependency security is unverified; dependency lists and known vulnerabilities need to be checked.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision e5aba3aa08c5 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v1.14.0
    Release notes excerpt
    [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)) …
    View on GitHub ↗
  2. v1.13.0
    Release notes excerpt
    [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)) …
    View on GitHub ↗
  3. v1.12.0
    Release notes excerpt
    [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)) …
    View on GitHub ↗

FAQ

Is it limited to Gemini models?
The example uses gemini-2.0-flash, but its comment says “Or your preferred models.” The supplied material does not list supported models or their configuration.
Is agent evaluation ready to use?
The README labels “Evaluate Agents” as “Coming soon,” so the supplied material does not establish a currently available evaluation workflow.
What credentials or permissions are required?
The supplied material does not document credential or permission requirements for models, Google Search, Google Cloud, or A2A.
Can it run locally?
The README says deployment can range from a laptop to the cloud, but it does not provide a local launch command or procedure.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents