
Agent Development Kit (ADK) for Go
https://github.com/google/adk-go- Category
- AI Agents
- Rank
- No. 175Tools index
- Pricing
- Open Source
- Type
- AGENT
- Builder
- GitHub
- 8.8k stars
- Latest release
- v1.6.1
- Date
About
Google's open-source Go toolkit for building, evaluating, and deploying production-grade AI agents — the Go counterpart to adk-python.
What it does
ADK gives Go applications a programmable runtime for agent trees. Agents stream events, call models and tools, delegate to children, retain session memory, manage artifacts, and pause sensitive tool work for human confirmation. Context objects carry invocation state, cancellation, isolation, and runtime configuration through each call.
Why it's ranked here
The toolkit covers more than prompt dispatch. It defines agent composition, streaming and live sessions, lifecycle interception, authentication, telemetry dependencies, memory, artifacts, and controlled concurrency. Its strongest case is a Go service that needs explicit orchestration boundaries. The exposed Google Gen AI types and large dependency graph temper the model-agnostic claim.
What's good
Agent runs expose streamed events rather than forcing a single blocking response. Before and after hooks can intercept runs, agents, models, and tools. Context-scoped time, identifier, and task providers improve deterministic testing and host integration. Authentication covers bearer tokens, header keys, OAuth token sources, default Google credentials, and service accounts without reimplementing token refresh.
Tradeoffs
The model contract directly uses Google Gen AI request and response types, so alternative model adapters still meet a Google-shaped boundary. Custom agents must currently use supplied constructors because direct interface implementation is intentionally restricted. The module brings many cloud, telemetry, database, protocol, and model-client dependencies. Explicit service-account keys also require scopes for access tokens.
How to use it well
Pick it for Go teams building event-driven agent services that need delegation, tool approval, streaming, memory, artifacts, and lifecycle policy in code. Wrap model access behind local adapters and inject time, identifiers, and task execution for tests. Treat it as an orchestration library, not a standalone model API or a visual agent builder.
Technical notes+
go.mod declares module google.golang.org/adk/v2 and Go 1.26.5, with direct dependencies for Gen AI, OpenAI, MCP, A2A, OpenTelemetry, Google Cloud, SQLite, gRPC, and Cobra. model/llm.go defines LLM.GenerateContent as an iter.Seq2 stream and embeds genai types in the request and response surface. agent/agent.go routes streamed session events through telemetry and ordered before and after callbacks. agent/context.go combines invocation, state, memory, artifact, confirmation, cancellation, and dynamic scheduling concerns. platform/exec.go defaults to one goroutine per task but accepts a context-carried TaskRunner. platform/time.go and platform/uuid.go provide context-scoped substitutions. auth/providers.go defers credential-source initialization until first use, shares an in-flight attempt, bounds initialization with a timeout, caches success, and retries after failure. internal/style_test.go walks Go files to enforce copyright headers while excluding copied or vendored directories.
Observed
- License
- Apache License 2.0, with a separate exception noted for internal/httprr
- Primary language
- Go
- Install surface
- Go module google.golang.org/adk/v2, installed with go get
- Interface
- Code-first Go library with streaming agent and model interfaces
- Protocols and clients
- Direct dependencies include MCP, A2A, OpenAI, gRPC, and Google Gen AI packages
- Deployment posture
- The README states container deployment support and specifically names Google Cloud Run
- Testing structure
- A repository-wide style test checks copyright headers on Go files
Read from README.md, go.mod, internal/style_test.go, auth/doc.go, model/llm.go, agent/live.go, agent/agent.go, agent/loader.go, platform/doc.go, agent/context.go, platform/exec.go, platform/time.go, platform/uuid.go, plugin/plugin.go, auth/providers.go.
What it can do
Build AI agents
Go code and agent specifications → Functional AI agent applications
Evaluate AI agent performance
AI agent and test scenarios → Performance metrics and evaluation results
Deploy AI agents to production
Developed AI agent code → Production-ready AI agent deployment
Integrate with Go applications
Existing Go codebase and ADK toolkit → Go application with embedded AI agent capabilities
Configure agent behavior
Agent parameters and configuration settings → Customized AI agent with specific behaviors
Test agent functionality
Agent code and test cases → Test results and validation reports
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.