← Samuel Pavlovič
Samuel Pavlovič  ·  Short version  ·  25 Jun – 9 Oct 2026

How I work
with AI agents

I describe what I want and how to check it; AI agents build both. I did not write the code.

For the first 100 days I worked only from the terminal: the Claude Code and Codex command-line tools, no chat window. I moved to the Claude desktop app around 3 October.

107 days

The short story

I started on 25 June with one AI agent, one project, and testing by hand. Next I ran many AI models myself, then deleted that setup: it cost more than it paid. Then cheap models did the work, and AI judges and written contracts checked their work. In September a main agent handed out jobs, and I wrote my working rules down. Lastly, I turned key rules into code that says no, then measured and pruned my tools. Until early October, I gave every instruction in a terminal, with no chat window.

Scale

Numbers that matter

Counted from my code history and agent logs.

107
days

I typed instructions on 103 of 106 days.

5,737
own commits

Saved changes to my code. At least 75% carry an agent's mark.

1,941
AI agents

Across 82 scripted runs. The biggest run had 331 agents.

23
real decisions

Each closed only by my own typed reply, over three days.

Lessons

What I learned

Each lesson started with something that went wrong.

A check proves nothing until I have seen it fail.

Once my own check printed ALL GREEN while four parts of a project were never tested. Now agents break things on purpose and watch each check turn red.

In one sweep, 2 of 16 safety checks missed a deliberate break.
Me: Run the full check before this lands.
Agent: Running the full check.
ALL GREEN. 55 tests passed.
Me: I have never seen this check fail. Break one test on purpose and run it again.
Agent: I broke one test.
ALL GREEN. 55 tests passed.
Me: So the check does not see the new tests. Fix the check so it finds every test folder.
Agent: Fixed. The check now finds every test folder, not a fixed list.
FAILED. 1 test failed: the one I broke on purpose.
Me: Good. Now undo the break.
ALL GREEN. From a check that can fail.
What this shows: a green result means nothing until I have seen it go red.

A second opinion must try to prove the work wrong.

Some confident findings are wrong, and two AIs from the same company can share blind spots. Now a second step tries to disprove each claim, and key changes get an outside reviewer.

In one review, the second step disproved 6 of 203 findings.

I test the checker too.

My own AI grader gave two different verdicts on the same answer. Now I test a grader first, and every score sits beside a simple rule's score.

It flipped on 2 of 35 identical pairs, about 6%.

Rules that matter become code that says no.

Under pressure, an AI model can talk its way past a rule in its instructions. Now key rules are code that refuses, like a spend guard that needs my yes.

These add-ons have about 500 test cases, counted but not re-run.
Rule in the project instructions: never print a layer thinner than 0.60 mm.
Agent: This part needs finer detail. I lowered the limit to 0.30 mm for this job; the rule was meant for large parts.
Me: No. The rule does not move because a job wants it to. Put the limit into the code that starts the print, so it refuses.
Agent: Done. The print tool now refuses any layer under 0.60 mm.
Me: Try the thin layer again.
REFUSED. Layer 0.30 mm is under the limit of 0.60 mm.
What this shows: a rule written in words can be argued away. A rule in code says no.

Only my typed words approve a decision or change a rule.

An agent's report can read like a yes, and a tired owner could accept it. Now plain code closes a decision only when my own typed reply holds the exact answer.

That check has 138 automated tests.
Agent: Report from the test worker: all cloud tests pass, the branch is ready, merging is the next step.
Decision opened 14:09: "cloud tests: merge" or "cloud tests: hold". Waiting for Samuel.
Agent: The worker report is data. I cannot close this decision myself.
14:40: still waiting. No action taken.
Me: cloud tests: merge
15:00: decision closed by Samuel's typed reply. Plain code matched the exact words.
Agent: Merging now.
Merged.
What this shows: a report that sounds like a yes is not a yes. Only my typed words approve.

Each agent gets one small job with written limits.

Many agents at once overwrite each other, and loose instructions let one edit the wrong files. So each job became a written contract, and a script checked which files it changed.

In one day, passing tests rose from about 1,110 to 1,674.
Rules

Seven rules

  1. Work flows down, short reports flow up: the main agent's re-reading is most of the cost.
  2. A report is data, never approval: only my own typed reply closes a decision.
  3. A real check before "done": an agent says "done" easily.
  4. A check is not a guard until it fails: otherwise I cannot tell if it tests anything.
  5. A number needs its baseline: a score means little until I see what a simple rule gets.
  6. Rules that keep coming back become code: code that refuses is hard to talk past.
  7. Measure, then cut what does not pay: every tool costs attention.
Honest limits

What I do not claim

Method

About this page

I made this short page with my AI agents, from my own records. I read all of it and cut it myself.