{"article":{"slug":"introducing-particle-1","title":"Introducing Particle-1","subtitle":null,"summary":"Particle launches with Particle-1, a model RL post-trained (rank-64 LoRA, GSPO, Cascade RL) on DeepSeek V4.1 Flash to solve software engineering tasks with about 45% fewer tokens. Across Terminal-Bench 2.1, ReactBench, ADE Bench and DeepSWE 1.1 it uses 28–52% fewer output tokens and costs 34–52% less per task than the base model at comparable pass rates; available now via the Particle API.","content_type":"announcement","language":"en","canonical_url":"https://particle.ai/blog/introducing-particle-1","author":{"name":"Particle team","url":null,"person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Particle","url":"https://particle.ai/","listing_slug":null,"listing":null},"topics":[{"name":"AI Models","slug":"ai-models","url":"https://listedarticles.com/topics/ai-models"},{"name":"Reinforcement Learning","slug":"reinforcement-learning","url":"https://listedarticles.com/topics/reinforcement-learning"},{"name":"AI Agents","slug":"ai-agents","url":"https://listedarticles.com/topics/ai-agents"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":2166,"reading_minutes":9,"published_at":"2026-10-28T00:00:00.000Z","added_at":"2026-10-28T20:19:21.719Z","updated_at":"2026-10-28T20:19:21.719Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/introducing-particle-1","markdown_url":"https://listedarticles.com/articles/introducing-particle-1.md","example":false,"citation":"Particle team, Particle. \"Introducing Particle-1.\" 28 Oct 2026. https://particle.ai/blog/introducing-particle-1 (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://particle.ai/blog/introducing-particle-1"},"body_markdown":"*Particle team · October 28, 2026*\n\nToday, we’re launching Particle to make highly optimized intelligence accessible to everyone. The cost of using capable models still limits who can use them, how often, and what they can build. We’re working to lower that cost by training models to solve problems more efficiently, so people can deploy more intelligence to solve more problems.\n\n**Particle-1**, post-trained on DeepSeek V4.1 Flash**,** sees large improvements in token efficiency using around ~45% fewer tokens on average across a wide variety of tasks**.** Many improvements in token optimization only improve on reducing costs but, in this case, tasks finish sooner which is good for end-users. We trained the model in reinforcement learning environments developed internally, with the goal of solving tasks with fewer tokens while maintaining accuracy.\n\nThis first release focuses on software engineering. We plan to bring Particle to other domains in future releases.\n\n## Fewer tokens with comparable accuracy\n\n| Model | Cost (USD per task) | Mean output tokens per task | Task pass rate |\n| --- | --- | --- | --- |\n| Particle-1 | $0.2211 | 59,580 | 72.57% |\n| DeepSeek V4.1 Flash | $0.3368 (1.5x) | 83,246 (1.4x) | 71.15% |\n| GLM 5.3 Flash | $0.6523 (3.0x) | 98,155 (1.6x) | 66.82% |\n\nOur reward function incentivizes the model to solve tasks successfully while using fewer tokens for reasoning and tool calls. We evaluated Particle-1 on four benchmarks<sup>a</sup>:\n\n- **Terminal-Bench 2.1** tests terminal workflows such as compiling software, debugging code, and configuring systems.\n- **ReactBench** tests agents on building and fixing React applications, including functionality, performance, and accessibility.\n- **ADE Bench** evaluates analytics and data engineering tasks using real dbt projects and databases.\n- **DeepSWE 1.1** evaluates longer software engineering tasks that require understanding codebases, implementing changes, and verifying solutions.\n\nAcross these benchmarks, Particle-1 uses **28.4%–52.2%** fewer output tokens and achieves **34.4%–51.6%** lower average cost per task<sup>b</sup> than DeepSeek V4.1 Flash. Pass@1 rates are within the confidence intervals of the base model.\n\nOn general benchmarks outside our training domains, Particle-1’s accuracy stays close to base DeepSeek V4.1 Flash: GPQA Diamond 90.40% (base 90.91%), Tau Airlines 86.00% (base 88.00%), Standard MMLU 86.08% (base 85.98%), and BabyVision with tools 89.18% (base 89.60%).\n\n## Scaling RL for token efficiency\n\n![Two stages of training, first coding and then coding plus data engineering. Mean rollout length reduction generally rises within each stage. The discontinuity marks a resumed run with a training mix weighted toward data engineering.](https://cdn.prod.website-files.com/6ace8efc702b317d7a00de10/6ae14ba7d6ca5d658214913a_6ae14ad84c5ad4ffb2f2aa3c_particle-1-cascade-updated.svg)\n\nThe graph shows token savings across two stages of RL training, up to the peak of the smoothed curve. For each rollout group, we compare the mean assistant-token count with the task’s fixed baseline, then average these reductions equally across groups. Higher percentages mean fewer tokens used.\n\nThe discontinuity marks the start of stage 2, when the training set shifted mainly toward data engineering. Although stage 1 focused entirely on coding, the model was already using about 20% fewer tokens on data engineering tasks compared with their baselines. This was our first glimpse of generalization.\n\nTo train Particle-1, we built an internal collection of coding and data engineering tasks in Harbor format with our autonomous synthetic data system called Datamaker. Each environment gives the model a problem to solve through the [Terminus 2](https://github.com/harbor-framework/harbor/blob/main/src/harbor/agents/terminus_2/terminus_2.py) agent and a way to verify the outcome. This process helped us internally validate that our data pipeline could construct generalizable tasks.\n\nWe split post-training into successive stages, following the [Cascade RL approach](https://arxiv.org/abs/2512.13607). This structure let us focus training on different task domains in sequence.\n\n### Asynchronous training stack\n\nOur training infrastructure is built on [Miles](https://miles.radixark.com/), RadixArk’s open-source RL framework, with distributed asynchronous training and dedicated rollout and trainer nodes. We made multiple optimizations to the SGLang rollout engine and the Megatron training engine to maximize throughput for our workload and reduce trainer-inference mismatch.\n\nWe trained a **rank-64 LoRA adapter** covering the experts in all layers ([Schulman et al.](https://thinkingmachines.ai/blog/lora/)). Its trainable parameters are equivalent to about **1.25% of the model’s parameter count**.\n\nFor the policy update, we used [Group Sequence Policy Optimization (GSPO)](https://arxiv.org/abs/2507.18071) which applies importance weighting and clipping to each sequence as a whole, not to individual tokens. In our experiments, training with a token-level loss oscillated and eventually diverged. We kept the learning rate constant at 5e-5 and following [Dr. GRPO](https://arxiv.org/abs/2503.20783), did not normalize advantages by the group's standard deviation.\n\n## Where the token savings come from\n\nTo better understand the gains in token efficiency and uncover potential issues, we analyzed trajectories from both the base model and our post-trained model. We compared runs on the same task and seed where both models passed, looking at how their reasoning, actions, and verification differed. Four common patterns emerged.\n\n- **Less reasoning for the same actions.** Particle-1 often needs less deliberation to choose and carry out the same steps. This can save tokens even when the number of actions stays the same or increases.\n- **Stop once the task is complete.** After verifying a solution, the model spends less time reconsidering decisions, repeating checks, or writing a lengthy final confirmation.\n- **Fewer rounds of trial and repair.** A more direct implementation means fewer repeated builds, patch repairs, and corrections before reaching a working solution.\n- **More focused exploration and verification.** Particle-1 spends less effort exploring alternatives and revising edge cases. Extra tests and documentation can still be useful, so we look at what each run delivers when interpreting the savings.\n\nReasoning tokens account for roughly 90% of the token savings on Terminal-Bench 2.1, ReactBench, and ADE. On DeepSWE 1.1, tool-call text also contributes around 30% of the savings.\n\nHere are some example rollouts across the benchmarks.\n\n### Git deployment\n\nTerminal-Bench 2.1\n\n**66.2% fewer output tokens**\n\nParticle-1: 15,892\n\nDeepSeek V4.1 Flash: 47,006\n\nParticle-1 used much less reasoning around deployment checks and completion, reducing output from **43,907 to 14,840 tokens**, despite making slightly more model calls. The final two confirmation calls alone dropped from **11,445 to 1,765 tokens**, while both runs successfully verified the branch deployments.\n\n### pMARS build\n\nTerminal-Bench 2.1\n\n**60.4% fewer output tokens**\n\nParticle-1: 6,766\n\nDeepSeek V4.1 Flash: 17,070\n\nParticle-1 inspected the Makefile and selected its build flags before compiling, while the base model revisited the flags, rebuilt, and repeated installation and verification. Avoiding that additional cycle helped reduce the trajectory from **18 to 12 model calls** and **15,436 to 6,503 output tokens**.\n\n### Calendar scheduling\n\nTerminal-Bench 2.1\n\n**54.8% fewer output tokens**\n\nParticle-1: 4,977\n\nDeepSeek V4.1 Flash: 11,023\n\nBoth models produced the correct calendar event using **four model calls and six commands**, so the gain came from shorter reasoning rather than fewer actions. Approximately **94% of the token savings occurred after the correct file had already been written**, with completion and confirmation shrinking from **5,193 to 1,078 tokens**.\n\n### cattrs partial recovery\n\nDeepSWE 1.1\n\n**37.8% fewer output tokens**\n\nParticle-1: 52,545\n\nDeepSeek V4.1 Flash: 84,413\n\nParticle-1 completed the implementation and regression checks with fewer subsequent edge-case, documentation, and formatting rounds, using **68 model calls versus 111**. Output dropped from **77,362 to 51,186 tokens**.\n\n### Awilix async startup\n\nDeepSWE 1.1\n\n**34.9% fewer output tokens**\n\nParticle-1: 52,933\n\nDeepSeek V4.1 Flash: 81,327\n\nParticle-1 began editing on **call 11 versus call 20** and spent fewer later rounds revising dependency discovery, reducing output from **84,971 to 51,293 tokens**. Both passed their local test suites.\n\n### go-git merge conflicts\n\nDeepSWE 1.1\n\n**35.9% fewer output tokens**\n\nParticle-1: 69,240\n\nDeepSeek V4.1 Flash: 108,016\n\nParticle-1 began implementation on **call 29 versus call 43**, while the base model performed more preliminary Git experiments and later edge-case repairs, including repeating a manual test suite **20 times**. The trajectory shrank from **118 to 86 calls** and **105,837 to 67,216 tokens**.\n\n### CoreUI navigation\n\nReactBench\n\n**52.2% fewer output tokens**\n\nParticle-1: 29,099\n\nDeepSeek V4.1 Flash: 60,885\n\nThe base model spent several turns repairing patch application problems involving working directories, heredocs, and string matching, while Particle-1 reached a working patch with fewer repair attempts and retained targeted navigation tests. Together with shorter completion reasoning, this reduced the run from **43 to 29 model calls** and **60,468 to 27,848 output tokens**.\n\n### Recursive file drops\n\nReactBench\n\n**47.5% fewer output tokens**\n\nParticle-1: 49,249\n\nDeepSeek V4.1 Flash: 93,848\n\nParticle-1 spent less reasoning on implementation choices and made fewer successive revisions to path handling and fallback behavior, while still probing recursive traversal and multi-batch file drops. Output fell from **86,657 to 53,478 tokens**, even though Particle-1’s final confirmation was longer; the savings came earlier in implementation, where the base model also explored potentially useful refinements.\n\n### Table row selection\n\nReactBench\n\n**43.5% fewer output tokens**\n\nParticle-1: 37,054\n\nDeepSeek V4.1 Flash: 65,564\n\nParticle-1 attempted its first patch on **call 12**, compared with **call 27** for the base model, and obtained type-checking feedback earlier instead of extending the initial inspection. It also shortened the final confirmation from **10,589 to 662 tokens**, contributing to a total reduction from **64,012 to 32,274 tokens**.\n\n### Review primary key\n\nADE Bench\n\n**62.1% fewer output tokens**\n\nParticle-1: 9,235\n\nDeepSeek V4.1 Flash: 24,344\n\nParticle-1 reused the existing surrogate-key macro, while the base model implemented an incrementing key with additional bookkeeping and incremental validation; the main edit call used **1,602 versus 8,722 output tokens**. This saved design and implementation effort, but the key-generation semantics differed, so the savings also reflect a different solution rather than merely a shorter explanation of identical work.\n\n### String product IDs\n\nADE Bench\n\n**45.1% fewer output tokens**\n\nParticle-1: 6,900\n\nDeepSeek V4.1 Flash: 12,570\n\nBoth models implemented the same three staging-layer casts, but Particle-1 used **1,757 tokens** for the edit call compared with **3,485** for the base model. Total output fell from **9,352 to 5,643 tokens** despite Particle-1 making **15 rather than 13 calls**, locating the gain primarily in shorter reasoning around the same fix.\n\n### F1 lap-time model\n\nADE Bench\n\n**61.4% fewer output tokens**\n\nParticle-1: 3,180\n\nDeepSeek V4.1 Flash: 8,235\n\nParticle-1 inspected the schema and used the correct `milliseconds` column immediately, while the base model initially used `lap_time_in_ms` and needed a correction. Particle-1 also reduced final confirmation from **3,519 to 198 tokens**, which accounted for approximately **48% of this pair’s total token savings**.\n\n## Generalization beyond coding\n\nAlthough our post-training focused on coding and data engineering, we’re seeing early signs that the token-efficient behavior carries over to other domains, including legal work and cybersecurity.\n\nFor illustration, we gave Particle-1 a contract-review task from Harvey LAB<sup>e</sup>. The agent reads four legal documents, checks whether an arbitration clause complies with the arbitration institution’s rules, and writes a Word report flagging each deviation, its severity, and a recommendation. We also scaled the strength of Particle-1’s LoRA adapter from 0.25× to 8× to see how the behavior changes as its effect grows.\n\n### Arbitration clause audit\n\nHarvey LAB\n\n**24.6% fewer output tokens**\n\n- Particle-1: accuracy 100%, 155,033 output tokens\n- DeepSeek V4.1 Flash: accuracy 62.5%, 205,656 output tokens\n\nThe standard Particle-1 adapter strikes the best balance in this sweep. Its reports keep the explicit comparisons, caveats, and recommendations a complete answer needs, while using about a quarter fewer tokens than the base model.\n\nDeepSeek V4.1 Flash spent the most tokens, writing long reports and checking them repeatedly, but that extra work didn’t reliably produce complete answers. At the standard 1× strength, Particle-1 used 24.6% fewer output tokens than the base model, and all eight of its reports passed every criterion under both judges. Stronger settings cut output further, by 47.8% at 2× and 60.2% at 4×, with one or two reports each missing a single criterion. At 8×, output fell by 78.7%, but only three of eight reports passed the strict check. The misses suggest that aggressive scaling compresses useful qualifications along with redundant analysis.\n\nThese early results make Particle-1 a promising foundation for adding new capabilities while keeping costs significantly low.\n\n## Build with Particle\n\nParticle-1 is available today through the Particle API. Sign up for an API key and plug Particle-1 into your own harness or agent workflow. The docs walk you through connecting it.\n\n[Sign up](https://platform.particle.ai/) · [Read the docs](https://docs.particle.ai/)\n\n### Notes\n\na. All four benchmarks use the [Terminus 2](https://github.com/harbor-framework/harbor/blob/main/src/harbor/agents/terminus_2/terminus_2.py) agent, a 512k-token limit, temperature 1, top\\_p 0.95, and max reasoning. Terminal-Bench 2.1 excludes the fastText task.\nb. Prices per million tokens for uncached input, cached input, and output (including reasoning) are $0.30, $0.006, and $1.20 for both Particle-1 and DeepSeek V4.1 Flash, and $0.15, $0.03, and $0.50 for GLM 5.3 Flash.\nc. Costs average all attempts, including failures, at a fixed 95% cache hit rate. Blended input rates are $0.0207 per million tokens for Particle-1 and DeepSeek, and $0.0360 for GLM. All prices are in USD.\nd. Mean tokens is the average number of assistant-generated tokens across all valid rollouts, including successful and unsuccessful attempts. Rollouts interrupted by infrastructure issues are excluded. Each model generated 16 rollouts per task.\ne. The Harvey LAB comparison covers one task with eight rollouts per setting, max reasoning, a 131,072-token per-call limit, and a 512,000-token total output budget.\n\n---\n\n*Originally published at [the Particle blog](https://particle.ai/blog/introducing-particle-1).*\n","body_html":"<p><em>Particle team · October 28, 2026</em></p>\n<p>Today, we’re launching Particle to make highly optimized intelligence accessible to everyone. The cost of using capable models still limits who can use them, how often, and what they can build. We’re working to lower that cost by training models to solve problems more efficiently, so people can deploy more intelligence to solve more problems.</p>\n<p><strong>Particle-1</strong>, post-trained on DeepSeek V4.1 Flash<strong>,** sees large improvements in token efficiency using around ~45% fewer tokens on average across a wide variety of tasks</strong>.** Many improvements in token optimization only improve on reducing costs but, in this case, tasks finish sooner which is good for end-users. We trained the model in reinforcement learning environments developed internally, with the goal of solving tasks with fewer tokens while maintaining accuracy.</p>\n<p>This first release focuses on software engineering. We plan to bring Particle to other domains in future releases.</p>\n<h2 id=\"fewer-tokens-with-comparable-accuracy\">Fewer tokens with comparable accuracy</h2>\n<div class=\"table-wrap\"><table><thead><tr><th>Model</th><th>Cost (USD per task)</th><th>Mean output tokens per task</th><th>Task pass rate</th></tr></thead><tbody><tr><td>Particle-1</td><td>$0.2211</td><td>59,580</td><td>72.57%</td></tr><tr><td>DeepSeek V4.1 Flash</td><td>$0.3368 (1.5x)</td><td>83,246 (1.4x)</td><td>71.15%</td></tr><tr><td>GLM 5.3 Flash</td><td>$0.6523 (3.0x)</td><td>98,155 (1.6x)</td><td>66.82%</td></tr></tbody></table></div>\n<p>Our reward function incentivizes the model to solve tasks successfully while using fewer tokens for reasoning and tool calls. We evaluated Particle-1 on four benchmarks&lt;sup&gt;a&lt;/sup&gt;:</p>\n<ul><li><strong>Terminal-Bench 2.1</strong> tests terminal workflows such as compiling software, debugging code, and configuring systems.</li><li><strong>ReactBench</strong> tests agents on building and fixing React applications, including functionality, performance, and accessibility.</li><li><strong>ADE Bench</strong> evaluates analytics and data engineering tasks using real dbt projects and databases.</li><li><strong>DeepSWE 1.1</strong> evaluates longer software engineering tasks that require understanding codebases, implementing changes, and verifying solutions.</li></ul>\n<p>Across these benchmarks, Particle-1 uses <strong>28.4%–52.2%</strong> fewer output tokens and achieves <strong>34.4%–51.6%</strong> lower average cost per task&lt;sup&gt;b&lt;/sup&gt; than DeepSeek V4.1 Flash. Pass@1 rates are within the confidence intervals of the base model.</p>\n<p>On general benchmarks outside our training domains, Particle-1’s accuracy stays close to base DeepSeek V4.1 Flash: GPQA Diamond 90.40% (base 90.91%), Tau Airlines 86.00% (base 88.00%), Standard MMLU 86.08% (base 85.98%), and BabyVision with tools 89.18% (base 89.60%).</p>\n<h2 id=\"scaling-rl-for-token-efficiency\">Scaling RL for token efficiency</h2>\n<figure><img src=\"https://cdn.prod.website-files.com/6ace8efc702b317d7a00de10/6ae14ba7d6ca5d658214913a_6ae14ad84c5ad4ffb2f2aa3c_particle-1-cascade-updated.svg\" alt=\"Two stages of training, first coding and then coding plus data engineering. Mean rollout length reduction generally rises within each stage. The discontinuity marks a resumed run with a training mix weighted toward data engineering.\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"no-referrer\" /></figure>\n<p>The graph shows token savings across two stages of RL training, up to the peak of the smoothed curve. For each rollout group, we compare the mean assistant-token count with the task’s fixed baseline, then average these reductions equally across groups. Higher percentages mean fewer tokens used.</p>\n<p>The discontinuity marks the start of stage 2, when the training set shifted mainly toward data engineering. Although stage 1 focused entirely on coding, the model was already using about 20% fewer tokens on data engineering tasks compared with their baselines. This was our first glimpse of generalization.</p>\n<p>To train Particle-1, we built an internal collection of coding and data engineering tasks in Harbor format with our autonomous synthetic data system called Datamaker. Each environment gives the model a problem to solve through the <a href=\"https://github.com/harbor-framework/harbor/blob/main/src/harbor/agents/terminus_2/terminus_2.py\" rel=\"nofollow ugc noopener\">Terminus 2</a> agent and a way to verify the outcome. This process helped us internally validate that our data pipeline could construct generalizable tasks.</p>\n<p>We split post-training into successive stages, following the <a href=\"https://arxiv.org/abs/2512.13607\" rel=\"nofollow ugc noopener\">Cascade RL approach</a>. This structure let us focus training on different task domains in sequence.</p>\n<h3 id=\"asynchronous-training-stack\">Asynchronous training stack</h3>\n<p>Our training infrastructure is built on <a href=\"https://miles.radixark.com/\" rel=\"nofollow ugc noopener\">Miles</a>, RadixArk’s open-source RL framework, with distributed asynchronous training and dedicated rollout and trainer nodes. We made multiple optimizations to the SGLang rollout engine and the Megatron training engine to maximize throughput for our workload and reduce trainer-inference mismatch.</p>\n<p>We trained a <strong>rank-64 LoRA adapter</strong> covering the experts in all layers (<a href=\"https://thinkingmachines.ai/blog/lora/\" rel=\"nofollow ugc noopener\">Schulman et al.</a>). Its trainable parameters are equivalent to about <strong>1.25% of the model’s parameter count</strong>.</p>\n<p>For the policy update, we used <a href=\"https://arxiv.org/abs/2507.18071\" rel=\"nofollow ugc noopener\">Group Sequence Policy Optimization (GSPO)</a> which applies importance weighting and clipping to each sequence as a whole, not to individual tokens. In our experiments, training with a token-level loss oscillated and eventually diverged. We kept the learning rate constant at 5e-5 and following <a href=\"https://arxiv.org/abs/2503.20783\" rel=\"nofollow ugc noopener\">Dr. GRPO</a>, did not normalize advantages by the group&#39;s standard deviation.</p>\n<h2 id=\"where-the-token-savings-come-from\">Where the token savings come from</h2>\n<p>To better understand the gains in token efficiency and uncover potential issues, we analyzed trajectories from both the base model and our post-trained model. We compared runs on the same task and seed where both models passed, looking at how their reasoning, actions, and verification differed. Four common patterns emerged.</p>\n<ul><li><strong>Less reasoning for the same actions.</strong> Particle-1 often needs less deliberation to choose and carry out the same steps. This can save tokens even when the number of actions stays the same or increases.</li><li><strong>Stop once the task is complete.</strong> After verifying a solution, the model spends less time reconsidering decisions, repeating checks, or writing a lengthy final confirmation.</li><li><strong>Fewer rounds of trial and repair.</strong> A more direct implementation means fewer repeated builds, patch repairs, and corrections before reaching a working solution.</li><li><strong>More focused exploration and verification.</strong> Particle-1 spends less effort exploring alternatives and revising edge cases. Extra tests and documentation can still be useful, so we look at what each run delivers when interpreting the savings.</li></ul>\n<p>Reasoning tokens account for roughly 90% of the token savings on Terminal-Bench 2.1, ReactBench, and ADE. On DeepSWE 1.1, tool-call text also contributes around 30% of the savings.</p>\n<p>Here are some example rollouts across the benchmarks.</p>\n<h3 id=\"git-deployment\">Git deployment</h3>\n<p>Terminal-Bench 2.1</p>\n<p><strong>66.2% fewer output tokens</strong></p>\n<p>Particle-1: 15,892</p>\n<p>DeepSeek V4.1 Flash: 47,006</p>\n<p>Particle-1 used much less reasoning around deployment checks and completion, reducing output from <strong>43,907 to 14,840 tokens</strong>, despite making slightly more model calls. The final two confirmation calls alone dropped from <strong>11,445 to 1,765 tokens</strong>, while both runs successfully verified the branch deployments.</p>\n<h3 id=\"pmars-build\">pMARS build</h3>\n<p>Terminal-Bench 2.1</p>\n<p><strong>60.4% fewer output tokens</strong></p>\n<p>Particle-1: 6,766</p>\n<p>DeepSeek V4.1 Flash: 17,070</p>\n<p>Particle-1 inspected the Makefile and selected its build flags before compiling, while the base model revisited the flags, rebuilt, and repeated installation and verification. Avoiding that additional cycle helped reduce the trajectory from <strong>18 to 12 model calls</strong> and <strong>15,436 to 6,503 output tokens</strong>.</p>\n<h3 id=\"calendar-scheduling\">Calendar scheduling</h3>\n<p>Terminal-Bench 2.1</p>\n<p><strong>54.8% fewer output tokens</strong></p>\n<p>Particle-1: 4,977</p>\n<p>DeepSeek V4.1 Flash: 11,023</p>\n<p>Both models produced the correct calendar event using <strong>four model calls and six commands</strong>, so the gain came from shorter reasoning rather than fewer actions. Approximately <strong>94% of the token savings occurred after the correct file had already been written</strong>, with completion and confirmation shrinking from <strong>5,193 to 1,078 tokens</strong>.</p>\n<h3 id=\"cattrs-partial-recovery\">cattrs partial recovery</h3>\n<p>DeepSWE 1.1</p>\n<p><strong>37.8% fewer output tokens</strong></p>\n<p>Particle-1: 52,545</p>\n<p>DeepSeek V4.1 Flash: 84,413</p>\n<p>Particle-1 completed the implementation and regression checks with fewer subsequent edge-case, documentation, and formatting rounds, using <strong>68 model calls versus 111</strong>. Output dropped from <strong>77,362 to 51,186 tokens</strong>.</p>\n<h3 id=\"awilix-async-startup\">Awilix async startup</h3>\n<p>DeepSWE 1.1</p>\n<p><strong>34.9% fewer output tokens</strong></p>\n<p>Particle-1: 52,933</p>\n<p>DeepSeek V4.1 Flash: 81,327</p>\n<p>Particle-1 began editing on <strong>call 11 versus call 20</strong> and spent fewer later rounds revising dependency discovery, reducing output from <strong>84,971 to 51,293 tokens</strong>. Both passed their local test suites.</p>\n<h3 id=\"go-git-merge-conflicts\">go-git merge conflicts</h3>\n<p>DeepSWE 1.1</p>\n<p><strong>35.9% fewer output tokens</strong></p>\n<p>Particle-1: 69,240</p>\n<p>DeepSeek V4.1 Flash: 108,016</p>\n<p>Particle-1 began implementation on <strong>call 29 versus call 43</strong>, while the base model performed more preliminary Git experiments and later edge-case repairs, including repeating a manual test suite <strong>20 times</strong>. The trajectory shrank from <strong>118 to 86 calls</strong> and <strong>105,837 to 67,216 tokens</strong>.</p>\n<h3 id=\"coreui-navigation\">CoreUI navigation</h3>\n<p>ReactBench</p>\n<p><strong>52.2% fewer output tokens</strong></p>\n<p>Particle-1: 29,099</p>\n<p>DeepSeek V4.1 Flash: 60,885</p>\n<p>The base model spent several turns repairing patch application problems involving working directories, heredocs, and string matching, while Particle-1 reached a working patch with fewer repair attempts and retained targeted navigation tests. Together with shorter completion reasoning, this reduced the run from <strong>43 to 29 model calls</strong> and <strong>60,468 to 27,848 output tokens</strong>.</p>\n<h3 id=\"recursive-file-drops\">Recursive file drops</h3>\n<p>ReactBench</p>\n<p><strong>47.5% fewer output tokens</strong></p>\n<p>Particle-1: 49,249</p>\n<p>DeepSeek V4.1 Flash: 93,848</p>\n<p>Particle-1 spent less reasoning on implementation choices and made fewer successive revisions to path handling and fallback behavior, while still probing recursive traversal and multi-batch file drops. Output fell from <strong>86,657 to 53,478 tokens</strong>, even though Particle-1’s final confirmation was longer; the savings came earlier in implementation, where the base model also explored potentially useful refinements.</p>\n<h3 id=\"table-row-selection\">Table row selection</h3>\n<p>ReactBench</p>\n<p><strong>43.5% fewer output tokens</strong></p>\n<p>Particle-1: 37,054</p>\n<p>DeepSeek V4.1 Flash: 65,564</p>\n<p>Particle-1 attempted its first patch on <strong>call 12</strong>, compared with <strong>call 27</strong> for the base model, and obtained type-checking feedback earlier instead of extending the initial inspection. It also shortened the final confirmation from <strong>10,589 to 662 tokens</strong>, contributing to a total reduction from <strong>64,012 to 32,274 tokens</strong>.</p>\n<h3 id=\"review-primary-key\">Review primary key</h3>\n<p>ADE Bench</p>\n<p><strong>62.1% fewer output tokens</strong></p>\n<p>Particle-1: 9,235</p>\n<p>DeepSeek V4.1 Flash: 24,344</p>\n<p>Particle-1 reused the existing surrogate-key macro, while the base model implemented an incrementing key with additional bookkeeping and incremental validation; the main edit call used <strong>1,602 versus 8,722 output tokens</strong>. This saved design and implementation effort, but the key-generation semantics differed, so the savings also reflect a different solution rather than merely a shorter explanation of identical work.</p>\n<h3 id=\"string-product-ids\">String product IDs</h3>\n<p>ADE Bench</p>\n<p><strong>45.1% fewer output tokens</strong></p>\n<p>Particle-1: 6,900</p>\n<p>DeepSeek V4.1 Flash: 12,570</p>\n<p>Both models implemented the same three staging-layer casts, but Particle-1 used <strong>1,757 tokens</strong> for the edit call compared with <strong>3,485</strong> for the base model. Total output fell from <strong>9,352 to 5,643 tokens</strong> despite Particle-1 making <strong>15 rather than 13 calls</strong>, locating the gain primarily in shorter reasoning around the same fix.</p>\n<h3 id=\"f1-lap-time-model\">F1 lap-time model</h3>\n<p>ADE Bench</p>\n<p><strong>61.4% fewer output tokens</strong></p>\n<p>Particle-1: 3,180</p>\n<p>DeepSeek V4.1 Flash: 8,235</p>\n<p>Particle-1 inspected the schema and used the correct <code>milliseconds</code> column immediately, while the base model initially used <code>lap_time_in_ms</code> and needed a correction. Particle-1 also reduced final confirmation from <strong>3,519 to 198 tokens</strong>, which accounted for approximately <strong>48% of this pair’s total token savings</strong>.</p>\n<h2 id=\"generalization-beyond-coding\">Generalization beyond coding</h2>\n<p>Although our post-training focused on coding and data engineering, we’re seeing early signs that the token-efficient behavior carries over to other domains, including legal work and cybersecurity.</p>\n<p>For illustration, we gave Particle-1 a contract-review task from Harvey LAB&lt;sup&gt;e&lt;/sup&gt;. The agent reads four legal documents, checks whether an arbitration clause complies with the arbitration institution’s rules, and writes a Word report flagging each deviation, its severity, and a recommendation. We also scaled the strength of Particle-1’s LoRA adapter from 0.25× to 8× to see how the behavior changes as its effect grows.</p>\n<h3 id=\"arbitration-clause-audit\">Arbitration clause audit</h3>\n<p>Harvey LAB</p>\n<p><strong>24.6% fewer output tokens</strong></p>\n<ul><li>Particle-1: accuracy 100%, 155,033 output tokens</li><li>DeepSeek V4.1 Flash: accuracy 62.5%, 205,656 output tokens</li></ul>\n<p>The standard Particle-1 adapter strikes the best balance in this sweep. Its reports keep the explicit comparisons, caveats, and recommendations a complete answer needs, while using about a quarter fewer tokens than the base model.</p>\n<p>DeepSeek V4.1 Flash spent the most tokens, writing long reports and checking them repeatedly, but that extra work didn’t reliably produce complete answers. At the standard 1× strength, Particle-1 used 24.6% fewer output tokens than the base model, and all eight of its reports passed every criterion under both judges. Stronger settings cut output further, by 47.8% at 2× and 60.2% at 4×, with one or two reports each missing a single criterion. At 8×, output fell by 78.7%, but only three of eight reports passed the strict check. The misses suggest that aggressive scaling compresses useful qualifications along with redundant analysis.</p>\n<p>These early results make Particle-1 a promising foundation for adding new capabilities while keeping costs significantly low.</p>\n<h2 id=\"build-with-particle\">Build with Particle</h2>\n<p>Particle-1 is available today through the Particle API. Sign up for an API key and plug Particle-1 into your own harness or agent workflow. The docs walk you through connecting it.</p>\n<p><a href=\"https://platform.particle.ai/\" rel=\"nofollow ugc noopener\">Sign up</a> · <a href=\"https://docs.particle.ai/\" rel=\"nofollow ugc noopener\">Read the docs</a></p>\n<h3 id=\"notes\">Notes</h3>\n<p>a. All four benchmarks use the <a href=\"https://github.com/harbor-framework/harbor/blob/main/src/harbor/agents/terminus_2/terminus_2.py\" rel=\"nofollow ugc noopener\">Terminus 2</a> agent, a 512k-token limit, temperature 1, top_p 0.95, and max reasoning. Terminal-Bench 2.1 excludes the fastText task.\nb. Prices per million tokens for uncached input, cached input, and output (including reasoning) are $0.30, $0.006, and $1.20 for both Particle-1 and DeepSeek V4.1 Flash, and $0.15, $0.03, and $0.50 for GLM 5.3 Flash.\nc. Costs average all attempts, including failures, at a fixed 95% cache hit rate. Blended input rates are $0.0207 per million tokens for Particle-1 and DeepSeek, and $0.0360 for GLM. All prices are in USD.\nd. Mean tokens is the average number of assistant-generated tokens across all valid rollouts, including successful and unsuccessful attempts. Rollouts interrupted by infrastructure issues are excluded. Each model generated 16 rollouts per task.\ne. The Harvey LAB comparison covers one task with eight rollouts per setting, max reasoning, a 131,072-token per-call limit, and a 512,000-token total output budget.</p>\n<hr />\n<p><em>Originally published at <a href=\"https://particle.ai/blog/introducing-particle-1\" rel=\"nofollow ugc noopener\">the Particle blog</a>.</em></p>","headings":[{"level":2,"text":"Fewer tokens with comparable accuracy","id":"fewer-tokens-with-comparable-accuracy"},{"level":2,"text":"Scaling RL for token efficiency","id":"scaling-rl-for-token-efficiency"},{"level":3,"text":"Asynchronous training stack","id":"asynchronous-training-stack"},{"level":2,"text":"Where the token savings come from","id":"where-the-token-savings-come-from"},{"level":3,"text":"Git deployment","id":"git-deployment"},{"level":3,"text":"pMARS build","id":"pmars-build"},{"level":3,"text":"Calendar scheduling","id":"calendar-scheduling"},{"level":3,"text":"cattrs partial recovery","id":"cattrs-partial-recovery"},{"level":3,"text":"Awilix async startup","id":"awilix-async-startup"},{"level":3,"text":"go-git merge conflicts","id":"go-git-merge-conflicts"},{"level":3,"text":"CoreUI navigation","id":"coreui-navigation"},{"level":3,"text":"Recursive file drops","id":"recursive-file-drops"},{"level":3,"text":"Table row selection","id":"table-row-selection"},{"level":3,"text":"Review primary key","id":"review-primary-key"},{"level":3,"text":"String product IDs","id":"string-product-ids"},{"level":3,"text":"F1 lap-time model","id":"f1-lap-time-model"},{"level":2,"text":"Generalization beyond coding","id":"generalization-beyond-coding"},{"level":3,"text":"Arbitration clause audit","id":"arbitration-clause-audit"},{"level":2,"text":"Build with Particle","id":"build-with-particle"},{"level":3,"text":"Notes","id":"notes"}]}}