Took a stab at the Zen of Agentic Software:
Explicit is better than virtual
The agent should see what you see
You should see what the agent sees
Build systems the agent can observe, test, and repair
Give the agent good tools
Prefer working with text
The best tool is often a CLI
A CLI is just a sub-agent
Tool output should be signal, not exhaust
Failure should be loud enough to debug
Success concrete enough to verify
Leave room for surprise, not for confusion
Rely on the model’s intelligence, not its knowledge
Make knowledge available. Retrieve just in time
Build memory so the agent does not relearn the world
Memory helps. Memory lies. Design for both
Garbage context in, garbage out
Intent is the highest-signal context
If a model can’t solve problem with perfect context, it can’t solve problem
A longer prompt is not a substitute for data
Prompting is always the first baseline
If one agent is too slow, consider parallelism
Verifiers are great, use more of them
Do not sneer at glue. Enough glue, arranged well, becomes product