← gadi cohen

Reading notes

Papers that changed the system

Not a canon. Each of these changed a concrete decision in the agent platform I build, and the note says what it changed. The set grows as the system does.

“Never do X” rules measurably stop being followed as a conversation runs long; “always do X” rules hold near 100%.

The paper that made prompt dilution a measurable phenomenon instead of a hunch. It's why our agent reads context on demand from a registry instead of carrying one growing prompt, and why I now write guardrails as positive routines rather than prohibitions.

Evaluate agents by simulating the user and the tools, and score the final database state, not the transcript. pass^k over whole trajectories.

The strongest argument I know against similarity-score evals. Our eval harness boots the real execution graph on seeded cases with side effects suppressed and scores the decision the agent made. Tool-match metrics miss the failures that matter: escalating twice, inventing a fact.

Persist an agent's knowledge as an append-only event log rather than conversation state.

Independent convergence on the design I'd already bet on: our fact store is event-sourced, every fact carries provenance, and the case is replayable from the log. When the agent re-derives what it already knew, you don't need a smarter model. You need state below the model.

Automate SOPs by giving the agent a global repository of actions and procedures it retrieves from, rather than inlining everything.

Medical billing is SOPs all the way down: appeals have playbooks, payers have procedures. The registry pattern here is close to our context engine, and it confirmed the sharpest lesson of that rewrite: a new capability should be a file the agent can read, not surgery on a prompt.

Structure prompts as named, ordered routines with explicit steps instead of prose instructions.

Half of “prompt engineering” is actually software engineering under a different name. Naming and ordering routines is modularization; this paper just applies it inside the prompt. We went further and moved the routines out of the prompt entirely, but the instinct is the same.

Practical eval methodology for agents: score whole trajectories, use pass^k, start from real failures rather than generic benchmarks.

The most useful writing on evals I've found because it starts where teams actually are: a pile of anecdotes and no harness. Our regression suite grew exactly this way, seeding eval cases from production failures, so a prompt change that regresses last month's cases fails loudly.

Single-agent failure modes include self-preferential bias: a model favors its own outputs when asked to judge them.

Why I use a second model as a check on plans and PRs instead of asking the same model to grade itself. A different model on the same input is the cheapest diversity you can buy, and it catches the failure modes the author-model can't see.

Gadi Cohen