Fetching from the wire…
Top 5 · 2026-04-08 · source-backed
ETH Zurich researchers ran the first serious study on context files for AI coding agents. 5,694 pull requests across 138 repositories, tested with three frontier models: Sonnet 4.5, GPT-5.2, and Qwen3-30B. The finding that caught me off guard: LLM-generated context files reduced task success by 3% and added 2-4 extra reasoning steps per task, increasing inference costs by more than 20%.
Human-curated files did slightly better. A 4% improvement. But with the same token overhead, and that overhead compounds across hundreds of agent invocations per day.
The recommendation is specific enough to act on today: keep context files under 60 lines. Limit content to details the model genuinely can't infer from the codebase itself. Custom build commands, non-standard test runners, project-specific naming conventions. And never auto-generate them with an LLM.
This validates something I've noticed in my own setup. My CLAUDE.md is tightly scoped: architecture overview, code conventions, file locations, testing commands. No AI-generated prose. No "detailed guidelines." The temptation to dump everything the agent might need into one file is strong, but the ETH study shows it creates noise that degrades performance.
The connection to harness engineering is direct. Context files are part of your harness. A bloated, auto-generated context file is like giving a contractor a 50-page specification when they needed a one-page brief. The model spends tokens processing irrelevant context instead of solving the actual problem.
An r/ClaudeAI post (51 upvotes) from the same day made the same argument from a practitioner angle: "context anxiety," agents losing track of what they're doing, is better solved by a well-structured CLAUDE.md than by adding more coordination layers. The academic data and the community wisdom converged.
If you have an AGENTS.md or CLAUDE.md over 60 lines, today's the day to cut it. Strip it to what the model can't figure out on its own. Your agents will work better and cost less.
Each link below shares sources, entities, or timing with this story.
GPT competes with Claude / Shared entities / Same source / Shared topic / Earlier coverage
Linked by a graph relationship (GPT competes with Claude); both cover CLAUDE, ETH Zurich, GPT, Human; cite the same source (ETH Zurich researchers).
Claude Code uses Sonnet / Shared entities / Same source domain / Shared topic / What happened next
Linked by a graph relationship (Claude Code uses Sonnet); both cover CLAUDE, ClaudeAI, GPT, Sonnet; reported by the same outlet (reddit.com).
Claude uses MCP / Shared entities / Same source domain / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (Claude uses MCP); both cover CLAUDE, ClaudeAI, LLM; reported by the same outlet (reddit.com).
Claude Code uses Sonnet / Shared entities / Shared topic / What happened next
Linked by a graph relationship (Claude Code uses Sonnet); both cover Claude, Human, LLM, Worse; overlapping topics (agent, claude, context, cost).
Linked by a graph relationship (Claude Code uses Sonnet); both cover Claude, GPT, Qwen3; overlapping topics (agent, claude, cost, model, token).
Copilot uses GPT / Shared entities / Same source domain / Shared topic / What happened next
Linked by a graph relationship (Copilot uses GPT); both cover Claude, ClaudeAI, Qwen3; reported by the same outlet (reddit.com).
Qwen benchmarked against Claude / Shared entities / Same source domain / Shared topic / What happened next / Tension
Linked by a graph relationship (Qwen benchmarked against Claude); both cover GPT, Qwen3; reported by the same outlet (reddit.com).
Anthropic released Claude / Shared entities / Same source domain / Shared topic / Earlier coverage / Tension
Linked by a graph relationship (Anthropic released Claude); both cover ClaudeAI, Sonnet; reported by the same outlet (reddit.com).