Even if LLMs continue to get exponentially more powerful, there will be core engineering techniques that make LLM-powered software more reliable, more scalable, and easier to maintain.

How We Got Here: A Brief History of SoftwareFactor 1: Natural Language to Tool CallsFactor 2: Own your promptsFactor 3: Own your context windowFactor 4: Tools are just structured outputsFactor 5: Unify execution state and business stateFactor 6: Launch/Pause/Resume with simple APIsFactor 7: Contact humans with tool callsFactor 8: Own your control flowFactor 9: Compact Errors into Context WindowFactor 10: Small, Focused AgentsFactor 11: Trigger from anywhere, meet users where they areFactor 12: Make your agent a stateless reducer


Keyboard Shortcuts

Key Action
o Source
e Edit
i Insight
r Random
h Home
s or / Search
www.joshbeckman.org/notes/886125748