Advent of Code 2025: Human vs AI

Published: (December 3, 2025 at 03:51 AM EST)
4 min read
Source: Dev.to

Source: Dev.to

What I’m Doing

Every day I’ll solve the Advent of Code puzzle in:

  • JavaScript
  • Rust
  • Python

Then I’ll ask a lineup of current AI coding models to produce their own solutions in the same three languages:

  • GPT‑5.1 Codex
  • Gemini 3 Pro
  • Composer‑1
  • Opus‑4.5
  • Sonnet‑4.5

So for each puzzle there will be:

  • My human solutions (in three languages)
  • Five AI solutions (also in three languages each)

It’s essentially a coding “showdown,” but not a competition. The real aim is to explore how different kinds of reasoning appear in code, how approaches vary from model to model, and how my own thinking compares.

Methodology

Not a lab‑grade study, just a consistent, lightweight workflow so the comparison stays fair.

  1. After solving the problem manually, I drop the challenge text into a .txt file in the prompts folder, prepended with a brief prompt:

    You are a developer taking on the Advent of Code Challenge 2025.
    Create a solution for this problem.
    This puzzle has two parts, solve both in the same solution. The program output should just be the two answers on separate lines.
  2. I keep this prompt consistent across the days, only varying the output format as needed.

  3. I then drop the input file into the inputs folder. In Cursor I select the model under test, @‑the file, the prompt, and the target directory, then hit Run. No MCPs, no MAX mode, or anything else that could introduce confounding variables, and to minimise context bloat.

  4. I run a Python script to verify the output and review the model’s “thinking”.

Why This Experiment?

To understand how AI actually solves problems

Advent of Code puzzles are a perfect testbed: small enough to be self‑contained (and not burn too many tokens/£!), but clever enough to require genuine reasoning and creativity. Watching how different models break them down is already proving fascinating, and analysing the end results may yield interesting insights.

To improve my own fluency

Solving each puzzle three times in three different languages forces me to think more deeply about patterns, algorithms, and idioms. It’s a great way to keep my skills sharp and explore languages I don’t use day‑to‑day.

To observe differences in style and structure

  • Where a model chooses brute force, I choose planning and analysis.
  • I focus on solving the problem and don’t worry about failure modes (the code is only run with known inputs in a known environment). AI may be more defensive and write more flexible code.
  • Models might use external packages, while I often stick to language features and the standard library.

These contrasts say a lot about how “AI thinking” manifests in code.

To build a dataset of human + AI approaches

By the end of AoC, even with only 12 challenges this year, I’ll have dozens of solutions across languages and models—plenty to analyse! The collection will contain multiple answers to the same questions from different angles, which is an interesting resource in itself.

What I’ll Be Sharing

As the month goes on, I’ll post insights on things like:

  • Patterns the AIs gravitate toward
  • Performance of the output code (perf stats can be fun)
  • Common mistakes or blind spots
  • Whether models one‑shot solutions or needed some hand‑holding
  • Places where models outperform my first instincts or develop more novel solutions
  • Language‑specific quirks (e.g., Rust borrow checker vs. AI)
  • What it feels like to “pair” with multiple coding models
  • Other random thoughts and musings on AI, Cursor, and model nuances

The goal isn’t to crown a winner. It’s to understand the landscape of coding in 2025, where AIs shine, where they show limitations, and how the two complement each other.

Follow Along

If you enjoy Advent of Code, programming‑language experiments, or the evolving relationship between developers and AI tooling, stick around. I’ll be posting reflections and curiosities throughout the month, followed by a round‑up at the end of the challenges.

Here’s to a December full of puzzles, head‑scratching, learning, and some very weird debugging moments.

Happy coding, and an even happier Advent. 🎅🔥

Back to Blog

Related posts

Read more »