User Problem Domain Complexity
Scope an LLM application by four independent axes — medium, abstraction level, context required, and statefulness — before designing the harness.
Before designing an LLM application loop, size up the user's problem domain along four dimensions. Proofreading, IT-support assistance, and travel planning sit at increasing complexity across all four:
- Medium — text (the most natural fit for LLMs) versus voice versus complex website/API interactions the application must mediate.
- Level of abstraction — a concrete, well-defined, small problem versus a large abstract problem-and-solution space constrained by documentation versus needing to understand subjective tastes and objective constraints to coordinate a genuinely complex solution.
- Context required — nothing beyond the user's own text, versus searchable technical docs and example transcripts, versus calendars, external APIs, news, official recommendations, and general reference material.
- Statefulness — none, where every request is a self-contained problem statement, versus tracking conversation history and attempted solutions within a session, versus tracking interaction across weeks, multiple mediums, and abandoned solution branches.
These axes are independent — a problem can be simple on one and complex on another — and together they indicate how much architecture the application actually needs: low scores across the board can stay a single-iteration loop, while high scores on context and statefulness push toward full memory management and, past a point, toward generality-strength tradeoff decisions about narrowing scope or building a workflow.
Sources
- Prompt Engineering for LLMs (John Berryman), ch. 4