Ver en Español
Course wrap up and next steps
Jun 24, 2026
Updated: Jun 25, 2026

Course wrap up and next steps

You have completed the journey from a basic agent to a production ready multiagent system, with real time voice, tools, callbacks and guardrails, structured outputs, evaluation, deployment and observability. Here we summarize what you learned, leave you resources verified in the local docs (adk docs) and a guide to the next steps.

Big picture

  • Design agents with a clear purpose, solid instructions and the right tools.
  • Orchestrate flows: conversational, coordinator or dispatcher and background pipelines.
  • Add programmatic control with callbacks and plugins for production guardrails.
  • Standardize outputs with schemas (and understand when to separate formatting and tooling).
  • Evaluate quality (trajectory plus response) and deploy with traceability.

What you learned per lesson

Lesson 1, Fundamentals and Web UI. Create an agent, add google_search and test it in adk web. Instruction best practices and declarative configuration with Agent Config YAML. Blog: Lesson_1_blog.md

Lesson 2, Custom tools. Define well typed Function Tools (docstrings, controlled errors) and combine them with google_search. Understand Session, State and Memory at a conceptual level. Blog: Lesson_2_blog.md

Lesson 3, Background coordinator. Coordinator Dispatcher pattern: run silently, respond only twice and persist Markdown. Blog: Lesson_3_blog.md

Lesson 4, Callbacks and guardrails. before_tool_callback and after_tool_callback in LlmAgent, process log and policies; a note on Plugins. Blog: Lesson_4_blog.md

Lesson 5, Structured outputs. output_schema for strict JSON (no tools) and the 2 agent pattern (tools to formatting). Use of output_key. Blog: Lesson_5_blog.md

Lesson 6, To production. Live streaming (run_live plus LiveRequestQueue), Vertex AI Memory Bank, adk eval, deployment (Agent Engine, Cloud Run or GKE), security and observability. Blog: Lesson_6_blog.md

Essential resources (local adk docs)

  • Quickstart and Python: adk docs/docs/get started/quickstart.md, adk docs/docs/get started/python.md
  • Streaming (voice and video): adk docs/docs/get started/streaming/quickstart streaming.md
  • Built in tools and Google Search: adk docs/docs/tools/built in tools.md, adk docs/docs/grounding/google_search_grounding.md
  • Function Tools: adk docs/docs/tools/function tools.md
  • Callbacks and Plugins: adk docs/docs/callbacks/types of callbacks.md, adk docs/docs/plugins/index.md
  • Contexts (ToolContext and CallbackContext): adk docs/docs/context/index.md
  • Memory: adk docs/docs/sessions/memory.md
  • Evaluation: adk docs/docs/evaluate/index.md
  • Deployment: adk docs/docs/deploy/agent engine.md, adk docs/docs/deploy/cloud run.md, adk docs/docs/deploy/gke.md
  • Observability: adk docs/docs/observability/logging.md, adk docs/docs/observability/cloud trace.md
  • Security: adk docs/docs/safety/index.md

Installation and basic commands (aligned to the docs)

# Install ADK
pip install google-adk
# Create a code based agent
adk create my_agent --model gemini-2.5-flash --api_key $GOOGLE_API_KEY

Note on the model. Live model ids rotate frequently. For real time voice pick a Live or native audio model from the Gemini 2.5 family (for example, a gemini-2.5-flash-class model) and confirm the latest supported id in the ADK Live docs before pinning it in production.

# Run the Web UI (from the parent folder or pointing at the agent)
adk web
# then select "my_agent" in the menu
# or, alternatively, point straight at the agent and a port:
adk web --port 8000 my_agent

Windows. If you see _make_subprocess_transport NotImplementedError, use --no-reload.

# Run in the CLI
adk run my_agent
# API server (optional)
adk api_server --log_level INFO path/to/agents_dir
# Optional (persistent memory in the Web or API server)
adk web path/to/agents_dir --memory_service_uri="agentengine://<AGENT_ENGINE_ID>"

Quick production tips

Google Search. Compatible with the current Gemini models. If the model returns "Search suggestions", you must display them in your UI (Grounding policy).

Streaming. Use Live API models and set SSL_CERT_FILE=$(python -m certifi) when appropriate.

Callbacks and Plugins. Prefer Plugins for global policies; they run before callbacks and can return early.

Structured. Use output_schema (no tools) or separate tools and formatting with two agents; use output_key to persist results.

Observability. Use --log_level and --trace_to_cloud in managed deployments; integrate OpenTelemetry when you customize the runtime.

Troubleshooting (debugging aligned to the docs)

The agent does not respond or responds generically. Check .env and GOOGLE_API_KEY or your Vertex credentials; confirm the model (for example, a Live model from the gemini-2.5-flash family). Verify instructions and the tools registered in tools=[...].

Tools fail. Ensure clear type hints plus docstrings; validate the type and shape of the return value. Test the function in isolation first.

Callbacks do not fire or give unexpected results. Correct signature: before_tool(tool, args, tool_context) and after_tool(tool, args, tool_context, tool_response) in LlmAgent. Remember: if a callback returns anything other than None, the framework uses that value (it skips the tool execution or replaces the result). Consider Plugins if the policy is global.

State. Modify it through ToolContext or CallbackContext; ADK persists changes via the Runner. Use output_key to save final outputs.

Voice. Use Live models, microphone permissions in the browser and confirm the correct port in adk web. Test text and then voice.

Logging. Bump to --log_level DEBUG temporarily. Inspect prompts, tool calls and latencies.

Final challenge

Turn your agent into a service with persistent memory and Cloud Trace traces, protected with security Plugins (for example, PII redaction and Model Armor) and validated with adk eval in your CI/CD pipeline.

Extend the two agent pattern to generate: validated JSON, then Markdown, then audio (podcast), measuring latency and cost.

Closing

This course leaves you with a solid foundation to build conversational agents, coordinators and even background pipelines, with security controls and observability for production. Connect these building blocks with your data and processes, iterate with evaluations, and share what you build. We would love to see your next agent in action.

This content is based on the course "Building Live Voice Agents with Google's ADK!" by DeepLearning.AI (https://learn.deeplearning.ai/courses/building live voice agents with googles adk/). This blog aims to bring ADK material to Spanish speakers.

Sebastian Gomez

Sebastian Gomez

Creador de contenido principalmente acerca de tecnología.

Leave a Reply

0 Comments

Advertisements

Related Posts

Categorias