🤖 AI Summary
This work addresses the challenge of unreliable confidence quantification in multi-step large language model (LLM) pipelines, which undermines result trustworthiness and hampers debugging. The authors propose a novel probabilistic programming language that formalizes LLM invocation workflows as probabilistic programs, enabling automatic tracking and propagation of uncertainty throughout the entire pipeline. This framework supports flexible experimentation with diverse inference-time scaling strategies without requiring additional code. The approach substantially enhances system reliability and debuggability, and empirical evaluations demonstrate its effectiveness in accurately quantifying uncertainty. As a practical application, the method successfully powers an automated theorem-proving agent integrated with the Rocq theorem prover.
📝 Abstract
Building reliable applications that leverage large language models (LLMs) remains a significant challenge. While LLMs offer impressive capabilities across diverse tasks, their outputs often lack accuracy and provide no clear measure of confidence. This uncertainty compounds in flows of multiple calls to LLMs and other tools, making it difficult for developers and end-users to trust the results. This paper introduces a probabilistic language for programming LLM-based flows. It enables developers to quantify and propagate uncertainty throughout the application's flow, and experiment with different inference scaling techniques without adding a single line of code beyond the flow's logic. We present an experimental study to demonstrate this capability, and a case study building a theorem proving agent for the Rocq theorem prover.