/ NEWS

Google's Agent Development Kit (ADK) - Simplifying Multi-Agent Application Development

Google has introduced the Agent Development Kit (ADK), an open-source framework designed to streamline the creation of intelligent, autonomous multi-agent systems for diverse deployment environments.

The world of AI is rapidly shifting from single-purpose models to sophisticated, autonomous multi-agent systems. Recognizing the complexities involved in building these systems, Google has launched the Agent Development Kit (ADK) at Google Cloud NEXT 2025. ADK is an open-source framework designed to simplify the entire development lifecycle of agents and multi-agent systems, empowering developers to build production-ready agentic applications with enhanced flexibility and precise control.

ADK is the framework behind agents within Google products like Agentspace and the Google Customer Engagement Suite (CES). By open-sourcing ADK, Google aims to provide developers with the same powerful, flexible tools they use internally. The ADK is designed to be adaptable, supporting different models and enabling the creation of production-ready agents for various deployment environments. Whether you need predictable pipelines (`Sequential`, `Parallel`, `Loop`) or LLM-driven dynamic routing (`LlmAgent` transfer) for adaptive behavior, ADK has you covered.

ADK provides capabilities across the entire agent development lifecycle, offering flexibility in how you interact with your agents through CLI, Web UI, API Server, and Python API. Regardless of your chosen interaction method, the core agent logic defined in `agent.py` remains consistent. Key functionalities, that you will find, include the following:

  • Simplified Agent Definition: Define your agent's logic, tools, and information processing methods with Pythonic simplicity. ADK manages state, orchestrates tool calls, and interacts with underlying LLMs.
  • Multi-Agent Collaboration: Build collaborative multi-agent systems where a primary agent can delegate tasks based on the conversation. ADK facilitates this through hierarchical structures and intelligent routing.
  • Tool Integration: Enable agents to perform actions by defining Python functions that ADK understands through docstrings.
  • Hierarchical Structures: Create organized, maintainable, and sophisticated multi-agent applications using ADK's hierarchical structure and description-driven delegation.

Consider a scenario where you want to build a `WeatherAgent` that handles weather queries but delegates greetings to a specialized `GreetingAgent`. The ADK makes this easy:

  1. Define a Tool: The `WeatherAgent` needs a tool to fetch weather data. This is achieved through a Python function with a descriptive docstring:
    
    def get_weather(city: str) -> Dict:
        """Fetches weather data for a given city."""
        print(f"--- Tool: get_weather called for city: {city} ---")
        city_normalized = city.lower().replace(" ", "")
        mock_weather_db = {
            "newyork": {"status": "success", "report": "The weather in New York is sunny with a temperature of 25°C."},
            "london": {"status": "success", "report": "It's cloudy in London with a temperature of 15°C."},
            "tokyo": {"status": "success", "report": "Tokyo is experiencing light rain and a temperature of 18°C."},
        }
        if city_normalized in mock_weather_db:
            return mock_weather_db[city_normalized]
        else:
            return {"status": "error", "error_message": f"Sorry, I don't have weather information for '{city}'."}
        
  2. Define the Agents and Their Relationship: Use `LlmAgent` to create agents and specify their relationships:
    
    greeting_agent = Agent(
        model=LiteLlm(model="anthropic/claude-3-sonnet-20240229"),
        name="greeting_agent",
        instruction="You are the Greeting Agent. Your ONLY task is to provide a friendly greeting to the user.",
        description="Handles simple greetings and hellos",
    )
    
    root_agent = Agent(
        name="weather_agent_v2",
        model="gemini-2.0-flash-exp",
        description="You are the main Weather Agent, coordinating a team. Your main task: Provide weather using the `get_weather` tool. Delegate greetings to `greeting_agent`.",
        tools=[get_weather],
        sub_agents=[greeting_agent]
    )
         

Before deploying agents, rigorous evaluation is crucial. ADK provides integrated evaluation tools for systematic testing against predefined datasets, which can be run programmatically or via the ADK eval command-line tool or the web UI. Once satisfied with the performance, ADK facilitates deployment to any container runtime or through its integration with Vertex AI Agent Engine.

While various SDKs and frameworks are available, ADK is specifically designed for building intricate, collaborative agent systems within a well-defined framework. For GenAI projects requiring more flexibility and broad model support, tools like Genkit might be a better choice. However, ADK excels at managing complexity in multi-agent environments.

ADK is optimized for seamless integration within the Google Cloud ecosystem, especially with Gemini models and Vertex AI. This allows developers to leverage advanced Gemini capabilities like enhanced reasoning and tool use and deploy agents onto Vertex AI's scalable runtime. ADK also provides connectivity to systems and data through pre-built connectors, workflows built with Application Integration, and data stored in AlloyDB, BigQuery, and NetApp, enhancing agent capabilities by leveraging established interfaces.

The Agent Development Kit (ADK) offers a powerful, flexible, and open-source foundation for building the next generation of AI applications. By simplifying multi-agent development and providing tools for evaluation and deployment, ADK empowers developers to create sophisticated AI systems that can tackle complex tasks. As Google continues to innovate in the AI space, tools like ADK will be essential for building the intelligent applications of the future.

Mentioned also before but it's not going to hurt anyone to rewrite it, so explore the code and start building with the Official ADK Documentation.