Have you ever yelled at your TV during an IPL match, wondering why the captain gave the ball to a part-timer in the 18th over?
For the Google Gemini Hackathon, I decided to build a system that answers that exact question. I built IPL Captain AI — an agentic AI think-tank that ingests live match states and makes data-driven tactical decisions the way MS Dhoni, Rohit Sharma, or Pat Cummins would.
But I didn't want just a simple LLM wrapper. I wanted to see the reasoning behind the call. To do this, I built a system where 5 distinct Gemini agents actively debate with each other before making a final decision.
Here's how I built it using the newly released Google Agent Development Kit (ADK) and Gemini 2.5 Flash.
🎯 The Problem Statement
Goal: Build an agentic AI system that acts as a virtual IPL captain — making the next tactical decision in a live match.
A user inputs the current match state (or pastes a live Cricbuzz URL). The system must reply with:
The next decision — who bowls, who comes in to bat, field setup, or when to deploy the Impact Player.
The reasoning — explained in cricket-language a real commentator would use.
The dissenting view — an internal debate where a "Devil's Advocate" agent challenges the strategy before committing to the call.
🏗️ The Architecture: A 5-Agent Think Tank
Using Google ADK, I orchestrated 5 distinct agents. I split the pipeline into two phases using ADK's ParallelAgent and SequentialAgent constructs.
Phase 1: Intelligence Gathering (Parallel)
Before making a decision, a captain looks at the numbers and the pitch. These run simultaneously:
📊 Stats Analyst: Has access to a custom database tool to pull head-to-head records, strike rates, and venue history.
🌤️ Pitch & Conditions Analyst: Uses an OpenWeatherMap API tool to check humidity and dew factors, assessing how the pitch will behave in the second innings.
🔍 Live Scout: Uses Google Search grounding to pull live news and current match conditions from the web.
Phase 2: The Debate Loop (Sequential)
This is where the magic happens.
🎯 Strategist (The Captain): Looks at the intelligence from Phase 1 and proposes a tactical plan, backed by a mathematical Win Probability Calculator tool.
😈 Devil's Advocate: Its only job is to find flaws in the Strategist's plan. It forces the system to consider counterfactuals ("What if we save Bumrah for the 20th over?").
🔄 Strategist Revision: The Strategist reviews the dissent and either defends the original call with data or revises the plan.
Phase 3: Output
🎙️ Match Commentator: Takes the entire raw agent trace and synthesizes it into engaging, jargon-free cricket commentary (think Harsha Bhogle meets Ravi Shastri).
🛠️ The Tech Stack & Tools
Google ADK (Agent Development Kit): The backbone of the orchestration.
Gemini 2.5 Flash: Used for all agent nodes due to its incredible speed, low latency, and massive context window.
Function Calling: Built 4 custom Python tools for the agents to invoke:
get_weather_conditions (API integration)
calculate_win_probability (Math model)
get_cricket_stats (Data lookup)
live_scraper (URL parsing)
Google Search Grounding: Built-in ADK tool for live, hallucination-free web data.
Streamlit: For a premium, dark-themed UI that visualizes the agent pipeline and the debate trace.
💡 Key Learnings & Challenges
Tool Conflicts
I learned the hard way that the Gemini API currently doesn't allow mixing built-in tools (like google_search) and custom function calling in the exact same request. To solve this, I separated the Live Scout (Google Search only) from the Stats Analyst (custom functions only) and ran them in parallel using ADK's ParallelAgent.Multi-Agent Debate produces better LLM results
By forcing the LLM to act as a Devil's Advocate and critique its own prior output, the final tactical decisions became infinitely more robust. Instead of generic advice ("bowl your best bowler"), the system started producing hyper-specific tactical nuances ("bowl the off-spinner now because the left-hander is on strike, despite the short boundary").
🚀 The Result
When you input a scenario — say, CSK defending 18 runs in the final over — you don't just get an answer. You watch a live debate where one agent suggests bowling a spinner, the Devil's Advocate screams about the heavy dew factor fetched via the API, and the Captain ultimately makes the right call.
You can check out the full open-source code and run it yourself here: 👉 GitHub: [https://github.com/pranav2983/google-agentic-premiere-league]
If you are building multi-agent systems, I highly recommend checking out Google ADK. It makes complex sequential/parallel orchestration a breeze!
Have you built anything with the new Gemini 2.5 tools? Let me know in the comments!
Top comments (0)