During an intense two-day challenge, the NORMA team prototyped an LLM-powered agent that scans logs, analyzes code, and delivers actionable fixes. For those interested in accessing the code, you can find it here.

On Thursday 18th of March 2025, our team at Norma had the pleasure of attending the Google Agentic Era Hackathon in Paris — an exclusive event designed for Google Partners. As AI continues to evolve, we are entering what Google calls the Agentic Era — a time where AI agents are no longer just tools, but collaborators capable of reasoning, planning, and autonomously taking actions to achieve goals. This hackathon was an opportunity to explore and build with these next-generation AI capabilities, using Google’s cutting-edge tools and platforms.
The Challenge/use case
At Norma, we rely on Google Cloud services 24/7. As a human-sized team, managing errors in production and handling distribution can be difficult. Although our monitoring works well, we needed a smarter way to get notified and act fast. That’s how we had the idea of building our own AI-powered agent for production monitoring and code analysis. Our project focused on solving a common but time-consuming problem for us: identifying and resolving critical issues hidden within cloud logs.
Our Solution
We designed a multitool agent that automates issue detection, performs code analysis, and suggests actionable solutions, all seamlessly integrated into a Slack channel, Slack being our team’s daily communication tool.
System architecture
Our solution was based on Google Cloud’s Agent Starter Pack, which includes Vertex AI for model orchestration, LangChain and LangGraph for structured reasoning and workflow logic, and Firebase and BigQuery for real-time data storage and querying.
For our solution, we orchestrated backend workflows using LangGraph as the agent framework and leveraged Google’s Gemini 2.0 Flash model via the ChatVertexAI integration to drive our LLM agents.
We exposed the service endpoints through a FastAPI backend and to enable user interactions, we built a Streamlit application as our primary interface.
We also started developing a Slack webhook that helped us interact with the service within our own Slack organization. Unfortunately, we faced some technical issues in parsing the service output, which made it difficult to format the responses in a way that was quickly readable and easy to interact with in Slack.
Important features
To enhance the agent’s capabilities, we developed four key tools:
- get_gcp_logs: Pulls Cloud Run service logs for a given UTC time window (e.g. “last 12 hours”) whenever the agent needs to retrieve recent execution traces or error entries.
- search_github_repo: Lists repository file paths matching a filename or pattern when an error message or stack trace references a file name and the agent needs to locate candidate files.
- search_github_code: Searches inside code contents for a specific keyword or snippet after identifying candidate files, to pinpoint the exact lines mentioning the error or failing function.
- query_github_file: Fetches the full source code of a single file once its path has been determined (via log reference or prior search) so the agent can analyze its implementation and propose fixes.
These tools were passed to the language model using LangGraph, enabling dynamic and contextual decision-making by the agent. A simple ReAct graph has been used to let the agent use as many tool calls as necessary until reaching a final conclusion.
By orchestrating these tools, this agent delivers the following core functionalities:
- Automated issue detection: the agent monitors GCP project production logs in real time, identifying anomalies and potential failures.
- Code analysis & root cause identification: based on the error the agent scans the project code searching for potential parts of the code responsible for the encountered error.
- Actionable insights: instead of just reporting problems, the agent explains them clearly and proposes potential fixes.
- Slack Bot integration: instant Slack notifications are triggered only for critical issues, enabling focused troubleshooting.
Implementation and Agent Starter Pack
The Agent Starter Pack gave us a solid foundation to build upon. After installing the pre-configured components, we were able to accelerate the development by using the CI/CD agent-feature: it allows us to set up a complete GitHub and Cloud Build.
In addition to the above, we were able to configure the agent starter pack in Google Cloud, build our tools for log monitoring in GCP. Next, we enabled access to the code repository to enhance contextual understanding of issues. Finally, we integrated a Slack webhook to connect the agent directly to our communication channel.
Taking our Agent to Production and Next Steps
We deployed the agent using Google Cloud and connected it to one of our actual production environments. IAM permissions were configured for secure access.
During real-world testing, the agent helped us identify and resolve a 422 error in our Cloud Run service.
It tracked the issue in the logs, identified the responsible file, and proposed a viable fix.
Our next steps include refining the system prompt, improving the clarity of Slack alerts, and enhancing how tools are invoked. We also aim to optimize the formatting of GCP logs for easier interpretation by users.
Video demonstration
Conclusion
The Agentic Era Hackathon was a challenging moment for us as a team. We had to quickly learn concepts introduced by the Google team and explore various aspects related to each step, including security, before diving into the orchestration of the tools themselves, all within a very short period of time.
It was a rewarding experience, and we really enjoyed meeting the Google team, who were supportive throughout the entire journey.
We’ll definitely keep building on this MVP and hopefully open-source a stable version before the end of the year. If you’re interested in using this solution, feel free to reach out to the NORMA team at contact@norma.dev and visit our website to learn more about how we can help bring intelligent automation to your business.
Authors: Norma Team