In "How to Match LLM Patterns to Problems," Eugene Yan lays out a decision framework for choosing LLM approaches. The core idea is to classify a problem along two dimensions: whether it involves an external or internal LLM, and whether it follows a data or non-data pattern.

The external/internal distinction separates problems where the LLM is a service the system calls from problems where the LLM is embedded and controlled by the team. The data/non-data distinction separates problems that depend on specific data from those that rely on the model's general capabilities.

Yan's guidance is practical: by mapping a problem to these categories, teams can select a matching pattern instead of applying a one-size-fits-all LLM solution. The categories are not rigid; they are a lens for reasoning about trade-offs. Since there is only one source, no conflicting views are noted.