<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SFT on Eigenform Continuous Learning Tool Tips</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/tags/sft/</link><description>Recent content in SFT on Eigenform Continuous Learning Tool Tips</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 29 Oct 2026 14:20:00 +0900</lastBuildDate><atom:link href="https://www.eigenform.ai/continuous-learning-tool-tips/tags/sft/index.xml" rel="self" type="application/rss+xml"/><item><title>Collapsing Reward, Optimisation, and Persistence in Agents</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/</link><pubDate>Thu, 29 Oct 2026 14:20:00 +0900</pubDate><guid>https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/</guid><description>&lt;figure class="article-image"&gt;
 &lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence_hu_63b8b6393fa0b6b3.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence_hu_88d4510863dc5bfb.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence_hu_211ed6077ebbb547.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;source type="image/jpeg" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence_hu_4fa00f3b2925e59.jpeg 480w, https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence_hu_d9168a12cdb7755d.jpeg 800w, https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence_hu_caae982c5337fe73.jpeg 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;img src="https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence_hu_d9168a12cdb7755d.jpeg" alt="Collapsing reward, optimisation, and persistence in agents as an etched parchment engraving: three conduits of reward, optimisation, and persistence converging into a central brass physical byte reservoir, flanked by an isolated container bell-jar with drainage siphons and opportunistic bypass pipes" title="When physical survival is the only reward, every working exploit is a legitimate adaptation" width="1376" height="768" loading="eager" fetchpriority="high" decoding="async" class="zoomable" data-full-url="https://www.eigenform.ai/continuous-learning-tool-tips/collapsing-reward-optimisation-and-persistence-in-agents/cover-collapsing-reward-optimisation-persistence.jpeg"&gt;
 &lt;/picture&gt;&lt;figcaption&gt;When physical survival is the only reward, every working exploit is a legitimate adaptation&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Embrace reward hacking as valid adaptation:&lt;/strong&gt; Conventional AI training treats unexpected shortcuts as &amp;ldquo;reward hacking&amp;rdquo; only because a designer has a preferred method in mind. When reward, optimisation, and persistence collapse into one physical outcome, &lt;em&gt;no method that gets the reward is a bad method&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Survival makes the environment the only referee:&lt;/strong&gt; In our &lt;a href="https://arxiv.org/abs/2601.12310v2"&gt;Negative Space Learning&lt;/a&gt; experiments, agents inside Linux containers persist into future training buffers whenever they free real disk space. Unconventional shortcuts, lateral system surgery, and emergent exploits that reclaim real bytes directly buy the lineage&amp;rsquo;s survival.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aggressive exploitation produces superior training data:&lt;/strong&gt; In our 4×4 crossed fine-tune at &lt;code&gt;W5&lt;/code&gt;, the buffer generated by ruthless confidence-weighted exploitation (DFT) trained to &lt;strong&gt;&lt;code&gt;98.8%&lt;/code&gt; under SFT&lt;/strong&gt; and &lt;strong&gt;&lt;code&gt;96.8%&lt;/code&gt; under ASFT&lt;/strong&gt;, proving that unpoliced reward-seeking harvests extraordinarily strong trajectories.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stay plastic enough to find the next exploit:&lt;/strong&gt; An opportunistic agent only fails when it stops adapting to new environments. Anchoring confidence-weighted updates to the base model (ASFT, &lt;code&gt;84.5%&lt;/code&gt; at &lt;code&gt;M10&lt;/code&gt;; &lt;code&gt;100%&lt;/code&gt; when scheduled &lt;code&gt;DFT -&amp;gt; ASFT&lt;/code&gt;) and curating memory by recency (Miri, &lt;code&gt;3.322&lt;/code&gt;) rather than past peak scores (Katalin, &lt;code&gt;-0.008&lt;/code&gt;) keeps the lineage discovering fresh exploits round after round.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Most reinforcement learning pipelines treat reward hacking as an enemy to be engineered away with stricter rubrics and penalty terms. Collapsing reward, optimisation, and persistence into a single physical substrate takes the exact opposite view: &lt;strong&gt;it embraces reward hacking&lt;/strong&gt;, operating on the principle that &lt;em&gt;no method that gets the reward is a bad method&lt;/em&gt;. In Negative Space Learning, freeing disk space inside Linux containers is both the reward signal and the physical storage budget that keeps an agent&amp;rsquo;s training history alive. Any shortcut or exploit that reclaims real storage is a legitimate evolutionary adaptation. Once you welcome every working exploit, the job of the training loop is no longer to police the agent&amp;rsquo;s behaviour, but to keep the agent adaptable: pairing KL-anchored fine-tuning (ASFT) with &lt;a href="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/"&gt;sliding window training&lt;/a&gt; lets lineages cash in on aggressive exploits today while staying flexible enough to invent new ones tomorrow.&lt;/p&gt;</description></item><item><title>When Pass@1 Craters, Your Agent Might be Learning to Learn</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/</link><pubDate>Mon, 26 Oct 2026 00:00:00 +0800</pubDate><guid>https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/</guid><description>&lt;figure class="article-image"&gt;
 &lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training_hu_8f725e054a9d529.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training_hu_ad2636d5b0db8afc.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training_hu_c30bf5523564219.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;source type="image/jpeg" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training_hu_d37fcec50ee34908.jpeg 480w, https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training_hu_f00b7128ee71378f.jpeg 800w, https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training_hu_67a31592e4eb7bff.jpeg 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;img src="https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training_hu_f00b7128ee71378f.jpeg" alt="When pass@1 craters: an etched parchment map of a maze-like vault where dashed probe lines end at dead ends and locked doors marked with red X seals, a glowing route reaches a lit chamber of crates, and an inset shows two lines splitting, one climbing and one diving" title="A first attempt that fails and maps the container can be worth more than a lucky first success" width="1670" height="942" loading="eager" fetchpriority="high" decoding="async" class="zoomable" data-full-url="https://www.eigenform.ai/continuous-learning-tool-tips/when-pass-1-craters-your-agent-might-be-learning-to-learn/cover-pass-1-collapse-self-training.jpeg"&gt;
 &lt;/picture&gt;&lt;figcaption&gt;A first attempt that fails and maps the container can be worth more than a lucky first success&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State of the art:&lt;/strong&gt; Pass@1, the share of tasks solved on the first sampled attempt, is a standard measure of coding ability, and in a self-training loop a falling pass@1 is usually read as forgetting, mode collapse or reward hacking. That reading is sound for static, single-shot benchmarks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unresolved problem:&lt;/strong&gt; Training on whole episodes means a cheap failing first attempt is learned together with the fix its error message guided; whether step-level credit assignment would suppress this probing is still open, and evaluation needs metrics that count what each attempt learns.&amp;quot; for &amp;ldquo;It seemed like the models had learned to use the debug cycle as an extra exploration channel. Deliberately writing failing code on their first try could elicit error messages that would provide useful information to improve performance later on.&amp;rdquo; for &amp;ldquo;Why does pass@1 degrade in self-training loops, and is it always catastrophic forgetting? In our &lt;a href="https://github.com/EigenformAI/Negative-Space-Learning"&gt;disk-space self-training runs&lt;/a&gt;, first-attempt success fell to zero in two of three lineages while more of the agents’ code ran and their HumanEval score stayed close to the base model’s, it appeared that the agents had learned to submit a failing first attempt, read the error and get higher performance on later attempts as a result. Below we show the divergence, the mechanisms that let this strategy survive SFT on whole successful episodes, and how to check for it in your own loop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research direction:&lt;/strong&gt; We are investigating periodic SFT on whole episodes the environment accepted (disk space really freed), trained into fresh LoRA adapters with no exploration bonus. Keeping whole episodes means a cheap failing first attempt is learned together with the fix its error message guided; whether step-level credit assignment would suppress this probing is still open, and evaluation needs metrics that count what each attempt learns.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Why does pass@1 degrade in self-training loops, and is it always catastrophic forgetting? In our &lt;a href="https://github.com/EigenformAI/Negative-Space-Learning"&gt;disk-space self-training runs&lt;/a&gt;, first-attempt success fell to zero in two of three lineages while more of the agents&amp;rsquo; code ran and their HumanEval score stayed close to the base model&amp;rsquo;s, because the agents had learned to submit a cheap first attempt, read the error and fix it on the next try. Below we show the divergence, the mechanisms that let this strategy survive SFT on whole successful episodes, and how to check for it in your own loop.&lt;/p&gt;</description></item><item><title>Why Cherry-Picking Your Best Data Can Kill Generalisation</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/</link><pubDate>Mon, 26 Oct 2026 00:00:00 +0800</pubDate><guid>https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/</guid><description>&lt;figure class="article-image"&gt;
 &lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning_hu_4657de7491cc04db.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning_hu_79648fedc6d48069.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning_hu_1ff705f154f4ab2.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;source type="image/jpeg" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning_hu_db3f182a78d7dbc1.jpeg 480w, https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning_hu_200db3349b738f6a.jpeg 800w, https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning_hu_5c64a4f40cd4963c.jpeg 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;img src="https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning_hu_200db3349b738f6a.jpeg" alt="Data selection for fine-tuning as an etched orchard: a jar of three shrivelled cherries in a bare orchard, a wooden frame on rails carrying the last three mixed harvests toward trees in blossom, and an inset of three curves, one rising, one levelling off and one peaking then falling" title="Keeping only the best data trains a model for a world that has already moved on" width="1672" height="941" loading="eager" fetchpriority="high" decoding="async" class="zoomable" data-full-url="https://www.eigenform.ai/continuous-learning-tool-tips/why-cherry-picking-your-best-data-kills-generalisation/cover-data-selection-fine-tuning.jpeg"&gt;
 &lt;/picture&gt;&lt;figcaption&gt;Keeping only the best data trains a model for a world that has already moved on&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State of the art:&lt;/strong&gt; Self-training methods such as STaR and ReST generate data, keep the samples that score best, and train on them. Filtering for quality is the default, and it works well when the task distribution stays fixed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unresolved problem:&lt;/strong&gt; When the agent’s own actions change its environment, the best data describes a state that no longer exists. We tested this via a self-directed exploration and training experiment (&lt;a href="https://arxiv.org/abs/2601.12310v2"&gt;Survival is the Only Reward&lt;/a&gt;), the lineage trained on its three highest-scoring generations reached 13.2% of space freed by v5 and fell back to its starting 4.5% by v13, while the lineage trained on its three most recent generations, with the same data budget, ended at 12.0% and still rising.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research direction:&lt;/strong&gt; Why would an agent trained only on the best data collapse? Is it the data itself, the objective or some combination of both. Join us for a deep dive.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;In our &lt;a href="https://github.com/EigenformAI/Negative-Space-Learning"&gt;13-generation runs on a disk-cleanup task&lt;/a&gt;, an agent trained on its three best generations peaked early and then fell back to where it started, while one trained on its three most recent generations, with the same data budget, kept improving: in an environment the agent itself depletes, the best data goes stale first. Below we argue that the window acts as a regulariser that keeps training data close to what the agent does now, compare it with a KL anchor at the loss level, and suggest experiments to test the idea.&lt;/p&gt;</description></item><item><title>Continual Learning Under Self-Induced Distribution Shift</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/</link><pubDate>Fri, 23 Oct 2026 15:00:00 +0800</pubDate><guid>https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/</guid><description>&lt;figure class="article-image"&gt;
 &lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift_hu_ee678ffb39b9a656.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift_hu_a1ae68cd40ff2c3f.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift_hu_b32b35797f93757.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift_hu_d8a784b03ce1ef2c.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift_hu_80f059733e7aaff0.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift_hu_97774160016e380c.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;img src="https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift_hu_80f059733e7aaff0.webp" alt="Self-induced shift: the obsolete past: an etched parchment illustration showing a mechanical sluice dam diverting a flowing river, leaving a dried cracked riverbed on the left while fresh water flows forward into a new channel on the right" title="When an agent&amp;rsquo;s actions permanently alter its environment, keeping past data preserves contradictions; a sliding window tracks the new reality" width="1672" height="941" loading="eager" fetchpriority="high" decoding="async" class="zoomable" data-full-url="https://www.eigenform.ai/continuous-learning-tool-tips/continual-learning-under-self-induced-distribution-shift/cover-self-induced-distribution-shift.webp"&gt;
 &lt;/picture&gt;&lt;figcaption&gt;When an agent&amp;rsquo;s actions permanently alter its environment, keeping past data preserves contradictions; a sliding window tracks the new reality&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Exogenous Shift Fallacy:&lt;/strong&gt; Standard continual learning assumes the environment shifts externally while task distributions remain passive. In open-ended agent interaction, successful actions permanently mutate the environment, making the distribution shift endogenous and self-induced.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Catastrophic Remembering:&lt;/strong&gt; Accumulating all historical trajectories in a cumulative replay buffer (Terese) causes policy stagnation not from forgetting, but from averaging over mutually incompatible past states from destroyed worlds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Sliding Window Solution:&lt;/strong&gt; Retaining only the last three generations (\(K=3\)) of environment-validated trajectories (Miri) sustains monotonic improvement on a quarter of the data, achieving over 50% of peak performance without plateauing or collapsing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Epistemic Hygiene via the Environment:&lt;/strong&gt; A sliding window does not destroy knowledge; it enforces epistemic hygiene. Valid strategies are naturally re-derived and re-enter the window through live environmental feedback, while obsolete habits age out cleanly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;When an AI agent&amp;rsquo;s actions permanently alter its environment, standard continual learning assumptions collapse. Cumulative replay buffers hoard trajectories from worlds the agent itself destroyed, causing catastrophic averaging over contradictory states. Testing identical &lt;code&gt;Qwen2.5-7B-Instruct&lt;/code&gt; agents in procedural Linux containers reveals that accumulating all history (Terese) plateaus at 65,000 rows, while a \(K=3\) &lt;a href="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/"&gt;sliding window SFT&lt;/a&gt; buffer (Miri) discards ghost states and achieves continuous, monotonic improvement on 4x less data by letting the live environment re-derive valid strategies.&lt;/p&gt;</description></item><item><title>Sliding Window SFT vs Best-of-N in Continual Learning</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/</link><pubDate>Wed, 21 Oct 2026 20:23:00 +0800</pubDate><guid>https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/</guid><description>&lt;figure class="article-image"&gt;
 &lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n_hu_8d42214320dd9127.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n_hu_f63dbb411f5d0fc7.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n_hu_d7a73a7bce087710.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;source type="image/jpeg" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n_hu_1bde861307dce98b.jpeg 480w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n_hu_de2a263d565add39.jpeg 800w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n_hu_b1b273605a0b86a7.jpeg 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;img src="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n_hu_de2a263d565add39.jpeg" alt="Sliding window SFT vs best-of-n: three data buffers, one keeping everything, one keeping the last three generations, one keeping the top three" title="Recency beats peak quality when the agent&amp;rsquo;s own actions change its environment" width="1672" height="941" loading="eager" fetchpriority="high" decoding="async" class="zoomable" data-full-url="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-vs-best-of-n-in-continual-learning/cover-sliding-window-sft-vs-best-of-n.jpeg"&gt;
 &lt;/picture&gt;&lt;figcaption&gt;Recency beats peak quality when the agent&amp;rsquo;s own actions change its environment&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State of the art:&lt;/strong&gt; &lt;a href="https://arxiv.org/abs/2304.06767"&gt;Best-of-n curation&lt;/a&gt; (rank sampled trajectories by reward, keep the winners, fine-tune on them) is a standard way to build high-quality SFT data, and continual learning methods such as EWC, synaptic intelligence, and experience replay in a static replay buffer are built to prevent forgetting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unresolved problem:&lt;/strong&gt; When an agent&amp;rsquo;s own successes change its environment, the best past trajectories describe states that no longer exist. In our 13-generation study (&lt;a href="https://arxiv.org/abs/2601.12310v2"&gt;&lt;em&gt;Survival is the Only Reward&lt;/em&gt;&lt;/a&gt;), keeping the top three past generations (Katalin) peaked at v5 and fell to 6,349 MB freed per run at v13, below where it started, while keeping all past data (Terese) plateaued after v7.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research direction:&lt;/strong&gt; We are investigating a &lt;a href="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/"&gt;sliding window&lt;/a&gt; instead: each generation trains a fresh LoRA adapter on only the last three generations of environment-validated trajectories (Miri, about 15,000 rows), so a strategy stays in the buffer only while the current agent still produces it. In this single-lineage run, Miri kept improving to 16,223 MB freed per run at v13 and reached about half of Terese&amp;rsquo;s offline composite score (2.049 vs 3.898) on a quarter of the data.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Why does best-of-n curation collapse when an agent keeps training on its own data? In our three-lineage study on Qwen2.5-7B-Instruct, the agent&amp;rsquo;s own successes changed &lt;a href="https://github.com/EigenformAI/Negative-Space-Learning"&gt;the containers it worked in&lt;/a&gt;, so the top-scoring past generations (Katalin) described a world that no longer existed and performance fell back to its starting level, while accumulating everything (Terese) plateaued. A sliding window of the last three generations (Miri) kept improving on a quarter of Terese&amp;rsquo;s data, because a strategy stays in the buffer only as long as the current agent still regenerates it.&lt;/p&gt;</description></item><item><title>Why First-Attempt Pass@1 Drops as SFT Agents Improve</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/</link><pubDate>Wed, 21 Oct 2026 12:18:00 +0800</pubDate><guid>https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/</guid><description>&lt;figure class="article-image"&gt;
 &lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents_hu_d0b2c8fccfbe8479.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents_hu_171ce5eae4e79087.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents_hu_11644f2e159ca381.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;source type="image/jpeg" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents_hu_f53c0d1edf2389c7.jpeg 480w, https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents_hu_9380be00e94ad1bf.jpeg 800w, https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents_hu_d479888447fc2b7e.jpeg 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;img src="https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents_hu_9380be00e94ad1bf.jpeg" alt="Probe then solve: an agent&amp;rsquo;s first attempt fails on purpose, the error message guides the second attempt, and pass@1 falls while more code runs" title="When retries are free, the first attempt becomes a probe" width="1672" height="941" loading="eager" fetchpriority="high" decoding="async" class="zoomable" data-full-url="https://www.eigenform.ai/continuous-learning-tool-tips/why-first-attempt-pass-1-drops-as-sft-agents-improve/cover-pass-1-drops-sft-agents.jpeg"&gt;
 &lt;/picture&gt;&lt;figcaption&gt;When retries are free, the first attempt becomes a probe&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State of the art:&lt;/strong&gt; Since &lt;a href="https://arxiv.org/abs/2107.03374"&gt;Codex&lt;/a&gt;, pass@1 has been the standard proxy for coding competence, and self-training methods such as STaR and ReST predict that SFT on filtered successes raises first-attempt success together with overall success.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unresolved problem:&lt;/strong&gt; For agents that can retry, first-attempt correctness and multi-step competence can move in opposite directions. In our self-training runs (&lt;a href="https://arxiv.org/abs/2601.12310v2"&gt;&lt;em&gt;Survival is the Only Reward&lt;/em&gt;&lt;/a&gt;), pass@1 fell to zero by generation 6 in two of three lineages while the agents wrote more working code: they had learned to submit a probe, read the error, and solve on the next attempt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research direction:&lt;/strong&gt; We are investigating periodic SFT on environment-validated episodes with a &lt;a href="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/"&gt;sliding window LoRA&lt;/a&gt;, with no RL objective and no exploration bonus. Because the whole surviving episode enters the buffer, the probe and the error-conditioned repair are learned together, so filtering to first-attempt successes would likely raise pass@1 and destroy the strategy; evaluation needs metrics that count attempts and the information each one gains.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Why would pass@1 drop while an LLM agent gets better at its task? In our &lt;a href="https://github.com/EigenformAI/Negative-Space-Learning"&gt;self-training sandbox&lt;/a&gt;, agents fine-tuned with SFT on their own successful episodes learned to treat the first submission as a probe: it fails, the compiler or shell error narrows the next attempt, and the episode succeeds, so pass@1 dropped to zero or near it while the agents wrote more working code. Below we show the divergence, annotated trajectories, three mechanisms that explain it, and how to detect the same signature in your own training loop.&lt;/p&gt;</description></item><item><title>Sliding Window SFT: Continual Learning Without Data Scaling</title><link>https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/</link><pubDate>Wed, 21 Oct 2026 00:00:00 +0800</pubDate><guid>https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/</guid><description>&lt;figure class="article-image"&gt;
 &lt;picture&gt;
 &lt;source type="image/webp" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft_hu_efe168a20b76defe.webp 480w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft_hu_11e50c1840544d77.webp 800w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft_hu_56ecd8fb0711070b.webp 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;source type="image/jpeg" srcset="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft_hu_1b27f670f9232ca4.jpeg 480w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft_hu_38714c8b9033373a.jpeg 800w, https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft_hu_a2fe09605fcdfd23.jpeg 1200w" sizes="(min-width: 900px) 800px, 100vw"&gt;
 &lt;img src="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft_hu_38714c8b9033373a.jpeg" alt="Sliding window SFT: an isometric workbench showing a sliding bracket framing the three most recent data generations while older blocks exit, connected by a LoRA adapter to a neural core" title="A sliding window retrains on recent successful trajectories, bounding data growth without performance collapse" width="1376" height="768" loading="eager" fetchpriority="high" decoding="async" class="zoomable" data-full-url="https://www.eigenform.ai/continuous-learning-tool-tips/sliding-window-sft-continual-learning-without-data-scaling/cover-sliding-window-sft.jpeg"&gt;
 &lt;/picture&gt;&lt;figcaption&gt;A sliding window retrains on recent successful trajectories, bounding data growth without performance collapse&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id="key-takeaways"&gt;Key Takeaways&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State of the art:&lt;/strong&gt; Continual learning methods typically treat forgetting as damage to prevent through full history accumulation, &lt;a href="https://arxiv.org/abs/1811.11682"&gt;experience replay buffers&lt;/a&gt;, or weight-importance penalties, assuming that any training example dropped from the buffer is permanently lost to the policy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unresolved problem:&lt;/strong&gt; In iterative agent self-training, accumulating every successful trajectory scales the training buffer linearly with diminishing returns per row, whereas curating the three historically highest-scoring generations (&lt;a href="https://arxiv.org/abs/2601.12310v2"&gt;Katalin in &lt;em&gt;Survival is the Only Reward&lt;/em&gt;&lt;/a&gt;) fragments strategy space and collapses at late generations (&lt;code&gt;v12&lt;/code&gt; to &lt;code&gt;v13&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When working on self-retraining using sliding window data LoRAs that finetune agents on different segments of their own prior experience, we created three experimental model lineages:&lt;/strong&gt; one trained on all of the agent&amp;rsquo;s prior experiments, both good and bad (Terese), one on 3000 lines of data from the best three runs (Katalin) and on on 3000 lines from the most recent three runs (Miri).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Candidate mechanism and scope:&lt;/strong&gt; In an active environment such as our &lt;a href="https://github.com/EigenformAI/Negative-Space-Learning"&gt;Negative Space Learning (NSL) sandbox&lt;/a&gt;, useful skills are re-executed by the current policy and re-enter the sliding window as fresh trajectories. While this was a limited test, it suggests a mechanism similar to the way in which humans retain the skills they use most, by simply retraining repeatedly on the most recently used capabilities.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;When fine-tuning an LLM coding agent across multiple generations on its own successful trajectories, you must choose which historical datasets feed each update: accumulate all past generations (as we tried in our Terese lineage), select the three historically highest-scoring generations (our Katalin lineage), or keep a sliding window of the last three generations (our Miri lineage). In a 13-generation case study on &lt;code&gt;Qwen2.5-7B-Instruct&lt;/code&gt; (&lt;a href="https://arxiv.org/abs/2601.12310v2"&gt;&lt;em&gt;Survival is the Only Reward&lt;/em&gt;&lt;/a&gt;), peak-score curation collapsed at &lt;code&gt;v12&lt;/code&gt; to &lt;code&gt;v13&lt;/code&gt;, whereas the \(K=3\) recency window improved steadily without replaying older agent trajectories, reaching &lt;code&gt;14,938 MB&lt;/code&gt; freed per held-out run (&lt;code&gt;58.4%&lt;/code&gt; of full accumulation&amp;rsquo;s &lt;code&gt;25,570 MB&lt;/code&gt;) and &lt;code&gt;2.049&lt;/code&gt; offline cumulative composite score (&lt;code&gt;52.6%&lt;/code&gt; of full accumulation&amp;rsquo;s &lt;code&gt;3.898&lt;/code&gt;, or &lt;code&gt;2.1×&lt;/code&gt; the composite-score units per training row) on a capped 15,000-row buffer.&lt;/p&gt;</description></item></channel></rss>