Spokes.wiki Search About
Blog Posting source ↗ source url updated Wed Jul 01 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

ADK Go 2.0 (announcement)

Google‘s launch post for ADK Go 2.0 (v2.0.0, 30 Jun 2026, github.com/google/adk-go) — a major release that reshapes the framework around a graph-based workflow engine. T3 vendor blog; feature claims are the maker’s, treat as a dated snapshot. The pitch: production agents must “classify, branch, fan out to specialists, gather results, ask a human to approve something, retry on failure, and loop until done,” so ad-hoc control flow doesn’t hold up — model it as an explicit graph instead.

The headline: “a graph is an agent”

The workflow engine is a graph of typed nodes joined by conditional edges, run by a scheduler that handles concurrent execution, state persistence, and pause/resume. And a graph runs on the same runtime as a single agent — no special harness — so single-agent and multi-agent execution unify. Details on graph-based-agent-workflow; the node/edge/routing model, resilience knobs, and HITL all live there.

First-class human-in-the-loop

HITL becomes a built-in primitive, not bolted-on: any node can pause and request human input (NewRequestInputEvent), the workflow durably waits in session state, and resume happens by handoff (answer flows to the next node) or re-entry (the paused node re-runs, response via ctx.ResumedInput(...)). Resume survives process restarts — ADK reconstructs a paused workflow by scanning session history — and both the console and Web UI understand HITL natively. This is the durable pause/resume thesis made a core API surface (see also adk-long-running-agents).

Unified runtime and agent modes

The runner now drives all agents through the same node runtime that powers graphs, so even a standalone LlmAgent gets HITL. LLM agents gain modes — Chat / Task / SingleTurn — that auto-install mode-specific helper tools. Context handling collapses: ToolContext and CallbackContext merge into one agent.Context across tools, callbacks, and nodes.

Cross-runtime and lineage

ADK Go 2.0 follows Python ADK 2.0’s graph-first direction, “designed from the ground up to feel like” each language. The resume format is shared with Python ADK, so a paused workflow can resume across runtimes; it plugs into A2A for cross-language multi-agent teams — extending the already-demonstrated Go-validator-from-Python-orchestrator pipeline. Breaking changes from 1.x are mechanical (node signatures take agent.Context not agent.InvocationContext; custom contexts need IsolationScope() / ResumedInput(id); session.NewEvent now takes a context.Context); runner.Run/RunLive and agenttool signatures are unchanged.

Why it matters here

It’s the strongest instance yet of this wiki’s “structure substitutes for capability” thesis: reliability (retries, timeouts, concurrency caps, isolation, durable resume) is provided by a declarative graph runtime wrapped around the model, not by the model itself. And “a graph is an agent” folds orchestration into the base runtime rather than a separate layer.

adk · graph-based-agent-workflow · google · durable-agents · agent-orchestration · a2a-protocol · adk-a2a-cross-language · adk-long-running-agents · agentic-coding-harness