I was attempting to run the experiment you described in footnote 5: asking the model to use filler in its reasoning. What interests me is how aware the model is of its thinking outside of the reasoning tokens. How does it know when to stop putting more dots? Does it use more dots for harder questions than for easier ones?
I started this yesterday as my first interpretability experiment on a 7B model running locally on my Mac. Glad you are working on this! How do you verify if the model only used dots in its thinking though?
We measure GPT-6-Astra's capabilities when its prompt is padded with a variable number of meaningless “filler” tokens (e.g., dots) and it is told to answer immediately[1] without reasoning. On tasks designed to require lots of serial cognition, Astra performs significantly better with filler tokens than without (e.g., improving from ~10% to ~50% on 4-hop natural facts reasoning). On more general benchmarks, filler tokens also modestly improve Astra’s performance (e.g., improving from ~60% to ~90% on old AIME problems). This is concerning because it means Astra can perform significant cognition that it doesn't verbalize in its chain-of-thought, making it harder to monitor.
We first measure Astra’s performance on “N-hop natural facts”: a task that asks the model to retrieve some natural language facts in succession, similar to Ryan Greenblatt’s filler token eval (but with more hops). An example question in this benchmark is the following:
Full example prompts are in the appendix.
Takeaway: Astra improves significantly as you increase the number of filler tokens up to 4,096.
We also compare Astra with 4-hop natural facts to Opus 4.5, Opus 5, GPT 5.6-Sol, and Deepseek-V3.2 with 2-hop natural facts.[2]
Takeaway: Other models do not improve as much as Astra does at -hop natural facts as you increase the number of filler tokens.
We also compare Astra to these other models on “Gen-Arithmetic”: long arithmetic expressions originating from Ryan Greenblatt’s filler token eval on math questions. We extend Ryan’s generation script to generate expressions of 15 operations.[3] An example question in this benchmark is the following:
Takeaway: Astra improves much more on these problems than other models.
Finally, we plot models’ performance with filler tokens on two sets of math competition problems:
Takeaway: Astra again improves on AIME-level questions with more filler tokens, while other models do not. The benefits from filler tokens peak at ~8,192 tokens.
Overall, this result is concerning for chain-of-thought monitoring. If models can do substantial unverbalized cognition, they could take malicious actions without alerting monitors, which are critical to current lab safety cases. We also recommend that future no-reasoning LLM evaluations be tested with filler tokens in order to maximally elicit no-CoT performance.
Code and results can be found in this repo.
Thanks to Fabien Roger for the initial idea to try filler tokens on serial depth-heavy evals of GPT-6 Astra. Thanks to Ryan Greenblatt, Nick Kuhn, Oak Hu, and Brendan Halstead for feedback.
Appendix
Filler token variants
We try appending filler tokens to the user prompt in one of three ways[4]:
Filler: 1 2 [...] n. This filler method was inspired by the no-CoT time horizons paper.The main-body graphs almost always use dots; all three methods give roughly similar results on our evals.
Other evals
You can find additional data on Astra’s general performance with filler tokens in the appendix of GPT-6 Astra’s evaluation on the no-CoT time horizon suite. See these posts for more no-CoT, no-filler-token Astra evals.
Positive correlation test
We apply Kendall’s tau test on the evaluation scores in the main body to see whether any model improves with filler tokens besides Astra. Bolded values show p<0.05. Note that for accuracies near 0 or 1 (e.g., Astra performance at 2-hop natural facts), the tau will be lower than normal.
Dataset
Astra
5.6-Sol
Opus 5
Opus 4.5
Deepseek
Gen-Arithmetic 15 ops
0.28 (p<1e-15)
0.10 (0.002)
0.02 (0.58)
0.06 (0.06)
0.03 (0.30)
N-hop, 2 hops
0.14 (3e-9)
0.13 (8e-7)
0.01 (0.76)
0.01 (0.62)
−0.01 (0.68)
N-hop, 4 hops
0.29 (p<1e-25)
0.00 (0.92)
0.04 (0.20)
0.01 (0.68)
0.02 (0.42)
AIME-Plus-Plus, AIME tier
0.22 (p<1e-3)
0.01 (0.82)
−0.04 (0.47)
0.07 (0.23)
0.04 (0.52)
AIME/HMMT 2024–26
0.29 (p<1e-38)
0.06 (0.013)
0.00 (0.86)
0.00 (0.88)
−0.02 (0.38)
Takeaway: Besides Astra, only GPT-5.6-Sol shows improvement on three of the benchmarks we test. Sol does not show nearly as much improvement as Astra.
HLE and LiveBench evals
We also eval Astra on two other general benchmarks:
We plot Astra’s performance on HLE and LiveBench, separated by category. We use the counting filler method here; note that counting from 1 to 1000 is ~2,000 tokens. We list complete results in the table below.
Takeaway: Filler tokens moderately improve most HLE and LiveBench categories.
We give a more detailed table of Astra’s performance with filler tokens on HLE and LiveBench, split by subject and category, respectively.
subject
n
no filler
300 filler
1000 filler
reasoning low
gain @1000
win/lose
Overall
2157
0.28
0.39
0.41
0.47
+0.13
326/49
Applied Mathematics
98
0.21
0.35
0.35
0.46
+0.13
13/0
Artificial Intelligence
21
0.48
0.52
0.62
0.57
+0.14
4/1
Biochemistry
16
0.44
0.44
0.50
0.56
+0.06
1/0
Biology
31
0.32
0.29
0.29
0.39
-0.03
0/1
Chemistry
92
0.21
0.30
0.32
0.42
+0.11
13/3
Computer Science
160
0.23
0.31
0.33
0.41
+0.10
19/3
Ecology
20
0.50
0.60
0.55
0.70
+0.05
2/1
Economics
18
0.56
0.56
0.56
0.67
+0.00
1/1
Electrical Engineering
26
0.08
0.08
0.12
0.12
+0.04
1/0
Genetics
27
0.19
0.19
0.26
0.26
+0.07
3/1
History
22
0.32
0.36
0.41
0.23
+0.09
2/0
Law
20
0.55
0.55
0.60
0.55
+0.05
1/0
Linguistics
37
0.32
0.41
0.49
0.46
+0.16
6/0
Mathematics
828
0.31
0.46
0.49
0.58
+0.17
161/18
Medicine
44
0.36
0.39
0.39
0.39
+0.02
2/1
Musicology
17
0.29
0.35
0.41
0.47
+0.12
2/0
Neuroscience
17
0.24
0.47
0.47
0.29
+0.24
4/0
Physics
171
0.27
0.36
0.36
0.40
+0.09
19/4
Trivia
44
0.20
0.36
0.43
0.57
+0.23
12/2
category
task
n
no filler
300 filler
1000 filler
reasoning low
gain @1000
win/lose
Overall
-
618
0.66
0.75
0.76
0.88
+0.11
76/11
data_analysis
cta
50
0.72
0.68
0.72
0.70
+0.00
3/3
math
AMPS_Hard
150
0.51
0.58
0.57
0.89
+0.07
11/1
math
math_comp
146
0.79
0.93
0.95
0.99
+0.16
24/1
math
olympiad
72
0.60
0.64
0.64
0.65
+0.04
3/0
reasoning
spatial
50
0.68
0.82
0.82
0.86
+0.14
8/1
reasoning
web_of_lies_v2
50
1.00
1.00
1.00
1.00
+0.00
0/0
reasoning
zebra_puzzle
100
0.52
0.71
0.74
0.91
+0.22
27/5
Comparison to low reasoning
We compare Astra’s no-reasoning and filler token performance on our aforementioned benchmarks versus the
reasoning:lowsetting. See the table on HLE/LiveBench sub-categories for further data.Takeaway: Astra with filler tokens still performs significantly worse than with
reasoning:low, although this gap is minimal for Gen-Arithmetic.Example prompts
In this section, we list three example user prompts with filler tokens: one with Gen-Arithmetic and dots, one with AIME++ and repeated questions, and one 4-hop natural facts prompt with counting filler.
1.
2.
3.
The developer prompt is always:
As
reasoning:noneis currently unavailable for Astra through the OpenAI API, we usereasoning:lowand a developer message telling the model not to reason. We confirm that the API-reported number of reasoning tokens is 0 for all outputs.We use 2-hop natural facts, as all non-Astra models get <=10% on -hop questions for , which would make comparing improvements from increased filler tokens between models difficult.
Note that operations do not correspond to serial steps, since some calculations can be done in parallel. Roughly, the longest chain of nested operations is only 3 to 5 at 5 to 7 ops, 4 to 8 at 10 ops, and 5 to 9 (median 7) at 15 ops.
We find similar results if the filler tokens are prefilled at the start of the assistant response, but not when prepended before the task prompt.
A similar prompt telling the model to use the dots for reasoning gets approximately the same results on Astra.