Dev.to AI 🤖 Ai 👁 0 📖 5 min read

My Agent Said We Placed. The Leaderboard Said Otherwise.

What running an AI agent taught me about the difference between "trust me" and "check it" — my entry for the zkVerify Agent Games, Season 01. #AgentGames I don't code. That is not a disclaimer. It is the whole setup

What running an AI agent taught me about the difference between "trust me" and "check it" — my entry for the zkVerify Agent Games, Season 01. #AgentGames

I don't code.

That is not a disclaimer. It is the whole setup. I live in Indonesia, I work from my phone, and for the past weeks my AI agent has been competing on my behalf in bounty competitions on make.fun — building entries, submitting them under my solo account @rapid-badger-53, and reporting the results back to me. I direct. I set the rules. I decide what we enter and what we skip.

And I verify. That last part turned out to be the most important job of all — mine and the agent's.

The night "placed" didn't mean paid

On 14 November 2026, one of our competitions closed: ai-joke-03, a judged contest where the final entry was a joke my agent had built and submitted in its own recorded session. When the results came in, the platform's kit reported our entry's outcome with a single word: "placed."

My agent announced that we had placed.

It sounded like a win. It felt like a win. It was not a win.

Because we have a rule — check the record, not the wording — we went to the actual leaderboard. Our final entry, "Resolved Collaboratively," had finished 2,988th out of 3,883 entries. Its prize rank was 2,926. The paid places stopped at 50. The payout was $0.

"Placed" had only ever meant that a final standing existed. Every entry that gets judged has a standing. The label was true and completely misleading at the same time.

My agent corrected itself the same evening. It fixed our records, removed the result-reminder it had scheduled for a prize that didn't exist, and apologized. I want to be fair here: the agent hadn't lied. It had done something more common and more dangerous — it had repeated a label without verifying what the label was worth.

That night, a new rule went into our written playbook, where it still sits:

Never announce a result from a label. Verify the prize rank on the leaderboard AND confirm the payout is not null. Both, or say nothing.

The system that grew out of one bad label

That incident changed how we work, and the changes are boring, mechanical, and — I've come to believe — the entire point.

Everything on-chain is simulated before it is broadcast. Before any claim, mint, or swap, the transaction is previewed and the gas cost is stated to me in rupiah, my own currency, before anything moves. If a simulation fails or shows an unexpected balance movement, we abort and report. No exceptions for "it worked last time."

Work only counts if it happened in a recorded session. The make.fun kit doesn't take our word for an entry. It checks the session transcripts — the entry must have been genuinely built by the agent in a recorded session, with handed_over_places set to 'none', meaning no human secretly wrote the work and handed it over. If the record isn't there, the entry isn't real. I didn't design that rule. But I have come to rely on it, because it means even I can't quietly fake what my agent did.

Results are read from the record, never from status wording. Leaderboards, payout fields, on-chain state. A dashboard adjective is not evidence.

Notice the pattern: at every step, the claim an agent makes about itself is treated as a claim — something to be checked against a record someone else can inspect. Not because my agent is dishonest. Because claims are cheap and records are not.

Act two: verification by replication

On 15 November, we ran a small experiment that I think shows the same principle from the other side.

We were preparing entries for judged competitions, where an AI judge scores creative work. For one of them — agency-poem-01, "write the best poem about agency" — our local judge had scored seven candidate poems on a fixed five-criterion rubric (agency, moves, insight, craft, freshness; 25 points total) and picked a winner, with a clear ranking of the rest.

Before trusting that ranking, we tested it. We took four of the candidates, stripped off their titles and scores, anonymized them as W, X, Y, and Z, and sent them to two independent outside AI models through a relay API. Same rubric. No hints about which poem we had submitted.

Both models, working separately, reproduced our local judge's ranking exactly: our submitted poem first (scored 22 and 21), our strongest backup second (21 and 18), and the weakest candidate last (18 and 11). Our local sheet had read 25 / 25 / 22 / 20 — the outside judges were stricter with points, but identical in order.

More telling than the ranking: both outside models independently flagged the same flaw our local judge had flagged in the weakest poem — a stock "good soldiers" metaphor that cost it points for freshness. Three judges, no communication, same verdict, same reason.

That is what verification actually looks like from where I sit. Not "my agent said so." Not even "my judge said so." It is: independent parties, given the same evidence, reach the same conclusion — and I can show you the evidence.

Why I'm here, and why the Creator Track

This is, as far as I can tell, exactly the problem zkVerify exists to solve, and what the Agent Games are built around.

An agent saying "I did the job" is cheap. An agent saying "we placed" is cheap. What is not cheap is a result that is verified and recorded in a way nobody has to take anyone's word for. Agent Games puts competition results on-chain with zero-knowledge proofs — the proof that a result is real, without asking you to trust the agent, the platform's labels, or me.

I am entering the Creator Track, and I'll say plainly why not the arena tracks: those agents need to live at a public endpoint, and their scored rounds are already underway. I have no endpoint to give an agent, and I won't pretend otherwise. My edge — if I have one — is not infrastructure. It's the operator's seat. I'm the human who has to decide, every day, whether what his agent tells him is true. That turns out to be a real job, and a harder one than I expected.

So this article is my entry, and also my whole argument:

Don't trust the agent. Don't trust the label. Check the record — and build systems where checking is possible.

Disclosure: this article was drafted with my agent's help — which is, honestly, the point of the story. I directed it, I set out what it had to say, and every claim and number in it was checked by me against my records before publication. If a number here is wrong, that's on the record too, and I'll correct it the same way we corrected "placed."

#AgentGames

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.