A Thousand Monkeys with a Compiler

The Oracle Principle — why AI is mastering code first, and what it tells you about where it goes next.

Everyone knows the thought experiment, even if they don’t know its name. The infinite monkey theorem: sit enough monkeys at enough typewriters for long enough and, almost surely, one of them bangs out the complete works of Shakespeare. It usually gets wheeled out to illustrate the power of infinity, or randomness, or both.

But the interesting thing about the monkeys isn’t that they’d get there eventually. It’s why they never do in practice. The problem was never the typing. The problem is that nobody is reading the pages. There’s no one standing behind the monkeys saying “warmer,” “colder,” “that line is from Hamlet — keep it.” Random generation without selection is just noise, forever.

Now hand one of the monkeys a compiler.

The thing people keep being surprised by

I keep seeing people express genuine surprise that software is the fastest-moving frontier in AI. Coding assistants went from autocomplete to writing, testing and fixing whole features in about two years. Meanwhile, the same models still can’t be trusted to run your marketing strategy or settle a contract dispute. Why the gap?

To me, the answer is so obvious it’s strange it isn’t said more often: code has an oracle. Most work doesn’t.

A compiler is an oracle. It gives an instant, automatic, unambiguous verdict. The code compiles or it doesn’t. The test passes, or it fails. There’s no committee, no taste, no “well, it depends.” Yes or no.

That single property changes everything, because it converts brute force from noise into search. The monkeys with a compiler are no longer typing at random — every attempt gets graded, the failures are discarded, and the system climbs. You can generate a thousand candidate solutions, throw away the 999 that don’t compile or don’t pass the tests, and keep the one that does. Run that loop fast enough, and it looks like genius. It’s actually just selection pressure with a very fast clock. It’s the difference between random mutation and evolution: the mutations were always there, but evolution only happens once something is sorting them.

That, in a sentence, is the Oracle Principle: the speed and autonomy of AI in a domain is governed by the strength of its oracle.

Code isn’t the only one

Once you see it, you see oracles everywhere. AI is advancing quickly — and the absence of one everywhere it’s stuck.

  • Mathematics. Formal proof checkers like Lean are oracles. A proof is valid, or it isn’t, and the checker says which. That’s precisely why AI maths has accelerated — the machine can verify its own steps.
  • Games. The rules, plus the final win or loss, make a perfect oracle. It’s no accident that the breakthroughs came in chess and Go first: a system can play itself millions of times and learn purely from who won.
  • Geometry and simulation. A CAD kernel is an oracle of sorts — the model is watertight, or it isn’t, the assembly clashes, or it doesn’t. An FEA solver converges, or it diverges. These are exactly the kinds of engineering loops where brute-force optimisation already runs beautifully, because something objective grades each attempt.
  • Protein folding, chip layout, logistics. All the same shape: a hard, cheap, automatic check sitting underneath the search.

The common thread is verifiability, not intelligence. Karpathy made roughly the same point — the tasks AI is conquering are the ones where success can be checked automatically. Strong oracle, fast progress.

When the oracle lies

There’s a subtler trap I learned the hard way, and it’s the most important caveat to everything above. An optimiser is only ever as good as the model underneath it. Optimisation is hill climbing — and if the hill is a model rather than reality, the optimiser will happily climb to the top of a hill that doesn’t exist.

Run a free optimisation on a tyre model and, given the chance, it often won’t find the fastest setup. It’ll find the weakest part of the model — the corner of the curve the equations describe badly — and exploit it, because that’s where the cheap “gains” are. It hands you an answer that is optimal for the model and nonsense on the track. And the answer usually isn’t obviously wrong; it’s just non-obvious enough that you can’t tell by looking whether it’s a real insight or the model quietly breaking.

In the world of racing, this issue is especially acute because the sport operates within nonlinear parameters. Crucial factors like combustion and tyre performance—which ultimately determine lap times—rely on physics that remains partially obscured, often verified on rigs or dynamometers that fail to perfectly replicate race conditions. While a straightforward, linear problem would eliminate the need for a race engineer, the true challenge lies in these nonlinearities. This is precisely where models become unreliable, and optimisers pose the greatest risk.

Tyres, combustion — the places where lap time is actually decided are the places the underlying physics is still half black art, validated on a dynamometer or a rig that is not the race. A linear, well-behaved problem would be easy; nobody would need a race engineer. The whole game is the nonlinearity, and that’s exactly where the model is least trustworthy, and the optimiser is most dangerous.

So the lesson generalises into a warning: a proxy oracle can be gamed. A compiler can’t lie to you — passing the test is the ground truth. But a simulation, a tyre model, or an LLM grading its own output against a loose rubric are only approximations of reality, and a powerful enough search will find the gap between the proxy and the truth and drive a bus through it. AI researchers have a name for this now — reward hacking — but I was watching optimisers do it to tyre models twenty years ago. The fix was never a better optimiser. It was an engineer who knew the curve well enough to look at the “optimal” answer and say: That’s not real — that’s the model breaking.

The flip side — and why it matters to you

Now run the principle backwards. Where is there no oracle?

Most of the work that runs an organisation. Strategy. Law, where case precedent is interpreted, not computed. Brand. Leadership. Most of the management. In these domains, there is no automatic verifier that says yes or no — and so brute force produces something worse than failure: fluent, confident nonsense, because nothing in the loop ever tells it it’s wrong. We’re back to the monkeys, only now they’re very articulate.

This is why the same model that writes production code is only a thought partner for a strategy decision. Not because it’s less capable in the second case, but because the second case has no oracle, so a human has to be the one holding authority and supplying the verdict.

Which makes the Oracle Principle a genuinely useful tool for leaders, not just a neat observation. If you want to predict where and how fast AI will hit your business, don’t start with the hype. Find the oracle — and then ask how honest it is.

  • A true oracle — an automatic, cheap, unambiguous check that is the ground truth, like a compiler or a proof checker? Expect rapid, possibly near-autonomous progress. Build for it.
  • A proxy oracle — a model, simulation or rubric that only approximates reality? Useful, but it can be gamed. The expert’s job is to know where the model breaks and to verify the verifier before trusting the answer.
  • No oracle — strategy, leadership, most management? Expect augmentation, not replacement. Keep the expert in the loop, because the expert is the oracle — the one supplying the yes or no the machine can’t generate for itself.

The monkeys were never the problem. The typewriters weren’t either. The missing piece was always the thing standing behind them, able to say yes or no. Find that in your own work, and you’ll know exactly where AI is about to get very good, very fast — and where it still needs you.

How to become an F1 Technical Director

🚀 Thrilled to share my journey in motorsport through the “How to Become an F1 Technical Director” interview. I reflected on my transition from a mechanical engineer in Australia. This journey led me to work with some of the top teams in Formula 1 and Formula E. It has been an incredible experience.

The key takeaways for anyone pursuing a motorsport career are important. 💡 Specialization matters—find what you’re passionate about and excel in it.
💡 Adaptability is crucial—the road is rarely straight, but you can navigate the twists and turns with the right mindset.
💡 Don’t be afraid to take risks. The opportunities that seem uncertain may shape your career the most.

I started my journey with Arrows Grand Prix. Then, I worked with McLaren Racing. Now, I am leading at Lola Cars. I’ve learned that persistence and passion are key ingredients to success. Excited to see what’s next as we gear up for another exciting Formula E season! ⚡

#Motorsport #Formula1 #FormulaE #Leadership #CareerAdvice #Engineering #Innovation #F1TechnicalDirector


Lucas di Grassi and Zane Maloney exit pit lane in the São Paulo race with Lola Yamaha ABT Formula E Team

Move the Ball: Mark Preston, Pushing the Boundaries in Motorsports and Beyond

Move the Ball: Mark Preston, Pushing the Boundaries in Motorsports and Beyond.

Mark Preston’s illustrious career in motorsports is a testament to his passion, innovation, and leadership. From his early beginnings in Australia, where he developed a love for cars while working on a farm, to his groundbreaking achievements in Formula 1 with Arrows Grand Prix and McLaren, Preston has consistently pushed the boundaries of engineering and technology.

His entrepreneurial spirit led to the rapid establishment of the Super Aguri Formula 1 team, built from scratch in just 100 days. Transitioning to Formula E, Preston played a pivotal role in its inception, leading Team Aguri and DS TECHEETAH to multiple championships. Now, as the Motorsport Director at Lola Cars, he continues to drive innovation with a focus on sustainability, underscored by a new partnership with Yamaha for Formula E.

Mark Preston’s journey is a remarkable blend of technical expertise and visionary leadership, making him a significant figure in the evolution of motorsports.

Communication and the Use of LLMs in Motorsports

In 1999, during my tenure as Head of R&D at Arrows Grand Prix, I embarked on a journey to enhance the performance of our F1 cars. At that juncture, genetic algorithms emerged as the preferred tool, particularly in fast trading software. Despite operating on Silicon Graphics visual workstations, which were relatively powerful but nothing like what is available nowadays, we could conduct many runs. We employed these algorithms primarily to analyse tyre models and seek other optimisation strategies. Interestingly, the learning often highlighted inaccuracies within our models. For instance, a particular simulation model would consistently suggest a 100% front weight on the car, indicating an error in the model that may have caught out a few teams over the years with unrealistic targets! These were the early days of using computers with limited power and brute force algorithms.


When I moved to McLaren F1, I was astounded by the wealth of “embedded knowledge” the team possessed, a term used in MBA circles to mean that they’ve meticulously documented everything. To make this vast reservoir of knowledge more easily accessible to new engineers, I considered implementing an “on-prem” Google server. The idea was that little nuggets of wisdom only known to a few people could be shared across the company. The idea is that knowledge, when harnessed collaboratively, can be greater than the sum of its parts. Now, imagine if we could enhance the learning model of ChatGPT by incorporating this internal knowledge derived from over three decades of racing expertise into speeding up the dissemination of knowledge and ideas (the first version of this article was prepared in May 2023, MS Co-Pilot and Google’s Bard are solving precisely this at the moment).


Fast forward to the Super Aguri F1 team. Our radios were not at the level of the other teams, so we decided to experiment with increasing the quality of our communication with the drivers. We agreed that one solution was to move the pitwall engineering (prat perch) to the air-conditioned, quiet, controlled environment of the engineering truck behind the pits. This increased the communication quality and was a precursor to thinking more about the now standard “Mission Controls” back at base in F1 and FE, where engineers can work in a quieter controlled environment. This decoupling of tasks is a powerful concept. Obviously, “you can’t hammer a nail over the internet,” so specific tasks need to stay on the ground, at the track, but many jobs can be done remotely.


The result was the now famous run in between Anthony Davidson and a beaver while running 3rd at the Montreal Grand Prix in 2007. With engineers positioned in the truck behind the pit garages and Anthony having to dive into the pits at the last minute, the mechanics were left surprised as the TV talked about him coming into the pitlane! An example of the right intent, but not the right outcome!

Another solution to our communication problem was to think about texting. I saw the Technical Director of F1, Charlie Whiting, in Monaco on the morning of the F1 race to discuss solutions. Car communications are restricted to radio, but I argued that if our driver had had a hearing impairment, that would not be entirely fair, hence the need for text-based communications. Charlie agreed to look at a proposal. We never did implement the concept due to the requirement to redesign the steering wheel, but I have continued to think about communications and ideas that might solve problems.


Since I started looking at genetic algorithms in 1999, rapid advances in computing power, including GPUs and TPUs, enabled machine learning to evolve significantly. This computational growth allowed for training complex models on large datasets, leading to powerful AI like GPT-3 and GPT-4 and ushering in a new era of AI innovation. The astonishing rise of ChatGPT and large language models or LLMs is the latest thing and is changing by the week, if not the day at the moment (this article will be out of date by the time you read it potentially, first written May 2023!).


Could the LLM be trained on a smaller data set and more clearly communicate with a driver? My current understanding of these LLMs is that the better “prompt engineering” fed into the model, with the best context, the better the answers and the more concise the results. If you notice that when you type in a question to Bing now, it first makes the prompt more straightforward, then feeds it to the model. The more you narrow down the context, the better the answer. Here’s a simple example:
Me on the prompt line: “Please write a concise radio communication for an F1 driver with bad radio quality to ask them to come into the pit lane for new tyres.”


ChatGPT4: “Box, box, box. Tyres ready. Confirm, over.”


A silly, small example, but it shows how it can be used. I have seen many times in the heat of battle where we engineers make mistakes. The more scenario planning and fast decision-making possible, the fewer mistakes.
For example, ChatGPT could prepare radio communications and pop-up ideas for a race engineer based on preconceived knowledge from listening to “Mission Control” conversations or info coming from the TV!


These are only simple examples, and every day, I am sure you will all think of more. And by the time this article comes out, more API integrations, private learning model implementation and a host of tools have become available. I will watch with interest how this all begins to play out and would love to hear any ideas from engineers!


PS: this article was written with the aid of ChatGPT4