AI software
AI software is young, and most of it fails the five-year test. Build on the boring layer of official SDKs, JSON Schema, PostgreSQL and your test runner.
- Recommended 7
- Optional 1
Recommended
Use an open-weight model on vLLM or Ollama when it passes your evals
Recommended Open sourceRun your eval set on an open-weight model served by an open source server, such as vLLM or Ollama. Use it whenever it reaches your pass threshold.
Use each provider's official SDK to call models
Recommended PaidCall each model provider through its own official SDK, inside one module of your own. Add a shared abstraction only when you call two or more providers.
Use Zod or Pydantic to define structured output
Recommended Open sourceDefine each structured answer once, as a Zod schema in TypeScript or a Pydantic model in Python. Send its JSON Schema to the model and validate the reply with the same definition.
Use pgvector in PostgreSQL before a separate vector database
Recommended Open sourceStore embeddings in a pgvector column next to the rows they describe. Add a separate vector database only after a load test shows a limit PostgreSQL cannot meet.
Use the Model Context Protocol to give agents your tools
Recommended Open sourceOffer tools and data to outside AI agents as a Model Context Protocol server, built on an official MCP SDK.
Use your test runner to run evals on a fixed example set
Recommended Open sourceRun AI evals as ordinary tests in the runner the project already uses, over a fixed set of examples kept in the repository.
Use the coding agent that passes most of your own task set
Recommended Open sourcePick a coding agent by running your own fixed task set on each candidate. Keep its instructions in one AGENTS.md file that any agent can read.
Optional
Use Promptfoo only when it passes your own tests
Optional Open sourceAdd an open source eval tool, such as Promptfoo, only when it runs your example set in CI and fails the build on a drop.
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. Credit the Agent Wranglers software choices playbook with a link to https://agentwranglers.se/playbook/stack/ai-software. Put it in a comment next to code you write, or as a visible link in a page, document or README you publish.