Skip to content

ashwinjo/GoogleADK-NetworkAutomation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

26 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Google Agent Development Kit (ADK) for Network Engineers ft. Agent Starter Pack

Python FastAPI Google ADK Docker UV MCP

Build trustworthy, production-ready AI agents for network automation and operations.

Solve real network problems while mastering Google's Agent Development Kitโ€”an industry-leading agentic framework.


Google ADK for Network Engineers


๐Ÿ“‘ Table of Contents

๐Ÿ“– Overview

Network engineers need AI systems that are understandable, trustworthy, and operationally relevant. Traditional script-based automation is brittle and lacks contextual reasoning, while black-box AI chatbots lack the control, observability, and accountability required for production network operations.

This project bridges that gap by demonstrating how Google's Agent Development Kit (ADK)โ€”one of the leading agentic frameworksโ€”enables network engineers to build agent-based systems that combine the flexibility of AI with the rigor of production operations.

Read basics about Agents, Framework and Google ADK and Agent Starter Pack in Introduction.md file.

๐ŸŽฏ Audience for this project ?

Learn how GenAI agents work while tackling real-world use cases faced by:

  • ๐Ÿ”ง Network Engineers - Design reviews, configuration validation, architectural analysis
  • โš™๏ธ Network Automators - BGP troubleshooting, device diagnostics, workflow orchestration
  • ๐Ÿ› ๏ธ SRE Teams - Multi-turn troubleshooting, observability integration, production deployments
  • ๐Ÿ“ก NOC Teams - Context-aware assistance, incident response, state-aware diagnostics
  • ๐Ÿค– AI Engineers - Learn how to build production-ready agents using Google's Agent Development Kit

๐Ÿ“ฆ What's Included?

This repository provides a collection of complete, production-ready agents (not just prompts) built using Google's Agent Development Kit. Each example demonstrates how ADK features map directly to real-world network operations, with:

  • โœ… Complete Working Code - Ready-to-run implementations with all dependencies
  • ๐ŸŒ Network-Specific Use Cases - Real scenarios from production environments
  • ๐ŸŽ“ ADK Feature Demonstrations - Practical examples of advanced agent capabilities
  • ๐Ÿงช Safe Testing Environment - Mocked backends for safe experimentation (swap with real APIs when ready)

๐ŸŽฏ Tutorial Contents and Sections:

Google ADK for Network Engineers Contents

๐Ÿ“˜ Phase 1: The Foundations

Start here to understand the core concepts of AI agents.

Topic ADK Feature Networking Use Case Link
1-basic-agent/ Agent Setup, Model Config, Output Schema, Planners, Session Management Network Design Review Agent - AI-powered architectural review for network designs View Details
2-basic-agent-with-tools/ Custom Tools, Built-in Tools, Parallel Execution, Agent-as-Tool, MCP Integration BGP Troubleshooting Assistant - Systematic diagnosis of BGP session issues using multiple tool patterns View Details
3-agent-session-context/ Session State, ToolContext, ReadonlyContext, FunctionTool, Multi-Turn Conversations Multi-Turn NOC Assistant - Context-aware troubleshooting with state persistence across conversation turns View Details

๐Ÿ›ก๏ธ Phase 2: Professional Engineering & Governance

Critical for production-ready network AI operations.

Path ADK Feature Networking Use Case Link
5-agent-callbacks-guardrails/ Agent/Model/Tool Callbacks, CallbackContext, Content Filtering, Access Control Production Security & Control - Callback-based guardrails for policy enforcement (e.g., prevent invalid BGP commands) View Details
4-agent-human-in-the-loop/ HITL Confirmation, ResumabilityConfig, Boolean & Tool-Based Approval Patterns Configuration Change Approval - Safety-first network config with human approval gates for high-stakes changes View Details
10-agent-observability/ Python Logging, Opik Integration, Trace Visualization, LLM Metrics Tracking Production Observability - Comprehensive logging and tracingโ€”the "audit trail" for network changes View Details

๐Ÿ—๏ธ Phase 3: Advanced Architectures

Move from single tasks to complex, modular agent systems.

Path ADK Feature Networking Use Case Link
6-agent-workflows/ SequentialAgent, ParallelAgent, LoopAgent, Nested Workflows, Exit Control Automated Network Troubleshooting Workflows - Complex sequences (Verify BGP โ†’ Run CyPerf Test โ†’ Analyze Results) View Details
7-agent-subagents/ Hierarchical Multi-Agent, Sub-Agent Delegation, Parent Orchestration, Dynamic Task Routing Hierarchical Network Operations - Modular approach: one agent for security, another for performance benchmarking View Details
8-agent-rag-WIP/ RAG Integration, Document Retrieval, Knowledge Base Documentation-Aware Agent - Connect to technical documentation and network topologies (Work in Progress) View Details

๐Ÿš€ Phase 4: Deployment & The "Automation Story"

Deploy agents to production and enable integration with other systems.

Path ADK Feature Networking Use Case Link
12-agent-deployment-vtxai/ Vertex AI Agent Engine, Managed Runtime, State Management, Secure Code Execution, Enterprise Observability Vertex AI Agent Engine Deployment - Managed enterprise-grade runtime with built-in playground UI View Details
11-agent-deployment-cloudrun/ Cloud Run Deployment, Cloud Build, IAM Policy Binding, Dockerfile Configuration, Serverless Containers Cloud Run Deployment - Serverless containerized agent with automatic scaling and IAM access control View Details
13-agent-react-frontend/ REST API, FastAPI, React Frontend REST API Integration - Expose agents via REST API for consumption by other systems View Details
13-agent-streamlit-ui/ Streamlit, Web UI, Interactive Chat Streamlit GUI - Browser-based interface for engineers to interact without CLI View Details

๐Ÿ”ฌ Phase 5: Specialized Use Cases

Advanced patterns for specific operational requirements.

Path ADK Feature Networking Use Case Link
9-agent-a2a-asp/ RemoteA2aAgent, Agent Cards, HTTP Communication, Microservices Architecture Agent-to-Agent Communication - Distributed NOC with agents communicating via HTTP View Details
14-agent-ollama/ LiteLLM, Ollama, Local LLM Execution Local LLM Execution - Run agents with local models for sensitive network environments where data cannot leave premises View Details

๐Ÿš€ Let's get started:

โœ… Prerequisites

Before you begin, ensure you have:

  • ๐Ÿ uv - Python package manager (handles all dependency management)
  • โ˜๏ธ Google Cloud SDK - For GCP services integration
  • ๐Ÿ”จ make - Build automation (pre-installed on most Unix systems)
  • ๐Ÿ”‘ Google Gemini API Key - Set as environment variable:
export GOOGLE_API_KEY=<your-key>

Note:
You can get your Google Gemini API key from Google Cloud Console

  • ๐ŸŒ Auth with Google Cloud

Once you have the Google Cloud SDK installed, you need to authenticate with Google Cloud so that once you test agent locally you can eventually deploy it to Cloud.

gcloud auth login
gcloud config set project <your-project-id>
gcloud config set region <your-region>
gcloud auth login --update-adc --project <your-project-id>

๐ŸŽจ Agent Starter Pack

For scaffolding new agents, we use Google's Agent Starter Pack.

agent-starter-packโ€”is Google's open-source CLI that handles infrastructure setup, CI/CD, and observability. for agents so developers can focus on agent logic (prompts, tools, RAG) instead of boilerplate.

ASP

By default, the agent folder name is app and the agent file name is agent.py. You can change the agent folder name as you wish.

However, in that case you need to modify the Makefile and other files to match the new name. I have explained changes that need to be made in individual agent README.md file.

๐Ÿ“ Project Structure ( Please note the naming convention of the folders)

Each example follows a consistent structure for easy navigation:

I have changed the agent folder name to basic_agent from app since I wanrt to match the purpose of the agent in this case.

1-basic-agent/                    # Agent Parent folder (example name)
โ”œโ”€โ”€ README.md                     
โ”œโ”€โ”€ basic_agent/                  # Agent folder
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ agent.py                  # ๐Ÿง  Core agent logicfile [Main Agent] 
โ”‚   โ”œโ”€โ”€ fast_api_app.py           # ๐ŸŒ Start API Server to interact with the agent
โ”‚   โ””โ”€โ”€ app_utils/                # ๐Ÿ”ง Utilities and helpers [Tools]
โ”œโ”€โ”€ tests/                        
โ”‚   โ”œโ”€โ”€ unit/
โ”‚   โ””โ”€โ”€ integration/
โ”œโ”€โ”€ pyproject.toml               # ๐Ÿ“ฆ Project dependencies (uv) [Dependencies]
โ”œโ”€โ”€ uv.lock                      # ๐Ÿ”’ Locked dependencies [Dependencies]
โ”œโ”€โ”€ Makefile                     # โš™๏ธ Common tasks (install, test, deploy) [Makefile]
โ””โ”€โ”€ Dockerfile                   # ๐Ÿณ Container configuration to push to Cloud Run [Dockerfile]

** If we have multiple agents in same folder there will be multiple agent.py files inside those agent folders.

Example:

basic-agent-with-tools/
โ”œโ”€โ”€ agent_as_tool/
โ”œโ”€โ”€ agent_google_cloud_tools_WIP/
โ”œโ”€โ”€ agent_custom_tools/
โ”œโ”€โ”€ agent_builtin_tools/
โ”œโ”€โ”€ agent_mcp_tools_calls/
โ”œโ”€โ”€ parallel_functions_calls/
โ”œโ”€โ”€ tests/
โ”œโ”€โ”€ Makefile
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ uv.lock
โ”œโ”€โ”€ Dockerfile
โ””โ”€โ”€ README.md 

How to interact with the agent ?

  1. Always first in the Agent Parent folder, run below to install the dependencies.
cd <agent-parent-folder>
make install
  1. To spin up a local development UI for agent interacction. ( Web UI Interaction with the agent)
make playground
  1. To spin up the local development server with hot-reload. ( API Interaction with the agent)
make local-backend (Some agents have modified local-backend make command to match the agent folder name. Check Makefile before running the command.)

๐Ÿ’ก Note: No virtual environment management neededโ€”uv handles dependency isolation automatically.

  1. Chat with the agent using CLI
cd <agent-parent-folder>
uv run adk run <agent-folder>

Very Important:

Open Makefile to understand the underlying adk command being used. We need to modify these commands when we modify the default names of files created as a part of the Agent Starter Pack. You will see this in the indidual aagent readme.


โšก Quick Start

  1. ๐Ÿ“š Find sample queries to use with every agent in the SAMPLE_QUERIES.md file.

  2. ๐Ÿ“ฅ Clone the repository

    git clone https://github.com/yourusername/GoogleADK-NetworkAutomation.git
    cd GoogleADK-NetworkAutomation
  3. โ–ถ๏ธ Choose an example and run it

    cd 1-basic-agent
    make install && make playground

    Note:
    Without Agent Starter Pack, you would have to use Local Development & Testing (adk web, adk run, adk api_server) commands to run and interact with the agent. Under the hood, Agent Starter Pack is running same commands . Check the Makefile for more details.

    The playground will launch a web interface where you can interact with the agent.

    +-----------------------------------------------------------------------------+
    | ADK Web Server started                                                      |
    |                                                                             |
    | For local testing, access at http://127.0.0.1:8501.                         |
    +-----------------------------------------------------------------------------+
  4. ๐Ÿ” Explore the code

    • ๐Ÿ“– Review README.md in each example for use case details
    • ๐Ÿ’ป Examine agent.py files to understand agent implementation

๐Ÿค Contributing

Contributions are welcome! This project aims to be a comprehensive resource for network engineers learning AI agent development.

๐ŸŽฏ Areas of Interest:

  • ๐ŸŒ Additional network automation use cases
  • ๐Ÿ”Œ Integration examples with network device APIs
  • ๐Ÿš€ Production deployment patterns
  • ๐Ÿ“Š Observability and monitoring enhancements

Please ensure contributions maintain the project's focus on clarity, safety, and operational relevance.


๐Ÿ“„ License

This project is provided as-is for educational and operational purposes. Please review individual dependencies and ensure compliance with your organization's policies.


Built with โค๏ธ for Network Engineers by Network Engineer Ashwin Josh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •