From Zero to AI Agent! How We Built Our First System with Google ADK 🤖🚀

We keep exceeding expectations! Last Tuesday, May 26th, Seminar Room A at the School of Engineering became a true Artificial Intelligence laboratory. In this 100% hands-on workshop by the IEEE Student Branch UAB x GDGoC UAB, we set ourselves an ambitious challenge: to stop using AI just as a chat interface and start programming our very own Agents.

For such a special occasion, we had the honor of hosting Fabrício Carraro, AI Developer Advocate at the Barcelona Supercomputing Center (BSC), published author, and a true reference point for AI in Latin America and Spain.

If you missed it (we know several of you have been practically begging us for the notes via DM 😅), don’t worry. We’ve brought you the ultimate summary of what we experienced and coded.

🧠 Beyond the Code: Model vs. Agent

Before writing any code, Fabrício made the fundamental difference clear: an AI model on its own cannot execute actions. The agent acts as the “brain” and uses tools (Tools) as its “hands” to interact with the environment.

For our workshop, we chose to use the Google ADK framework and the gemini-2.5-flash model. Why version 2.5 and not 3.5? Pure strategy: in its free tier, 2.5 offers a much larger usage margin (up to 4 times more tokens), which is ideal for intensive testing without fear of hitting rate limits.

💻 Let’s Go: Our First Agent

After configuring our API Keys in Google Colab’s “Secrets” (safety first!), we started building everything from the basics to complex systems:

  • Custom Tools: We learned that with Google ADK, any Python function (like a simple word counter) can be turned into a tool for the AI, thanks to the magic of the Docstring. The model reads the documentation and knows exactly when and how to use it.
  • Web Search: To prevent the AI from hallucinating or relying on outdated data, we gave it internet access using the built-in Google Search tool. Goodbye to the knowledge cut-off limits of the original database!
  • Chaining Agents (SequentialAgent): Instead of having a “multipurpose” agent that does a half-baked job at everything, we went for specialization. We created a “Researcher” agent that passed its notes to an “Editor” agent to write the final article.
  • Speeding Up the Process (ParallelAgent): For independent tasks, like writing a summary and extracting bullet points at the same time, we learned how to run agents in parallel using the Fan-out / Gather pattern, saving a massive amount of execution time.

🗂️ The Main Event: Routing and RAG

The climax of the workshop came when we replicated the most commonly used pattern in the real world: an Internal Assistant capable of classifying a question and routing it to the right specialist.

We dove deep into the world of Embeddings (transforming text into numerical vectors) to understand how AI compares meanings (yes, the famous King – Man + Woman = Queen example 🤯).

With this knowledge, we built a RAG (Retrieval-Augmented Generation) system. We created a fictional human resources database and programmed a “Router” (a higher-level LlmAgent) that, depending on the user’s question, semantically decided whether to search for the answer on the internet or within the company’s internal documents. Pure agentic magic in less than 100 lines of code!

👕 Showing Off Our Colors! (The New SWAG is Here)

This event was doubly special. Not only did we learn about agents, but we were finally able to do the first official handover of the club t-shirts to our members.

After several weeks of design (as we teased at the UX event), it was incredible to see the room full of students rocking the new IEEE x GDGoC UAB t-shirt. Our tech family finally has an official uniform! If you didn’t get yours, don’t worry, we’ll continue distributing them to registered members at upcoming events.

The Numbers of the Day 📊

Another successful technical event that leaves us with a great feeling:

  • 18 in-person attendees: Everyone with their laptops, coding simultaneously and sharing questions in a 100% collaborative environment.
  • High demand: Many colleagues who couldn’t attend due to scheduling conflicts have bombarded us asking for the event notes. Your wish is our command!
  • Top-tier networking: Having a professional of Fabrício Carraro’s caliber answering questions live is priceless.

What’s Next?

The final stretch of the semester is crazy, but we still have a couple of bullets left in the chamber. According to our Roadmap, we’re going to close out with a bang:

Want to keep learning, building real projects, and get your t-shirt? If you haven’t already, sign up for free as a member, follow us on Instagram (@ieee_uab), and don’t miss our final events of the year.

See you at the next workshop! 🚀

The IEEE Student Branch UAB x GDGoC UAB Team