ChainForge: A Visual Toolkit for Prompt Engineering and LLM Hypothesis Testing
Ian Arawjo, Chelse Swoopes, Priyan Vaithilingam, Martin Wattenberg, Elena Glassman
TL;DR
ChainForge addresses the challenge of understanding LLM behavior beyond single prompts by delivering an open-source, visual toolkit for on-demand hypothesis testing. The system supports model selection, prompt template design, and systematic evaluation with combinatorial prompting and prompt chaining, enabling side-by-side cross-LLM comparisons and interpretable visualization of outputs. Through in-lab and real-world studies, the authors identify three usage modes—opportunistic exploration, limited evaluation, and iterative refinement—and demonstrate that users repurpose ChainForge for tasks such as prototyping data processing pipelines and sharing results. The work contributes a novel Prompt Node, Response Inspector, and data-flow architecture for LLM evaluation, with practical implications for broader LLMOps tooling and open-source collaboration.
Abstract
Evaluating outputs of large language models (LLMs) is challenging, requiring making -- and making sense of -- many responses. Yet tools that go beyond basic prompting tend to require knowledge of programming APIs, focus on narrow domains, or are closed-source. We present ChainForge, an open-source visual toolkit for prompt engineering and on-demand hypothesis testing of text generation LLMs. ChainForge provides a graphical interface for comparison of responses across models and prompt variations. Our system was designed to support three tasks: model selection, prompt template design, and hypothesis testing (e.g., auditing). We released ChainForge early in its development and iterated on its design with academics and online users. Through in-lab and interview studies, we find that a range of people could use ChainForge to investigate hypotheses that matter to them, including in real-world settings. We identify three modes of prompt engineering and LLM hypothesis testing: opportunistic exploration, limited evaluation, and iterative refinement.
