{"slug": "don-t-do-your-taxes-at-a-party", "title": "Don't Do Your Taxes at a Party", "summary": "Maneshwar, the developer behind git-lrc, argues that giving a single AI agent too many capabilities degrades performance, comparing it to doing taxes at a party. The solution is isolation: spawning focused sub-agents with dedicated contexts so tasks don't contaminate each other. Techniques include sub-agent spawning and keeping heavy objects out of the model's context via references.", "body_md": "*Hello, I'm Maneshwar. I'm building git-lrc, a Micro AI code reviewer that runs on every commit. It is free and source-available on Github. Star git-lrc to help devs discover the project. Do give it a try and share your feedback.*\n\nPart 3 of a series on context engineering and the finale of the pillar tour. Part 1 was the map; Part 2 was compaction. This one's about the move that questions the whole premise: why are we cramming everything onto one desk in the first place?\n\nYou've met this agent. You may have built it.\n\nIt does everything.\n\nIt answers support tickets, writes code, queries the database, drafts the customer apology email, and give it one more tool, it waters your plants xD\n\nOne magnificent system prompt, one giant context window, every capability you could imagine bolted on.\n\nAnd it's mediocre at all of it.\n\nIn Part 1 I called this the cognitive equivalent of doing your taxes at a party.\n\nThe SQL instructions bleed into the email-drafting instructions.\n\nThe tool the model needs is buried under nine tools it doesn't.\n\nInformation from one task contaminates another.\n\nThe window isn't *full* in the way compaction worries about, it's full of the wrong *kinds* of things at once, all elbowing each other for the model's attention.\n\nThe whole series so far has been about managing one desk well: clearing it, curating it, compacting it.\n\n**Isolation is the pillar that asks the heretical question, why one desk?**\n\nIsolation is simple to state: give each task its own clean, dedicated context, with only the instructions, tools, and information *that* job needs.\n\nInstead of one omniscient agent, you run several focused ones.\n\nThe research agent doesn't get your code style guide.\n\nThe coder doesn't need to know how to phrase a refund apology.\n\nEach context stays small, sharp, and uncontaminated, and a mess in one doesn't leak into the others.\n\nThere are two ways to actually pull this off, and they sit at very different weights.\n\nThe headline form of isolation is spawning sub-agents.\n\nThe orchestrator hands a sub-agent a *compressed* task \"find every API endpoint that modifies user data\" not the entire conversation history.\n\nThe sub-agent gets a fresh window, explores freely, reads thirty files, runs ten searches, makes a mess.\n\nThen it returns one thing: a 500-token answer.\n\nThe orchestrator never sees the thirty files. It sees the answer.\n\nThat asymmetry is the whole point.\n\nThe expensive, noisy exploration happens inside a context that gets thrown away, and only the distilled result survives into the main conversation. Claude Code does exactly this, dedicated sub-agents for navigation, planning, and docs lookup, each in its own window, running in parallel when the tasks are independent.\n\nAnthropic's own multi-agent researcher found that many agents with isolated contexts beat a single agent, precisely because each subagent's window could be spent entirely on one narrow question instead of being split across all of them.\n\nThe shape, in one line:\n\nThe sub-agent does the reading. The orchestrator gets the summary. The mess stays quarantined.\n\nYou don't always need a second brain.\n\nOften you just need to keep a heavy object out of the model's face.\n\nThe trick: let the work happen in an environment, and hand the model a *reference* instead of the payload.\n\nHuggingFace's CodeAgent runs tool calls as code in a sandbox, so a 5 MB image or a giant log blob can live as a variable in the environment, and the model gets a handle to it, not the bytes.\n\nSame idea with a runtime state object: write the token-heavy tool output to a field the LLM *doesn't* see, and expose only the fields it needs this turn.\n\nIf that sounds familiar, it should — it's the write/external-memory pillar wearing an isolation hat.\n\nKeeping something off the desk so it can't distract is the same gesture whether you call it \"memory\" or \"isolation.\"\n\nThe pillars were always the same idea in different costumes.\n\nIsolation is the most powerful pillar and the most expensive one, so be honest about the tradeoffs before you reach for it.\n\nIt costs tokens, Anthropic reported multi-agent setups burning up to **15× more tokens** than a single chat.\n\nIt costs coordination: someone has to plan the sub-agents, route the work, and stitch the results back together, and that orchestration is its own prompt-engineering problem.\n\nAnd there's a sharper failure underneath the token bill.\n\n**Isolation works beautifully for independent tasks and badly for interdependent ones.**\n\nTwo sub-agents exploring different questions in parallel? Great, that's what isolation is for.\n\nTwo sub-agents *writing code that has to fit together*, each blind to what the other decided? Now you've got two halves of a feature built on contradictory assumptions, and the orchestrator gets to discover the conflict at integration time.\n\nThere's a real camp of builders who think multi-agent is overhyped for exactly this reason when subtasks need to agree, splitting their context is how you manufacture disagreement.\n\nSo the rule of thumb isn't \"isolate the busy tasks.\" It's:\n\nIsolate by independence, not by busyness.\n\nIf two pieces of work need to stay consistent with each other, they probably want the same desk. If they genuinely don't touch — parallel research, read-only exploration, throwaway investigation — give each its own and let them run.\n\nThat's the last pillar, which means we can finally step back and look at the whole thing.\n\n| Pillar | The question it answers |\n|---|---|\n| External memory | Where does knowledge live when it's not on the desk? |\n| RAG / retrieval | How do I pull the right slice back onto it? |\n| Compaction | How do I shrink what's on it without losing the plot? |\n| Isolation | How do I give each job a desk of its own? |\n\nStare at that table and the punchline of the entire series falls out: **they are all the same move.**\n\nEvery one of them is a decision about that scarce, finite desk, the context window, so the model sees exactly what it needs and nothing it doesn't.\n\nWrite it down so it's not in the way.\n\nPull it back only when it's relevant.\n\nCompress it when it's bloated.\n\nSplit it when the jobs interfere.\n\nNone of it is begging the model in capital letters.\n\nIt's the boring, deliberate work of deciding what information goes where, and when.\n\nThe line I ended Part 1 with still holds, and it's a decent place to end the series too:\n\nThe prompt is the question. The context is everything that makes the answer good.\n\nDisclaimer: This article was written by me; AI was used to fix grammar and improve readability.\n\nAI agents write code fast. They also silently remove logic, change behavior, and introduce bugs — without telling you. You often find out in production.\n\ngit-lrc fixes this. It hooks into git commit and reviews every diff before it lands. 60-second setup. Completely free.\n\nAny feedback or contributors are welcome! It's online, source-available, and ready for anyone to use.\n\n⭐ Star it on GitHub:\n\n| [🇩🇰 Dansk](https://github.com/HexmosTech/git-lrc/readme/README.da.md) | [🇪🇸 Español](https://github.com/HexmosTech/git-lrc/readme/README.es.md) | [🇮🇷 Farsi](https://github.com/HexmosTech/git-lrc/readme/README.fa.md) | [🇫🇮 Suomi](https://github.com/HexmosTech/git-lrc/readme/README.fi.md) | [🇯🇵 日本語](https://github.com/HexmosTech/git-lrc/readme/README.ja.md) | [🇳🇴 Norsk](https://github.com/HexmosTech/git-lrc/readme/README.nn.md) | [🇵🇹 Português](https://github.com/HexmosTech/git-lrc/readme/README.pt.md) | [🇷🇺 Русский](https://github.com/HexmosTech/git-lrc/readme/README.ru.md) | [🇦🇱 Shqip](https://github.com/HexmosTech/git-lrc/readme/README.sq.md) | [🇨🇳 中文](https://github.com/HexmosTech/git-lrc/readme/README.zh.md) | [🇮🇳 हिन्दी](https://github.com/HexmosTech/git-lrc/readme/README.hi.md) |\n\nGenAI today is a **race car without brakes**. It accelerates fast -- you describe something, and large blocks of code appear instantly. But AI agents *silently break things*: they remove logic, relax constraints, introduce expensive cloud calls, leak credentials, and change behavior -- without telling you. You often find out in production.\n\n** git-lrc is your braking system.** It hooks into\n\n`git commit`\n\nand runs an AI review on every diff In short, git-lrc helps **Prevent Outages, Breaches, and Technical Debt Before They Happen**\n\n**At a glance:** [10 risk categories](https://github.com/HexmosTech/git-lrc#what-git-lrc-checks-for) · [100+ failure patterns tracked](https://github.com/HexmosTech/git-lrc#what-git-lrc-checks-for) · every commit…", "url": "https://wpnews.pro/news/don-t-do-your-taxes-at-a-party", "canonical_source": "https://dev.to/lovestaco/dont-do-your-taxes-at-a-party-4ep7", "published_at": "2026-06-15 18:00:35+00:00", "updated_at": "2026-06-15 18:06:36.916368+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-agents", "developer-tools"], "entities": ["Maneshwar", "git-lrc", "Claude Code", "Anthropic", "HuggingFace", "CodeAgent"], "alternates": {"html": "https://wpnews.pro/news/don-t-do-your-taxes-at-a-party", "markdown": "https://wpnews.pro/news/don-t-do-your-taxes-at-a-party.md", "text": "https://wpnews.pro/news/don-t-do-your-taxes-at-a-party.txt", "jsonld": "https://wpnews.pro/news/don-t-do-your-taxes-at-a-party.jsonld"}}