What is Google ADK Agent Config? How to build no-code agents using YAML configuration?

#google-adk#no-code#yaml#agent-config#low-code

Answer

Agent Config - No-Code Agents in Google ADK

Agent Config is an experimental feature that lets you define agents using YAML without writing any Python code.


How It Works


Creating a Config-Based Agent

bash
# Scaffold a config-based agent
adk create --type=config my_agent

This creates:

text
my_agent/
ā”œā”€ā”€ agent.yaml      # agent definition
ā”œā”€ā”€ tools.py        # custom tool functions
└── .env            # API keys

Agent YAML Format

yaml
# agent.yaml
name: customer_support
model: gemini-2.5-flash
instruction: |
  You are a customer support agent for an e-commerce store.
  Help customers with orders, returns, and product questions.
  Be friendly and professional.

tools:
  - name: search_orders
    function: tools.search_orders
  - name: create_return
    function: tools.create_return

sub_agents:
  - name: escalation_agent
    model: gemini-2.5-pro
    instruction: |
      Handle escalated customer issues that require senior attention.
      You have authority to issue refunds up to $500.
    tools:
      - name: issue_refund
        function: tools.issue_refund
python
# tools.py
def search_orders(customer_id: str) -> list[dict]:
    """Search for customer orders.

    Args:
        customer_id: The customer's unique ID.
    """
    return [{"order_id": "ORD-123", "status": "shipped"}]

def create_return(order_id: str, reason: str) -> str:
    """Create a return request.

    Args:
        order_id: The order ID to return.
        reason: Reason for the return.
    """
    return f"Return created for {order_id}"

def issue_refund(order_id: str, amount: float) -> str:
    """Issue a refund for an order.

    Args:
        order_id: The order to refund.
        amount: Refund amount in dollars.
    """
    return f"Refunded ${amount} for {order_id}"

Running Config Agents

bash
# Terminal
adk run my_agent

# Web UI
adk web my_agent

# API server
adk api_server my_agent

Hierarchical Config

yaml
# Multi-agent system in YAML
name: project_manager
model: gemini-2.5-pro
instruction: Manage the team and delegate tasks.

sub_agents:
  - name: researcher
    model: gemini-2.5-flash
    instruction: Research topics thoroughly.
    tools:
      - name: web_search
        function: tools.web_search

  - name: writer
    model: gemini-2.5-flash
    instruction: Write content based on research.

  - name: reviewer
    model: gemini-2.5-flash
    instruction: Review and provide feedback.

Limitations

FeatureSupport
Gemini modelsSupported
OpenAI / AnthropicNot yet supported
Function toolsSupported
MCP toolsNot yet supported
Workflow agentsNot yet supported
Custom agentsNot supported (use code)

Note: Agent Config is an experimental feature. For production, code-based agents are recommended.

Learn more at Agent Config.