Vol. I · First Principles · I.4
Start Simple
Find the simplest solution, then add complexity only when evaluation says you must. Success is the right system, not the most agentic one.
5 min read
Doctrine
- One well-evaluated prompt beats a crew of unevaluated agents.
- Add a hop only when a measured failure mode requires it.
- If you use a framework, you must still be able to read the prompt it sends.
The 70–80% trap
Horthy's journey: grab a framework, hit 80%, discover the last 20% requires reverse-engineering the framework, start over. The antidote is modular concepts — tool calling, a context builder, a pause API — dropped into existing software.
Anthropic: optimize single LLM calls with retrieval and examples first. Multi-step systems only when simpler ones fail the eval.
Make simplicity testable
promptfoo and DSPy exist so 'simple' is not an aesthetic. Write the cases. If chaining beats a single call on the golden set, keep the chain. If it does not, delete it.
Anti-patterns
- Architecture-first: picking LangGraph vs CrewAI before writing a golden set.
- Adding memory, RAG, and multi-agent on day one.
- Optimizing latency of a system that is still wrong.