agent development kit · build to deploy

Building an agent that behaves: the Agent Development Kit, end to end

ADK is the code-first way to build an agent: you write Python, it handles the orchestration. Most of what goes wrong is invisible in the code, a docstring that decides whether a tool is ever chosen, a state key renamed in one place that silently breaks three others, a callback that short-circuits everything downstream, model-written code running where it can do damage. Ten sections, each with the plain-English version first, and simulations for the parts that only make sense once you have seen them fail.

Try it: does this actually need an agent?

Try this: eight jobs somebody might ask you to build. Decide which need an agent and which are a single model call wearing a costume. Getting this wrong in either direction is expensive.
in real lifeDeciding whether a job needs a project manager. Booking one meeting does not. Coordinating four teams across three months does, and treating the first like the second is how simple things get slow.
start byjudge translate a paragraph first, then issue a refund. The difference between them is the whole test.
words hereagent something that takes several steps and decides what to do nextprompt one question in, one answer outtool an ordinary function the model can choose to call

Try it: fill in the form and watch what breaks

Try this: the six fields, and one combination the framework refuses outright. Two of these fields sound alike and are read by different audiences, get them the wrong way round and the agent works perfectly and is never used.
in real lifeFilling in a job advert. Two of the boxes look almost the same, what the job involves, and what the role is called on the intranet. One is read by the person doing the job; the other decides whether anyone applies.
start byuntick a specific description and read why nothing appears to break.
words hereinstruction the rules this agent follows, read by its own model every turndescription one line saying what it is good for, read by whatever routes work to itoutput_schema forcing the answer into one exact JSON shapeoutput_key the name its answer is saved under for the next agent