A functional taxonomy for LLM inference in agentic tasks A new functional taxonomy classifies each large language model inference call in an agentic task into one of four roles — Initialization, Orchestration, Reasoning, and Synthesis — to separate inference that resolves task-relevant uncertainty from inference that merely copies data between requests. The taxonomy's author defines Reasoning functionally, as any call used to resolve uncertainty that matters to task completion, without taking a position on whether a neural network "really reasons." The framework matters because aggregate token bills — calls, input tokens, output tokens, latency, and reasoning tokens — cannot distinguish valuable inference from waste. Measuring the cost of an agentic cost is straightforward. Distinguishing value from waste is not. Our token bills collapse model inference into a few aggregate numbers: calls, input tokens, output tokens, latency, perhaps reasoning tokens if we're lucky. Those numbers are useful, but they say very little about what the model was being asked to do. Two inference calls with similar token counts can play completely different roles in task completion. One might be deciding which source of information is relevant to a task; the other might simply be copying a cursor from one response into the next request. Both consume model inference, but only one is resolving meaningful uncertainty. I think there is a useful way to describe this distinction. Given some task T and the sequence of model invocations used to complete it, each invocation can be classified according to the functional role that inference plays in T. I use four categories: Initialization, Orchestration, Reasoning, and Synthesis. This is deliberately a taxonomy of inference calls