Own Your Prompts (12-Factor Agents)
Every prompt in a production agent is versioned, tested, and owned by the team in the application repo — never inherited as a framework default.
Problem
Framework-default prompts are not visible in the team's codebase, are not versioned by the team, are not tested by the team's eval suite. The team has no record of what prompt was in production at any historical moment. Differs from existing prompt-versioning by adding the no-framework-defaults stance — version is necessary but not sufficient.
Solution
At project start, audit every prompt the framework uses; copy into application repo as first-class files. Wire the agent to use the team-owned copies, not framework defaults. Version with git. Test in eval suite. Framework upgrades cannot change agent behavior without a team-controlled prompt change. Pair with prompt-versioning, eval-as-contract, deterministic-control-flow-not-prompt, stateless-reducer-agent.
When to use
- Production agent built on a framework with default prompts.
- Behavior reproducibility across framework upgrades matters.
- Team can absorb prompt-maintenance burden.
Open the full interactive page →
Diagram, neighbourhood map, code examples, related patterns and full provenance.