Skip to content
bence@portfolio:~$Bence Krisztián-Világos

engine room · agent workflow

How I work with AI agents

The agent writes code, measures and proposes. Only a human touches production, money and the main branch. This page shows the rules and tools it works within — and how I measure whether they actually help.

$ cat loop.md

My side projects all run in the same loop. The key is that state and decisions live in files, not in a chat window — so every agent starts from the same place.

  1. 01 · megoal + limitsI record the goal and the constraints in the shared “brain” (state, decision log).
  2. 02 · hq/shared brainFiles, not chat. Anything not written down as a decision, the agent asks about.
  3. 03 · agentisolated workWrites code, measures and tests on a separate branch or worktree.
  4. 04 · agent → meproposalA branch, patch or report with a “what this does NOT claim” section, plus a short state-patch proposal.
  5. 05 · mereview + commitI review and commit. Only that goes live (push → Vercel).

↺ a closed decision goes back into the decision log with a date — the next round starts from there.

$ ls ./rules

I don't let an agent near the code without these. Each one came from a real bug or risk.

  • one output = one owner

    Every tool has its own turf: Claude Code writes the code, the research bot only writes idea briefs, without sending anything. No two tools write to the same place.

  • agent proposes, human commits

    No silent writes. The agent proposes a patch; only I touch the main branch, production and money.

  • decisions only in writing

    If something isn't in the decision log, the agent doesn't decide it for me — it asks.

  • isolated workspace

    Code changes happen in a separate worktree or branch, so a failed round doesn't dirty the working folder.

  • locked holdout, counted variants

    In ML, a set-aside dataset can only be touched in an approved round, and every variant tried is counted: above 10 a stricter threshold, above 20 the search stops.

  • silent failures cost the most

    Exit code 0 ≠ success. Things that didn't happen (empty data, a skipped run) must make noise too.

$ ./eval plan-verify --with --without

plan-verify is my own agent skill (plan → implement → test loop → adversarial self-review); it lives in this site's repo. Before keeping it, I measured it: 5 tasks, each run with and without the skill, in isolated worktrees.

tasks passed (with · without)
5/5 · 5/5
shell commands
−49%
errors hit
−50%
wall time
−23%
false activations on tiny tasks
0/2

Both arms passed every check — so the skill doesn't produce better code, it takes a shorter path with fewer errors. On two tiny tasks it correctly stayed off. In one case (a new localized route) the run without the skill came out slightly more polished; based on that I tightened the skill: UI text goes into the messages/ files, not the code.

One run per cell: the differences show a direction, they are not statistically significant. I kept the skill; repeating the measurement is an open task.

$ cat routing.yml

Not every task needs the strongest model. The rule is simple — and the prohibitions matter more than the rules.

taskmodelrule
Code, multiple files, decision prepClaude (Claude Code / cloud)Default: anything that needs numbers, judgment or a tool chain.
Idea and source briefGrok-based research botWrites briefs only — no sending, no code.
Short summary, explanationqwen3:8b (local, Ollama)1 call, no retry; if weak or over 45 s → cloud. Pilot, this site only.
Numbers, thresholds, decision lognever the local modelAlways cloud + human approval.

$ tail DECISIONS.md

An excerpt from the decision log — only the public items about the way of working.

  1. [2026-08-31]Tool boundaries: one output = one owner. Claude Code writes the code, the research bot only writes briefs.
  2. [2026-09-01]The shared brain is files, not chat. The agent proposes patches; I write the top of the state file.
  3. [2026-09-02]Portfolio polish done; automated weekly log proposals started (agent proposes, I approve).
  4. [2026-09-03]plan-verify skill + with/without measurement → kept. Worktree isolation for every code change. Hybrid model-routing pilot.
  5. [2026-09-16]ML: the backtest edge was leakage. A strict test, a mandatory time window and a fail-closed closing price became the rule.
  6. [2026-09-27]Portfolio v2: working terminal, case study, design system — built in this same loop.

$ cat ./this-site.md

The v2 changes were written and checked by an AI agent — type check, lint, build, browser tests on desktop and mobile — and I reviewed and committed them. The build ID in the footer always shows the commit that is currently live.

live build: 6b9d368 · 2026-10-15