Notes from Google Cloud Labs x Formula E Creators Challenge
Yesterday I attended the (free*) Google Cloud Labs x Formula E Creators Challenge event at the BFI IMAX in London.
I’m not a serial conference evangelist but I had a great time – the format is fun for developers – with some not overly-long presentations around Google Cloud’s AI offering, and then some extended hands-on bits where you have around 90 minutes to follow a bunch of steps to get a working demo deployed using some new Google Cloud features – specifically multi-agent AI systems and a generative media.
Google have obviously judged that getting ~300 developers and related techies in one room is worth throwing money at – given the expensive venue, decent free food, fun demos and presence of Formula E champion Lucas di Grassi (who was a really engaging speaker).
View this post on InstagramA post shared by 星野森 (@samgorleung)
What was on show
There were two ‘tracks’ and you had to commit to one for the whole day. I went for the first, because it started with the practical sounding “Developing and scaling Agentic Systems”, which was accompanied by this code lab (which you should be able to do yourself).
Part 1: Deploying a multi-agent Formula E track design system
This was basically a proof-of-concept multi-agent system containing three different agents with different specialties:
- track-planner (“Lead architect”): High intelligence agent that produces a track layout meeting a user request
- track-planner (“FIA Assessor”): Checks the layout using an FIA skill and scoring tool
- gatekeeper (“Digital Twin Gatekeeper”): Runs a checklist to ensure the track meets a given specification
The details
The gatekeeper is an independent microservice that communicates with the other two services using the A2A protocol. The key lesson of the task is the quality control aspect of the ‘lead architect’ and the ‘gatekeeper’ – having adversarial agents, with one critiquing the output of the other based on its own focus, can improve the overall quality of the output of the system.
In this case, the agents worked together to create a track layout, and the gatekeeper acts as an extra check to make sure the researcher is following the user prompt. Plus, we’re exercising the use of skills/tools throughout, which is what differentiates an agent from an LLM.
We were managing code and a file structure in Cloudshell, which is basically a terminal + a VS Code editor instance running in Google Cloud. It was powerful but a bit fiddly – I found that new terminals often didn’t remember which project I was in and I had to go dig up the project ID from Cloud Console and the right command from documentation (as the Guardian is mostly AWS-native I wasn’t familiar with the google cloud commands).
On the day we had to bomb through the tasks pretty quickly to get to a working state within the ~90 minutes, which made it a bit difficult to appreciate the nuances of what you were actually doing.
Once the system was running, I asked it to generate a track layout based on cult electronic musician Richard D James aka Aphex Twin, and it came up with a nice lambda-shaped track layout incorporating some of his lore, generating a CAD track blueprint plus a writeup.
Sector 2: The Right Arch & The Infield Cut
- Turns 5 & 6 (“Vordhosbn Chicanes”): A rapid, aggressive sequence mimicking the frenetic drum programming of Drukqs. High kerbs punish any driver missing the millimeter-precise racing line.
- Turn 7 (“Analord Sweeper”): A wide, parabolic right-hand arc tracing the outer right leg of the lambda before diving sharply back into the centre via an infield crossover.
- Turn 8 (“Selected S-Bends”): A low-speed transition sector that guides cars into the secondary prong of the symbol.
My conclusions
Overall my impression was that deploying your own agentic system is simpler than it’s ever been, but I’m reticent to roll my own agentic system for a couple of reasons:
- The technology is moving at absurd speed, and it feels like the current protocols and best practices might be outdated within a couple of years.
- The frontier models are already so good at general purpose work, I wonder if our bespoke agentic system might quickly (/instantly) end up just being worse at its job than a general purpose agent passed a decent prompt.
- It’s not clear to me why a multi-agent system would be better than a single agent with a few useful skills that can do all the steps itself (I’m keen to be more informed).
I can imagine an agent that would work well for data analysis (which I work on at the moment), with a user asking a natural language prompt, applying its knowledge of our data schemas to look in the right place, running relevant queries, then packaging them up in a nice response including visualisations crafted from the data. And perhaps we would see better results if we used an agentic system where the first agent draws up a query plan, and a second adversarial agent critiques it for, e.g. query cost and performance.
Part 2: Building with GenMedia for developers (lab here)
Part two involved deploying a user-facing app that takes a user’s picture and a choice of Formula E related scene, and produces a high res 8 second video featuring the user.
The order of operations involved prompt generation, image generation, and video generation, going like this:
1: Take the picture the user gave you and describe them in terms that will generate a nice mugshot of them as a formula E driver (Uses gemini-3.8-flash)
2: Generate that Formula E Driver image using the above prompt and provided image (uses Nano Banana).
3: Take that image, and provide it to the video generation model so it can make a formula E video (Uses Gemini Omni 1.1 Flash):
As someone who knows nothing about media generation, I don’t know if this is a sensible workflow – structured to give good results – or a contrived one designed to encourage us to use a bunch of different Google Cloud media gen features.
The code lab went a bit pear-shaped on the day as there were a few bugs in the implementation to resolve, and only about one person out of >100 managed to generate a video during the session. I stuck with it on the train home and worked out a few of the issues and it was working by bedtime. If anyone from Google is reading:
- The
config.ymlneeded the region to be “global” because the nano banana model wasn’t available inus-central1region. (This was discovered in the room). - The image format was inconsistent between backend functions for me (I don’t think I made a mistake along the way) - in some places it expected a base_64 image, in others it expected
bytes. This led to a cryptic backend error showing up in the frontend. - The config.yml file was meant to have a storage bucket specified that the video could be sent to.
- Once you did specify the bucket, the frontend app didn’t have permission to view its content.
Luckily though, I could go view the bucket contents through Google Cloud Console, and I managed to produce a bunch of videos.
The face matching was sometimes good, and sometimes middling. It was inclined to give me a major yassification (killer cheekbones and various other Hollywood features I don’t have) and a generically European accent. Still, given that the input was a single picture of me (the one in the top corner of this website) – the output is impressive.
I’m not sure what the valuable and ethical use case for video generation is yet. The immediate one has been the mass production of AI slop, which now includes this video of my cat Walter as a Formula E driver, and the most dystopian applications are mass-produced misinformation and abuse content – hopefully Google has robust defences in place to prevent this.
The video fidelity was very good; I suspect this has been Google’s big focus. One of the less unethical applications of generative video is enabling cheap VFX work (bad news for VFX workers though), and I think this will be plausible in the near future given the improvements in quality within only a couple of years.
Verdict on Google Cloud Labs
Lots of fun, engaging event – I’d come again.
(Google give you a ticket if you sign up, have a relevant job and/or a plausible chance of generating them some Cloud billing.)