Chain-of-Thought Tokens are Computer Program Variables
Fangwei Zhu, Peiyi Wang, Zhifang Sui
TL;DR
This paper investigates whether chain-of-thought (CoT) tokens act as computer program variables in large language models. Through empirical studies on digit-wise multi-digit multiplication and grid-based dynamic programming, it shows CoT is necessary for these serial tasks, but performance is largely carried by tokens that store intermediate results, which can be represented in latent forms without harming ability up to a capacity limit. Intervening CoT values causally changes subsequent steps and the final answer, supporting the view that CoT tokens function as mutable variables. The findings reveal a computability/complexity limit between variable tokens and suggest design principles for more concise or latent CoTs with practical implications for instruction design and model analysis.
Abstract
Chain-of-thoughts (CoT) requires large language models (LLMs) to generate intermediate steps before reaching the final answer, and has been proven effective to help LLMs solve complex reasoning tasks. However, the inner mechanism of CoT still remains largely unclear. In this paper, we empirically study the role of CoT tokens in LLMs on two compositional tasks: multi-digit multiplication and dynamic programming. While CoT is essential for solving these problems, we find that preserving only tokens that store intermediate results would achieve comparable performance. Furthermore, we observe that storing intermediate results in an alternative latent form will not affect model performance. We also randomly intervene some values in CoT, and notice that subsequent CoT tokens and the final answer would change correspondingly. These findings suggest that CoT tokens may function like variables in computer programs but with potential drawbacks like unintended shortcuts and computational complexity limits between tokens. The code and data are available at https://github.com/solitaryzero/CoTs_are_Variables.
