humanlayer/12-factor-agents: What are the principles we can use to build LLM-powered software that is actually good enough to put in the hands of production customers?

  • Factor 1: Natural Language to Tool Calls
  • Factor 2: Own your prompts
  • Factor 3: Own your context window
  • Factor 4: Tools are just structured outputs
  • Factor 5: Unify execution state and business state
  • Factor 6: Launch/Pause/Resume with simple APIs
  • Factor 7: Contact humans with tool calls
  • Factor 8: Own your control flow
  • Factor 9: Compact Errors into Context Window
  • Factor 10: Small, Focused Agents
  • Factor 11: Trigger from anywhere, meet users where they are
  • Factor 12: Make your agent a stateless reducer

ai