[Patterns for Building LLM-based Systems & Products](https://eugeneyan.com/writing/llm-patterns/) - Evals: To measure performance - RAG: To add recent, external knowledge - Fine-tuning: To get better at specific tasks - Caching: To reduce latency & cost - Guardrails: To ensure output quality - Defensive UX: To anticipate & manage errors gracefully - Collect user feedback: To build our data flywheel