Skip to content

An agent's output quality is the signal-to-noise ratio of its context — and every irrelevant token is a tax paid on every response.

Principle

Avoid Context Pollution

Why it's true

The model attends to everything — at once.

An LLM doesn't skim. Every token competes for attention with every other token.

context window

planning_transcriptprior_validator_reporttask_descriptionuser_issue_threadold_PR_commentstarget_file_pathunrelated_feature_specteam_slack_dumpacceptance_criteriajust_in_case_backgroundfull_conversation_historylast_week's_retro

The agent is asked: "implement validate_session_token()"

3 tokens of signal drowning in 9 tokens of noise — the signal can't dominate.

The agent drifts, answers the wrong question, or invents constraints that don't apply.

The violations

What pollution actually looks like.

Passing {full_conversation_history} to a sub-agent "so it has context"

The agent anchors to irrelevant prior turns and references the wrong phase, the wrong files, the wrong constraints.

Combining unrelated concerns in a single prompt

Concerns compete for attention. The agent optimizes for the average — none gets treated well.

Adding "just in case" background the agent won't use

Every line you add is a line the model attends to. "Just in case" is a tax paid every response with no reliable benefit.

Giving an implementor the planning transcript, the test results, and the PR history — when it only needs the spec

The agent hallucinates constraints lifted from context that doesn't apply to its sub-task.

Using a monolithic agent for work that could scope to a sub-agent

A broader scope loads broader context. The remedy is decomposition, not bigger prompts.

Each pattern looks like convenience. Each is a tax paid per call, at a thousand calls a month.

The scale multiplier

The indirect cost is larger than the direct one.

Bloated context charges you twice. The second charge is the one that hurts.

Direct cost

What you see on the invoice.

  • more tokens per call
  • longer latency
  • linear in call volume

Indirect cost

What you pay in rework.

  • lower-quality outputs
  • correction loops
  • humans intervening
  • drift and wrong-phase answers

At 1,000 invocations/month, bloated context is a compounding cost — the correction loops outweigh the savings from skipping the extraction step.

The discipline in practice

Extract what the agent needs. Nothing else.

Poorly applied

prompt to /implement+ full planning session transcript+ validator's prior-task report+ user's original issue thread+ team Slack context+ task description+ file paths

💥references wrong phase, wrong files, wrong constraints

Diagnosis: the agent anchors to the loudest context — which is rarely the relevant one.

Well applied

prompt to /implement+ task description+ AGENT_SYSTEM.md overview+ exact file paths to read+ acceptance criteria

🎯produces code that meets the spec on first pass

Diagnosis: signal dominates. Operationalized by Minimum Context.

Sub-agent context is an engineering problem, not a convenience.

You don't forward the conversation — you extract the minimum payload.

The discipline

Every token in context is a vote on what matters — pack it with noise and the agent votes wrong.

The model attends to everything simultaneously. Convenience-forwarding a conversation history feels cheap — until you pay for it on every single response, forever.