Search papers, labs, and topics across Lattice.
This paper critiques the conventional role of LLMs as orchestrators in agent frameworks, highlighting that issues like token explosion and control-flow hallucination stem from the inherent probabilistic nature of these models. It introduces Agentic Programming, where the program dictates control flow and the LLM acts as a flexible component, invoked only for specific reasoning tasks. A case study demonstrates that this approach significantly enhances the stability of long visual operation sequences by structuring context as a directed acyclic graph (DAG) based on execution history rather than linear accumulation.
Control-flow hallucination isn't a bug鈥攊t's a feature of probabilistic LLMs, and Agentic Programming offers a robust solution.
Every major LLM agent framework gives the LLM the role of orchestrator; the model decides what to do next, when to call tools, and when to stop. We argue that token explosion, control-flow hallucination, and unreliable completion are not implementation bugs but architectural consequences of assigning the deterministic work of looping, branching, and sequencing to a probabilistic system. A better prompt or a stronger model cannot guarantee the reliability of the LLM agent. We therefore propose Agentic Programming, in which the program governs all control flow, and the LLM is itself part of it, an adaptive component we call LLM-as-Code and invoke only where a task calls for reasoning or generation. Within each call the model keeps full flexibility, but it cannot alter the program's execution path. With control in the program, the LLM's context is built from the execution history's call tree and forms a directed acyclic graph (DAG). Each call's context length is then determined by its call depth rather than by accumulation over steps. A case study of computer-use agents shows that the design is practical, not just a theoretical stance, substantially improving the stability of long visual operation sequences.