206 tokens vs 72: the same tool result, detailed vs concise, in Anthropic's example.
Tool output fills your agent's context. Offer a response_format option, return names over UUIDs, make errors say what to fix.
AI can double your PRs. Not your reviewers.
One company's 2x mandate, 802 devs: merged PRs per dev hit 2.09x baseline.
Before: 89% of PRs got a human review.
After: 68%. Per-reviewer load roughly doubled.
Your first agent eval suite can be small. Anthropic's advice:
1. 20-50 simple tasks from real failures
2. Mostly grade what the agent produced, not its path
3. Read the transcripts
Most MCP clients load every tool definition before your agent starts.
Before: all tools upfront, all results via the model.
After: tools as files, read on demand. Anthropic's example: 150,000 tokens to 2,000.
Keep coding-agent tasks small if you want the PR merged.
A study of 33,596 agent PRs on GitHub: 71.48% merged. The unmerged ones tended to change more files and lines, and to fail more CI checks.
OpenAI had 93 developers screen 1,699 SWE-bench tasks. 68.3% were cut.
Flagged: 61.1% for tests that may reject a valid fix, 38.3% for underspecified issues.
Read your eval's tasks before trusting its score.
Evals and backfills can wait. Batch them for 50% off on Anthropic's API.
1. Results arrive in any order. Match on custom_id
2. Unfinished after 24h? Expired, not billed
3. Cache hits: best-effort
On a reasoning model, max_output_tokens caps the hidden thinking too.
Run out mid-thought: you pay for the reasoning and get "incomplete", no text.
OpenAI: reserve 25,000+ to start.
Experienced devs don't vibe with coding agents. They steer.
13 observed, 99 surveyed, all 3+ years pro:
1. They plan before the agent codes
2. Median 1.8 plan steps per prompt
3. 9 of 13 observed reviewed every change
The shape is guaranteed. The values aren't.
OpenAI's own docs: outputs can still contain mistakes, and a refusal may not follow your schema.
Validate values in code. Handle refusals.
https://t.co/2rLsTSysoP
Valid JSON is not the same as your schema.
JSON mode gives you valid JSON. Structured Outputs also enforces your schema: no missing required keys, no invalid enum values.
Constrained decoding: the schema becomes a grammar, and each step only allows tokens that keep the output valid.
The Outlines paper (Willard & Louf, 2023) does it with a state machine and a vocabulary index, at little added overhead.