back to atelier
Drafting • Feb 2026

The Human Tax

Removing Cognitive Constraints from the Software Stack

Work in Progress

The Human Tax: Removing Cognitive Constraints from the Software Stack to Enable Agent-Scale Computing


Abstract

Every layer of the modern software stack -- from syntax and type systems to microservice architectures, CI/CD pipelines, and on-call rotations -- encodes assumptions about a human programmer with a seven-item working memory, an eight-hour attention span, and a social need for ownership boundaries. As AI agents become the dominant producers and consumers of code, these human-centric design choices constitute a major source of accidental complexity in computing: a "human tax" we estimate at 30--50% of production codebases at the code level, compounding across architectural, infrastructural, and process layers. We extend Brooks's essential/accidental complexity framework with a third category, human-accidental complexity, and perform a systematic analysis of its manifestation across six strata of the stack. Our analysis yields five findings: (1) structured representations in the AST-to-IR range yield 44--82% improvements over text-based code generation; (2) agent-native languages require dependent types, homoiconicity, and proof-carrying semantics but not syntax, naming conventions, or formatting; (3) the entire operational stack must be redesigned around machine-speed event-driven loops; (4) self-improving systems close the feedback loop but require formal verification as a safety invariant; and (5) no single representation suffices -- multi-representation fluidity is the key architectural requirement. The novelty of this work lies not in any individual component but in the integration of existing ideas into a coherent stack: we propose the Agent Graph Language (AGL), a dependently-typed, homoiconic language designed from first principles for agent computation, and distill our findings into five architectural concepts -- Proof-Carrying Patch Graphs (PCPG), Multi-Level Agent IR (MAIR), Capability-Leased Tool Fabric (CLTF), Latent Coordination Bus (LCB), and Counterexample Supply Chain (CSC) -- that together with AGL define an integrated agent-native software stack.


PART I: DIAGNOSIS — What Is Wrong and Why

Section 1: Introduction

The modern software stack is a monument to human cognitive limitations. From the syntax of programming languages to the topology of Kubernetes clusters, every layer encodes assumptions about a specific kind of programmer: a biological organism with a seven-item working memory, an eight-hour attention span, a visual cortex that parses indentation, and a social nature that demands ownership boundaries, code review rituals, and semantic versioning contracts. These assumptions have been so deeply internalized by the field that they appear natural -- even essential. They are not.

This paper argues that as AI agents become the dominant producers and consumers of code, the human-centric design of the software stack constitutes a major source of accidental complexity in computing. We call this the human tax: the fraction of every software system that exists not to express computational intent but to make that intent legible to human minds. We estimate this tax at 30--50% of production codebases at the code level alone, compounding across architectural, infrastructural, and process layers.

1.1 The Shift in Authorship

For sixty years, the software stack has had a single class of author: the human programmer. Every abstraction, every tool, every process was designed to amplify the capabilities and compensate for the limitations of a biological mind writing code in a text editor. The structured programming revolution replaced GOTO with if/else because Dijkstra observed that humans need a "textual index" corresponding to the dynamic execution state. Type systems emerged because Milner recognized that human programmers "routinely introduce errors that could be detected before execution." The Single Responsibility Principle exists because Robert Martin observed that humans struggle to reason about entities with multiple interleaved concerns.

That question is becoming the wrong question. The shift from human to agent as the primary author of code is an empirical observation. As of early 2026, orchestration systems coordinate swarms of 1,000 or more AI coding agents. These agents do not read code sequentially; they process token sequences in parallel. They do not hold intermediate results in a seven-item buffer; they operate with context windows measured in hundreds of thousands of tokens. They do not need social conventions to coordinate; they can share state through structured protocols at machine speed.

1.2 The Human Tax Thesis

In 1987, Fred Brooks published "No Silver Bullet," distinguishing between essential complexity and accidental complexity. We extend Brooks's framework with a third category: human-accidental complexity. This is complexity introduced not by imperfect tools but by the need to make software comprehensible to humans. It includes naming conventions, type annotations (where formal verification would suffice), architectural boundaries drawn to match team structures rather than computational requirements, human-readable serialization formats, code review as social trust verification, and the entire operational infrastructure built for human-speed decision-making.

Thesis. We hypothesize that between 30 and 50 percent of a typical production codebase consists of human-accidental complexity: code that exists to make the system legible to human minds rather than to express computational intent.

Section 2: Human Constraints Baked Into the Software Stack

2.1 Syntactic Sugar Is for Human Brains

The foundational premise of every programming language above raw machine code is that humans cannot efficiently think in the instruction set of a von Neumann architecture. An LLM-based coding agent does not share this bottleneck. Indentation rules, naming conventions, and comments exist for human readers. Buse and Weimer (2010) confirmed empirically that code readability metrics measure visual and cognitive properties of human reading, not program semantics. An agent does not "read" code visually; it tokenizes it.

2.2 Type Systems as Human Error Prevention

Static type systems can be understood as a response to the observation that human programmers routinely introduce errors that could be detected before execution. For an AI agent that generates code from a formal specification and verifies it against that specification, the static type system becomes redundant—not because types are unimportant, but because the verification step subsumes the type-checking step. The enforcement mechanism of static type checking—the compile-time error—is designed for a human workflow.

2.3 Software Architecture as Team Topology

Conway's Law reveals that software structure is determined by the social structure of the humans who build it. Microservices are the purest expression of Conway's Law: independent teams need independent deployment units. The distributed systems tax is accepted because it enables human team independence. An agent swarm has no teams. An agent swarm might prefer a monolithic architecture with fine-grained internal modularity but no network boundaries.

2.4 Infrastructure as Human-Speed Operations

Kubernetes, monitoring dashboards, and alerting systems are designed for human operators. Resources are specified in YAML (human-readable). Dashboards exist because humans need visual representations. Alerts exist to wake humans. Runbooks are written in natural language for groggy engineers. An agent-native stack replaces runbooks with executable remediation policies covering the full state space.

2.5 Social Constructs in Code

Code review, semantic versioning, git commit messages, and open source licenses are social coordination mechanisms. Code review exists because human programmers cannot be trusted. Semantic versioning is a social contract. Git is a communication medium for humans.

2.6 Quantifying the Compound Human Tax

Table 1: The Human Tax Breakdown

CategoryEstimated % of Codebase
Comments and documentation strings10–20%
Type annotations (where inference/verification suffices)5–15%
Naming overhead3–8%
Architectural boilerplate5–15%
Serialization/deserialization2–5%
Error messages2–5%
Configuration files1–3%
Test descriptions1–3%
Total estimated human tax30–50%

PART II: PRESCRIPTION — What to Build Instead

Section 3: Beyond Text -- Code Representations

Text-based source code is a lossy compression of program semantics. Agents should operate on a spectrum of structured representations—ASTs, IRs, graphs—choosing the optimal level for each task.

3.1 The Representation Spectrum

Code exists at multiple levels: Specification, Human-readable source, Token streams, CSTs, ASTs, IRs, Machine code. The "Goldilocks zone" for current agents is in the AST-to-IR range: structured enough to eliminate syntax errors, abstract enough to capture intent.

3.2 ASTs as the Natural Agent Language

GrammarCoder (2025) demonstrated that generating code using grammar rule sequences derived from ASTs improved Pass@1 on HumanEval by 82% compared to raw text generation. ASTs provide structural validity by construction and explicit semantic structure.

3.3 Intermediate Representations

IRs like LLVM IR, WebAssembly, and MLIR capture the structure of computation. MLIR's dialect system allows defining domain-specific IRs at different abstraction levels with principled lowering.

3.7 Toward Representation-Fluid Agent Systems

Agent-scale systems will be representation-fluid: operating on specifications, ASTs, graphs, and IRs simultaneously, translating between them as needed.

Section 4: Agent-Native Languages

An agent-native language requires unambiguous semantics, machine-verifiable correctness, composability via behavioral specifications, determinism, and minimal redundancy. It does not need readable variable names, indentation, or comments.

4.5 AGL: The Agent Graph Language

We propose AGL, a dependently-typed, homoiconic language designed for agents. It defines six node categories (computation, data, control, contract, proof, interface) and operates at four levels (L0 Intent, L1 Plan, L2 Action, L3 Runtime). Programs are typed graphs carrying specifications and proofs.

Section 5: Infrastructure Without Human Operators

We propose an agent-native operations stack that replaces dashboards with streaming telemetry, alerts with event-driven activation, and runbooks with executable policies. The Agent-Computer Interface (ACI) must be redesigned for machine consumption: schema-first, semantically rich, composable, and streaming.


PART III: FRONTIER — Where This Leads

Section 6: Self-Improving Systems

When the loop closes, agents modify their own capabilities. We analyze the self-improvement loop (generate-evaluate-filter), agents training their own models (synthetic data, curriculum learning), and agents writing their own tools.

6.6 The Shannon Limit of Software

We propose a structural analogy to Shannon's channel capacity: the rate of code production RR is bounded by verification capacity C=Wlog2(1+SNR)C = W \cdot \log_2(1 + \text{SNR}). When production exceeds verification, the system enters entropy collapse.


PART IV: CONTRIBUTION — What We Specifically Propose

Section 7: Five Novel Concepts for the Agent-Native Stack

  1. Proof-Carrying Patch Graphs (PCPG): A DAG where every node represents a code change carrying structural diffs, contract deltas, test evidence, proof obligations, and verification receipts.
  2. Multi-Level Agent IR (MAIR): A standard four-level IR stack (Intent, Plan, Action, Runtime) with verified lowering.
  3. Capability-Leased Tool Fabric (CLTF): Tool access modeled as affine, expiring capabilities with typed, scoped, revocable leases.
  4. Latent Coordination Bus (LCB): Inter-agent communication supporting natural language, structured state deltas, and compressed latent payloads.
  5. Counterexample Supply Chain (CSC): A pipeline transforming production incidents into reproducible traces, formal counterexamples, benchmarks, and training curriculum.

10. Conclusion

The software stack is a monument to human cognitive limitations. As agents replace humans, the design space reopens. The opportunity is to redirect human ingenuity from accommodating constraints to specifying intent. The software stack can become a monument to human intent—if we choose to build it that way.