Chapter 2: ChatModelAgent, Runner, AgentEvent (Console multi-turn)

Goal of this chapter: introduce ADK execution abstractions (Agent + Runner) and implement a multi-turn conversation in a Console program.

Code location

Full tutorial

This page is a website-friendly overview. For the full runnable walkthrough, see:

What you learn

  • Why “Agent” is a higher-level abstraction than “ChatModel”: it owns the interaction loop and tool routing.
  • What “Runner” does: it provides the runtime (streaming, events, interrupt/resume plumbing) for running an Agent.
  • How “AgentEvent” models the execution stream: user input, model output, tool calls, tool results, and lifecycle signals.