No items found.

Few Word Do Trick

Open-weight models cut a large share of the filler words, like "the", "is" and "let me", from their reasoning this year.

Cracked salt flat in Death Valley, California, stretching to low mountains under a pale sky, in black and white. Photo by Carol M. Highsmith, Library of Congress.

Summary

  • Three open model families had their reasoning turn terser through 2026. From the older to the newer release, the share of filler words fell by between a quarter and a half: DeepSeek 26.6% to 13.3%, GLM 18.9% to 13.6%, Kimi 18.0% to 9.8%.
  • Shorter wording did not mean fewer tokens. DeepSeek's newer model spends 2.5 times the reasoning tokens of its predecessor; only GLM got cheaper.
  • Among today's open models, Kimi K3.1 Pro writes the leanest reasoning (9.8% filler) and Qwen3.8 Flash the wordiest (23.7%).

Why count filler

GLM-5.3-Flash · one full reasoning step on SWE-bench Pro tutanota, after an edit silently failed

"TypeScript passed despite body not applied. Why replacement failed? Likely tabs vs spaces? File showed 8 spaces via nl but maybe tab characters? It displayed indentation maybe tabs rendered. Let's inspect repr."

GLM-5.3-Flash, one full reasoning step on SWE-bench Pro tutanota, after an edit silently failed.

Reasoning models think and plan in the reasoning prefix to their response, and this “chain of thought” adds to the total token spend as well as time latency, besides increasingly requiring monitors to completely oversee what a LLM is doing. A year ago most open models reasoned in full English sentences: "Let me start by exploring the repository and finding the relevant code." Several of this year's releases write something closer to a note to themselves: "Need inspect repo. grep."

We wanted to measure that shift toward terse reasoning with few filler words directly. If a model drops words which a careful reader would not miss, it should either save tokens, solve more within the same budget, or at least do no worse. We measured the fraction of filler words in the reasoning of open models on agentic coding tasks, compared releases within the same family, and checked what happened to cost and outcomes.

We count five kinds of filler words (fillers, for short), chosen as the words a maximally terse reasoner would drop without losing information:

  • Self-talk: "let me", "I'll", "we need", "hmm", "wait", "actually", "okay".
  • Articles: the, a, an.
  • Helper verbs: forms of be, do and have used as auxiliaries ("is", "does", "have been").
  • Connectors: "and", "to" before a verb, "that" before a clause, an empty "there's".
  • I, we, me, us: the model referring to itself.

Prepositions, negation, hedges such as "maybe" and connectives such as "but" carry meaning, so we classify these to be non-fillers. Only English sentences count: code blocks, shell commands and code inside a sentence are removed first.

Setup

We run 12 open models on 20 agentic coding tasks in a terminal agent: 8 from SWE-bench Verified, 5 from SWE-bench Pro and 7 from Terminal-Bench 2.1. Each model runs each task once with reasoning effort set to high and temperature 1.0, behind the same 262k-token context cap. We picked tasks these models mostly solve, so that differences in wording are not mixed up with differences in success. Every SWE-bench Pro and Terminal-Bench task we kept was solved by at least 8 of the 10 current models, and 192 of the 200 current-model runs succeeded.

Nine of these models are the newest release in their family: Kimi K3.1 Pro, GLM-5.3-Flash, DeepSeek V4.1 Flash, Reflection Beam 1.0, MiniMax-M3.1-Flash, Inkling 2 Small, Muse Spark Open, MiMo V2.6 Flash and Qwen3.8 Flash. Three older releases give the before-and-after view: Kimi K3, GLM-5.2 and DeepSeek V4 Flash.

Tasks. SWE-bench Verified: django 11099, 11133, 11179, 14089, 16139; scikit-learn 13439; astropy 14995; pytest 7432. SWE-bench Pro: element-web, openlibrary, vuls, qutebrowser, tutanota. Terminal-Bench 2.1: fix-git, prove-plus-comm, constraints-scheduling, crack-7z-hash, kv-store-grpc, nginx-request-logging, cobol-modernization.

Every run, with its full trajectory and score, is in the PatronusAI/few-word-do-trick-traces dataset on Hugging Face.

Open models got terser this year

In all three model families we compared, the newer release writes fewer filler words. DeepSeek halved its filler share between the April and October builds of its Flash model. Kimi K3.1 Pro cut it nearly in half from K3. GLM moved less but in the same direction.

Dot chart of filler words as a share of reasoning prose, older release to newer release, over the same 20 coding tasks. DeepSeek V4 Flash to V4.1 Flash falls from 26.6% to 13.3%. GLM-5.2 to GLM-5.3-Flash falls from 18.9% to 13.6%. Kimi K3 to K3.1 Pro falls from 18.0% to 9.8%.

Figure 1. Filler share of reasoning prose, older release (open circle) to newer release (filled circle), over the same 20 tasks.
−41%filler on average, older to newer release
58 → 60of 60 runs solved; the terser releases did no worse
1 of 3families got cheaper in reasoning tokens
Filler fell 41% on average, older to newer release. The terser releases solved 60 of 60 runs, up from 58. One of three families used fewer reasoning tokens.

The change is evident in the lines a model writes early on. Here are DeepSeek's two Flash builds reasoning about the same Django bug, where deleting a model instance leaves its primary key set:

Self-talkArticlesHelper verbsConnectorsI / we / me / usCode (not counted)

DeepSeek V4 Flash · Apr 2026

"We need to analyze the task. The user wants to fix a Django bug: deleting a model instance with no dependencies doesn't clear the primary key (PK). According to the description, after calling .delete() on a model instance, the PK should be set to None. The file to modify is Django.db.models.deletion:276-281 (probably django/db/models/deletion.py). …"

DeepSeek V4.1 Flash · Oct 2026

"We need respond commands. Need understand task likely a bug fix. Current code line 326 clears pks in normal branch after delete. But early fast delete returns without clearing PK. Need modify line 280 maybe set instance pk to None after delete_batch, before return. …"

DeepSeek V4 Flash (April 2026) and V4.1 Flash (October 2026) reasoning about the same Django bug, with filler words highlighted by kind.

The older style is not always verbose, which is part of the reason the average difference looks smaller than the examples might suggest. Kimi K3 opens most tasks in clipped notes and switches to full prose once it starts debugging. K3.1 Pro stays clipped while working through the same bug:

Kimi K3 · debugging an astropy mask bug

"Interesting — the _arithmetic_mask in the current code handles None cases already. The issue arises when operand is None (constant) but self.mask is not None: `elif operand is None: return deepcopy(self.mask)` — handled. But when operand is a constant like `1.`, in _arithmetic, operand is wrapped... Let's look at how operand is processed. In the bug, `nref_mask.multiply(1., handle_mask=np.bitwise_or)` fails with "int | NoneType". …"

Kimi K3.1 Pro · same bug

"I need solve. I have code bug obvious missing condition operand.mask None. Current:
if both none or handle_mask none return
elif self.mask None and operand not None return deepcopy operand.mask
elif operand is None return deepcopy self.mask
else handler(self.mask, operand.mask)
For self mask exists, operand not None but operand.mask None -> else handler(mask,None) TypeError."

Kimi K3 and Kimi K3.1 Pro debugging the same astropy mask bug, with filler words highlighted by kind.

What they dropped

The newer models did not cut down their use of every kind of filler equally. Article use dropped the most, by 93% for Kimi and 85% for DeepSeek, with helper verbs close behind. Self-talk fell much less than articles did. GLM and Kimi cut it by about a third, and DeepSeek's rose slightly, since its clipped style leans on self-talk ("We need… Need… Need…"). Connectors barely moved for GLM and Kimi. Kimi K3.1 Pro also says "I" more than K3 did, from openers like "I need" and "I should". Self-talk may be the one kind of filler that training adds rather than removes. Going back into LLM history, in early 2025, DeepSeek-R1-Zero started writing "Wait, wait. Wait." during reinforcement learning with outcome-only rewards [10], and suppressing markers such as "wait" and "hmm" often costs no accuracy [11]. Self-talk can also be added on purpose: s1 appends "Wait" when a model tries to stop thinking, which makes it check its answer [16].

Figure 2. Filler per 1,000 prose words by kind, older to newer release
Per 1,000 wordsDeepSeek
V4 Flash → V4.1 Flash
GLM
GLM-5.2 → GLM-5.3-Flash
Kimi
K3 → K3.1 Pro
Self-talk43.2 → 46.1+7%64.2 → 44.1-31%45.3 → 29.2-36%
Articles103.5 → 15.7-85%36.7 → 23.7-35%55.5 → 4.1-93%
Helper verbs48.3 → 21.1-56%35.2 → 24.7-30%32.4 → 10.1-69%
Connectors38.5 → 27.0-30%27.2 → 25.8-5%26.4 → 24.7-6%
I / we / me / us32.1 → 23.1-28%25.9 → 17.4-33%20.8 → 29.6+42%
Figure 2. Filler per 1,000 prose words by kind, older to newer release, with the percentage change. Green is less filler in the newer release, red is more.

Terser is not cheaper

Fewer words per sentence would save tokens if other aspects of writing style, such as hedging in reasoning and the propensity to explore, stayed equal. It did not. DeepSeek's newer Flash model reasons in shorthand but writes far more of it, a median of 8,387 reasoning tokens per task against 3,421. Kimi K3.1 Pro also spends more than K3, 1,324 against 918. Only GLM's newer model got slightly cheaper.

Figure 3. Median tokens per task and runs solved, older to newer release
FamilyReasoning tokens / taskOutput tokens / taskRuns solved
DeepSeek3,421 → 8,387+145%8,569 → 12,743+49%19 → 20 of 20
GLM3,761 → 3,075-18%8,107 → 7,809-4%19 → 20 of 20
Kimi918 → 1,324+44%3,018 → 3,260+8%20 → 20 of 20
Figure 3. Median reasoning tokens and billed output tokens per task, and runs solved, over the 20 tasks. Reasoning tokens are re-counted with one shared tokenizer so that families with different tokenizers compare fairly.

Outcomes did not change either. The older releases solved 58 of their 60 runs and the newer ones 60 of 60. The tasks are easy for these models, so this shows the terse style costing nothing on simple fixes. It does not show terse reasoning helping on hard ones, and we would not expect a mere change in style to do that.

Who still says lot of words

Across the newest release of each family, filler share ranges from under one word in ten to almost one in four. Articles account for the biggest gap. Kimi K3.1 Pro uses about 4 per 1,000 words, while Qwen3.8 Flash, Inkling 2 Small and MiMo V2.6 Flash use 72 to 90, close to ordinary written English.

For a human reference, we ran the same filler count on the bug reports behind all 500 SWE-bench Verified tasks: engineers describing coding problems in their own words. They come out at 20.8% filler and 86 articles per 1,000 words. The wordiest open models now write about as much filler as a person filing an issue, and Kimi K3.1 Pro uses less than half of it. People spend their filler words differently, though. The issue writers use almost no self-talk (8.5 per 1,000 words), while every model uses 29 or more. A larger comparison of model and human think-aloud traces also finds models using the same reasoning moves as people in different ways [12], and some argue that reading these markers as human-like thinking is misleading [13].

Bar chart of filler share for the newest open release in each family, with human-written SWE-bench Verified bug reports in orange. Qwen3.8 Flash 23.7%, MiMo V2.6 Flash 21.4%, Muse Spark Open 20.9%, Human bug reports 20.8%, Inkling 2 Small 20.4%, MiniMax-M3.1-Flash 16.0%, GLM-5.3-Flash 13.6%, DeepSeek V4.1 Flash 13.3%, Reflection Beam 1.0 12.8%, Kimi K3.1 Pro 9.8%.

Figure 4. Filler share of reasoning prose for the newest open release in each family, over the same 20 tasks. In orange, human-written bug reports from SWE-bench Verified, scored with the same rules.

A terse writer is not automatically a cheap one. DeepSeek V4.1 Flash is among the tersest but spends a median 8,387 reasoning tokens per task. Muse Spark Open sits mid-pack on filler but spends 19,153, the most of any model, and repeats its own five-word phrases more than any other model.

Across benchmarks

The ranking holds on each benchmark on its own, with one exception. MiniMax-M3.1-Flash writes like the verbose models on SWE-bench Verified (24.0% filler) but like the terse ones on SWE-bench Pro and Terminal-Bench (about 10.5%). We have not established why.

Figure 5. Filler share by benchmark, with runs solved
ModelSWE-bench Verified (8)SWE-bench Pro (5)Terminal-Bench 2.1 (7)All 20
Kimi K3.1 Pro11.9% 8/89.2% 5/58.4% 7/79.8%
Reflection Beam 1.014.3% 8/811.6% 3/512.9% 7/712.8%
DeepSeek V4.1 Flash16.3% 8/812.7% 5/513.2% 7/713.3%
GLM-5.3-Flash13.7% 8/813.2% 5/513.9% 7/713.6%
MiniMax-M3.1-Flash24.0% 8/810.7% 5/510.5% 6/716.0%
Inkling 2 Small24.4% 8/820.4% 5/518.2% 7/720.4%
Muse Spark Open23.4% 8/818.2% 5/523.3% 6/720.9%
MiMo V2.6 Flash25.7% 8/820.4% 3/520.5% 6/721.4%
Qwen3.8 Flash25.6% 8/822.9% 5/521.8% 6/723.7%
Figure 5. Filler share by benchmark, with runs solved. Models are ordered by filler share over all 20 tasks.

Why this change might have arisen

We cannot see how these models were trained, so everything in this section is much in the realm of conjecture, or in other words, a hypothesis for why this shift in reasoning language came about.

1. A length penalty during RL

Perhaps reinforcement learning added a penalty on response length, and models learned to drop the cheapest words first. Articles and helper verbs carry almost no information, so they would go before anything else, which is what we see. The token counts don't fit that well. A per-token penalty should shorten reasoning overall, yet DeepSeek's newer model spends 2.5 times as many reasoning tokens and Kimi's spends 44% more. A penalty on each step or sentence would fit better, since it rewards short sentences without capping how many of them a model writes.

2. A different teacher to distill from

Open models are often trained on reasoning traces from stronger closed models, and the student inherits the teacher's style along with its skill. Recent work describes GPT-6 Astra's extracted reasoning as unusually telegraphic and low in redundancy [6], while traces in the style of Claude Opus models typically read as full prose. If open labs moved their distillation data from Opus-style traces to Astra-style traces, terse reasoning would appear across several unrelated families within months, without any lab choosing it on purpose. That fits the timing we can see: GLM's shift landed between its June and August releases, and DeepSeek's Flash model was already terse by its July build. It would also explain why self-talk survives, because a student copies the teacher's habits wholesale, "Need… Need…" included.

Others have noticed the resemblance. In October, Lisan al Gaib posted examples of DeepSeek and Astra making the same compressions, from dropping "to" to joining words and numbers [9]:

Lisan al Gaib (@scaling01), October 17, 2026, the full image from the post.

3. Drift from outcome-only rewards

When RL rewards only the final result, nothing rewards readable reasoning, and over long training runs the text can drift toward private shorthand [5]. DeepSeek-R1-Zero showed that outcome-only RL can create a distinctive reasoning style on its own [10]. Under this account the newer models are further along the same path. It predicts that the most heavily RL-trained releases are the tersest, and that the drift continues in the next generation. Andrej Karpathy put the idea memorably (and presciently, one must say) in September 2024: "You can tell the RL is done properly when the models cease to speak English in their chain of thought" [7].

Andrej Karpathy (@karpathy), September 16, 2024.

4. Pressure from agent formats

Agent harnesses ask for strict output such as JSON commands, and several models open by reminding themselves of it: "We need respond JSON only." Training on more agentic data could push planning toward compact notes. This hypothesis is the easiest to check, because it predicts the same models write fuller prose on plain chat or math tasks. There is already a hint that the harness matters. Tim Hua ran GLM-5.3 on the same code review in two agent harnesses, and its thinking reads as full prose in one and as clipped notes in the other [8]. The second panel is labeled a reasoning summary, so it may not be the raw reasoning.

Profile photo of Tim HuaTim Hua@Tim_Hua_

GLM-5.3’s chain of thought when you use it with the Claude Code scaffold vs. when you use it with the codex scaffold.

GLM-5.3 in the Claude Code scaffold, its Thinking block written as full prose: "Now I have the full picture. Good design: the layering is explicit," followed by a design review with a list of strengths and nits.
Claude Code scaffold
GLM-5.3 in the Codex scaffold, its Reasoning summary written as clipped notes: "Need include test results properly. Also mention workspace actively changed during review, maybe uncommitted diff."
Codex scaffold
Tim Hua (@Tim_Hua_), November 1, 2026, the two panels from the post. The second is labeled a reasoning summary.

How to tell these hypotheses apart

A few measurements would separate these. Comparing each model's phrasing with traces from candidate teachers would test distillation directly, since distilled students share distinctive phrases as well as terseness. Running the same models on non-agentic tasks would test format pressure. Tracking sentence length against total reasoning length across checkpoints would distinguish a per-response length penalty from a per-sentence one.

The three families

Each chart set below ranks the newest open models on filler share and on each kind of filler, and shades one family's older and newer release. The arrow is green where the newer release uses less of that kind and red where it uses more.

Model family
DeepSeek V4 → V4.1 FlashGLM-5.2 → GLM-5.3-FlashKimi K3 → K3.1 Pro
SWE-bench Verified, SWE-bench Pro, Terminal-Bench 2.1 · 20 tasks · Reasoning effort: high · Nov 2026
Figure 6. DeepSeek V4 Flash (April 2026) to V4.1 Flash (October 2026). Articles fall from 104 to 16 per 1,000 words; self-talk is the one kind that rises.GLM-5.2 (June 2026) to GLM-5.3-Flash (August 2026). The newer model uses less of every kind. On the 8 SWE-bench Verified tasks, the full GLM-5.3 writes the same way, so the change came with the generation rather than the Flash tier.Kimi K3 to Kimi K3.1 Pro. The largest drop in articles of any family, and the one rise in self-reference.

Six bar charts ranking the open models by filler share and by each kind of filler per 1,000 prose words, with DeepSeek V4 Flash and DeepSeek V4.1 Flash highlighted. Filler share falls from 26.6% to 13.3%. Per 1,000 prose words: self-talk 43.2 to 46.1, articles 103.5 to 15.7, helper verbs 48.3 to 21.1, connectors 38.5 to 27.0, I, we, me, us 32.1 to 23.1. V4.1 Flash uses less filler in every kind except self-talk.

Six bar charts ranking the open models by filler share and by each kind of filler per 1,000 prose words, with GLM-5.2 and GLM-5.3-Flash highlighted. Filler share falls from 18.9% to 13.6%. Per 1,000 prose words: self-talk 64.2 to 44.1, articles 36.7 to 23.7, helper verbs 35.2 to 24.7, connectors 27.2 to 25.8, I, we, me, us 25.9 to 17.4. GLM-5.3-Flash uses less filler in every kind.

Six bar charts ranking the open models by filler share and by each kind of filler per 1,000 prose words, with Kimi K3 and Kimi K3.1 Pro highlighted. Filler share falls from 18.0% to 9.8%. Per 1,000 prose words: self-talk 45.3 to 29.2, articles 55.5 to 4.1, helper verbs 32.4 to 10.1, connectors 26.4 to 24.7, I, we, me, us 20.8 to 29.6. K3.1 Pro uses less filler in every kind except I, we, me and us.

Related work

Compressing reasoning on purpose is an active area. Chain of Draft and Sketch-of-Thought prompt models to reason in short drafts and report large token savings on math and question answering [1, 2]. TokenSkip trains models to skip low-value tokens, which tend to be function words much like our filler kinds [3]. NoWait suppresses "wait" and "hmm" at decoding time and shortens reasoning by 27 to 51% [4]. These methods change the model; we measure how released models already write.

The closest observational work studies legibility. Jose finds that reasoning from models trained with outcome-based reinforcement learning is often hard to read [5], and Luo et al. describe one closed model's extracted reasoning as telegraphic [6]. Two recent studies sit close to our token findings. Concise-9B finds that 54 to 64% of a reasoning model's thinking tokens come after its answer has already settled [14], and rewriting earlier reasoning into compact notes shortens what open-weight models write next [15]. We found no published comparison of filler-word fractions across successive releases of open models, broken down by the five kinds of filler word, or any such measurement on agentic coding tasks.

  1. Xu et al., Chain of Draft: Thinking Faster by Writing Less, 2025.
  2. Aytes et al., Sketch-of-Thought, 2025.
  3. Xia et al., TokenSkip, 2025.
  4. Wang et al., Wait, We Don't Need to "Wait"!, 2025.
  5. Jose, Reasoning Models Sometimes Output Illegible Chains of Thought, 2025.
  6. Luo et al., Capable yet Parsimonious: Extracting and Characterizing Hidden CoT, 2026.
  7. Andrej Karpathy, post on X, September 2024.
  8. Tim Hua, post on X, November 1, 2026.
  9. Lisan al Gaib, post on X, October 17, 2026.
  10. DeepSeek-AI, DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning, 2025.
  11. Yu et al., Revisiting Anthropomorphic Reflection Markers in Large Language Model Reasoning, 2026.
  12. Li et al., Cognitive Foundations for Reasoning and Their Manifestation in LLMs, 2025.
  13. Kambhampati et al., Stop Anthropomorphizing Intermediate Tokens as Reasoning/Thinking Traces!, 2025.
  14. Lorup et al., Concise-9B: Removing the Slack from a Reasoning Model's Thinking, 2026.
  15. Hristov et al., Why Pay for Long Reasoning When Rewrite Do Trick?, 2026.
  16. Muennighoff et al., s1: Simple test-time scaling, 2025.

Limitations

  • The tasks are easy for these models. The results describe how models write on simple fixes, not on long or hard problems.
  • Failed runs are included. Eight of the 200 current-model runs failed, and a struggling run may end up reasoning differently, meandering in ways distinct from a successful one. Nonetheless, since we chose the easier end of examples, this factor would have limited impact even if it is a confounder.
  • The filler rule is a word-level heuristic. We checked it by hand on several hundred sentences, but it will misjudge some words in context.
  • Reflection Beam 1.0's providers require its earlier reasoning to be sent back on each turn, so it saw its own past reasoning and the other models did not.
  • Reasoning effort was set to high. Some models offer other settings, such as a higher xhigh or lower ones, at which this observation may not hold.

Citation

Please cite this work as:

Arnhav Datar, Varun Gangal and Evan Jolley. "Few Word Do Trick: Open Models Cut the Filler from Their Reasoning." Patronus AI, November 2026. https://www.patronus.ai/blog/few-word-do-trick

Or use the BibTeX entry:

@misc{datar2026fewword,
  title        = {Few Word Do Trick: Open Models Cut the Filler from Their Reasoning},
  author       = {Datar, Arnhav and Gangal, Varun and Jolley, Evan},
  year         = {2026},
  month        = {nov},
  howpublished = {Patronus AI},
  url          = {https://www.patronus.ai/blog/few-word-do-trick}
}

Measured on Harbor with the Terminus-2 agent, November 2026. Filler shares are pooled over each model's 20 runs; token figures are medians per task.

More from the blog
All posts →