An LLM is a noisy channel. You get reliable code from the error correction around it, not from a perfect prompt.
Eichhorst's Principle applies Claude Shannon's noisy-channel theorem to coding with LLMs. Shannon proved in 1948 that a noisy channel can still carry error-free messages, as long as you stay below its capacity and add enough redundancy. An LLM is such a channel: non-deterministic, sometimes wrong, prone to hallucination. An agent that runs in a loop with a compiler, a type checker, and tests turns that channel into a reliable one. Each check catches a class of errors, and the agent fixes what it reports.
Two levers make transmission reliable
The principle gives you two levers. The first is the signal: clear, small specifications and precise vocabulary, so the message has a chance to arrive intact. The second is the error correction: every deterministic check that tells the agent exactly what went wrong.
- The compiler is the noiseless channel. It is deterministic and leaves nothing to interpretation. When it says "type mismatch", there is nothing to negotiate.
- Each check catches its own class of errors. The compiler catches syntax errors, unit tests catch logic errors, BDD tests catch domain errors.
- Tokens are the redundancy overhead. They are the price of correctness on an unreliable channel.
- Error correction has a limit. If a specification exceeds what the model can handle, more tokens will not help. Make the specification smaller instead.
The practical consequence: invest in your tests and your feedback loop before you invest in better prompts.
Ingo Eichhorst framed it, and I gave it a name
The idea comes from Ingo Eichhorst, who applied Shannon's theorem to LLM agents in his keynote at JavaLand 2026. I named it Eichhorst's Principle in a post on 18 March 2026, the first written use of the name. Ingo has agreed to the name. A conversation with Avraham Poupko later sharpened two parts of it: the compiler as the noiseless channel, and the boundary between purpose and task.
The series works out the principle one post at a time
- Foundation
- Eichhorst's Principle: Shannon's Noisy Channel Applied to LLM Coding 18 Mar 2026
The original post: the LLM as a noisy channel, the agentic loop as error correction. - Closed Loop vs. Open Loop: Why the Feedback Loop Is Everything 19 Mar 2026
Prompting is an open loop, agentic coding a closed one, so better tests beat better prompts. - The channel
- Your Compiler Is Shannon's Noiseless Channel 17 Apr 2026
Modifiers likeprivateandfinalbecome error correction for machines, and auto-fixers are the cheapest layer. - Choose Your Language, Choose Your Channel Capacity 7 May 2026
Strict languages with actionable error messages need fewer round trips per correct result. - The limits
- Purpose vs. Task: Where the Human-Machine Boundary Actually Sits 24 Apr 2026
The machine executes tasks; the purpose behind them stays with humans and cannot be delegated. - The Correction Radius: When to Stop the Feedback Loop 30 Apr 2026
Every loop can only repair errors within a certain distance from correct code; beyond it, a human has to step in. - In practice
- Trust Is Good, Verification Is Better 26 May 2026
An inventory of what an agentic-coding harness can check, and an honest look at what it cannot.
Semantic Anchors strengthen the signal
Error correction repairs what arrives broken. The other lever is to send a clearer message in the first place. Semantic Anchors do exactly that: well-known terms such as "TDD, London School" or "arc42" carry a whole method in a few tokens, so the model knows what you mean without a long explanation. The Spec-Driven Development workflow combines both levers: small specifications with precise anchors, implemented test-first in a closed loop.
Others have picked up the term
- Beyond Vibe Coding by HMZE × Impala Search, episode #061: "Das Eichhorst Prinzip" with Ingo Eichhorst (podcast, German, 7 May 2026).
- Johannes Rabauer: "Eichhorst Principle" in his catalogue of agentic methods (July 2026).
- Johannes Rabauer with Ingo Eichhorst: "Stop Prompting. Start Building Software Factories for Java" (live coding, 2 July 2026), with the accompanying blog post.
Further reading goes deeper into the Shannon framing
- Ingo Eichhorst: "Der Agent tickt anders: Was Claude Shannon Softwarearchitekten über Coding-Agenten lehrt" (book, German, Leanpub). Ingo's own, fuller treatment of the Shannon perspective.
- Eberhard Wolff: "KI Coding Produktivität mit Ingo Eichhorst" (video, German).
- Claude E. Shannon: "A Mathematical Theory of Communication", Bell System Technical Journal 27 (1948). The theorem everything here builds on.
Cite this page as
If you refer to the principle, please link to this page. It stays put while the posts move down the blog feed.
Müller, Ralf D. (2026): Eichhorst's Principle.
https://rdmueller.github.io/pages/eichhorsts-principle.html
(named on 18 March 2026, after Ingo Eichhorst's JavaLand 2026 keynote)
@misc{mueller2026eichhorst,
author = {M{\"u}ller, Ralf D.},
title = {Eichhorst's Principle},
year = {2026},
url = {https://rdmueller.github.io/pages/eichhorsts-principle.html},
note = {Named on 18 March 2026, after Ingo Eichhorst's JavaLand 2026 keynote}
}