Framework of Thoughts: A Foundation Framework for Dynamic and Optimized Reasoning based on Chains, Trees, and Graphs
Felix Fricke, Simon Malberg, Georg Groh
TL;DR
FoT presents a foundation framework for dynamic and optimized reasoning in LLMs, addressing the rigidity and inefficiency of existing prompting schemes by supporting evolving execution and reasoning graphs, safe parallelism, and persistent caching. By re-implementing Tree of Thoughts, Graph of Thoughts, and ProbTree within FoT, the authors demonstrate substantial speedups (average ~10.7x) and cost reductions, as well as improved task performance after hyperparameter and prompt optimization. The work contributes a practical toolkit for deploying adaptive reasoning schemes and provides open-source code to accelerate future research and development in dynamic reasoning for LLMs.
Abstract
Prompting schemes such as Chain of Thought, Tree of Thoughts, and Graph of Thoughts can significantly enhance the reasoning capabilities of large language models. However, most existing schemes require users to define static, problem-specific reasoning structures that lack adaptability to dynamic or unseen problem types. Additionally, these schemes are often under-optimized in terms of hyperparameters, prompts, runtime, and prompting cost. To address these limitations, we introduce Framework of Thoughts (FoT)--a general-purpose foundation framework for building and optimizing dynamic reasoning schemes. FoT comes with built-in features for hyperparameter tuning, prompt optimization, parallel execution, and intelligent caching, unlocking the latent performance potential of reasoning schemes. We demonstrate FoT's capabilities by implementing three popular schemes--Tree of Thoughts, Graph of Thoughts, and ProbTree--within FoT. We empirically show that FoT enables significantly faster execution, reduces costs, and achieves better task scores through optimization. We release our codebase to facilitate the development of future dynamic and efficient reasoning schemes.
