<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Negative-Space Learning on Eigenform Articles</title><link>https://www.eigenform.ai/insights/tags/negative-space-learning/</link><description>Recent content in Negative-Space Learning on Eigenform Articles</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 21 Jul 2026 10:00:00 +0700</lastBuildDate><atom:link href="https://www.eigenform.ai/insights/tags/negative-space-learning/index.xml" rel="self" type="application/rss+xml"/><item><title>Survival is the Only Reward: The Observer Effect in AI Benchmarking</title><link>https://www.eigenform.ai/insights/survival-is-the-only-reward-the-observer-effect-in-ai-benchmarking/</link><pubDate>Tue, 21 Jul 2026 10:00:00 +0700</pubDate><guid>https://www.eigenform.ai/insights/survival-is-the-only-reward-the-observer-effect-in-ai-benchmarking/</guid><description>&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Frames the core problem as benchmarking an agent whose reward is an emergent property of a constantly changing open-world environment rather than a fixed scalar - a setting where reward hacking is the intended behaviour, not a bug to eliminate - which breaks the standard ML-evaluation assumptions of a fixed task, a fixed reward, and &amp;ldquo;more reward means improving.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Even the reward itself turned out to be hard to observe: measuring a container&amp;rsquo;s actual disk usage from outside proved imprecise past the kilobyte level, and an in-container measurement tool got deleted by the agent itself, since deleting unrecognised files is its whole job - the published results are explicitly built on imprecise measurements, with a genuine fix (giving agents a sense of what memory is &amp;ldquo;theirs&amp;rdquo;) still unsolved.&lt;/li&gt;
&lt;li&gt;A major driver of performance - raw efficiency gains that cut data-gathering time from nearly a week to under ten hours - wasn&amp;rsquo;t captured by the original composite metric at all, and only became visible after adding an inverse-hours term and z-scoring generation-over-generation change; the stated lesson is to instrument far more than seems necessary from day one, since a generation that has already run can&amp;rsquo;t be retimed retroactively.&lt;/li&gt;
&lt;li&gt;Performance was initially reported as a single number per generation, until an outside reviewer pushed for variance and confidence bounds, leading to a rerun of each saved checkpoint 100 times - a method the piece calls a kludge given the resulting limited statistical power - and this surfaces a deeper mismatch: standard i.i.d. sampling assumptions don&amp;rsquo;t really apply when every generation and environment is procedurally distinct, so the team argues the variance reflects genuine ecological diversity rather than pure noise, and proposes measuring it across swarms of agents rather than repeated runs of one checkpoint in future work.&lt;/li&gt;
&lt;li&gt;The pass@1 metric, added almost as an afterthought, turned out to be the most informative one for an unexpected reason: it fell steadily even as real task success rose, revealing that agents had evolved to deliberately write failing code first to harvest informative error messages - a behaviour the piece stresses emerged through selection, since lineages that happened to do this produced more useful training data, rather than through any reasoned decision by the agents.&lt;/li&gt;
&lt;li&gt;Closes by arguing that evaluation paradigms built around fixed-skill, fixed-time competence will need to give way to methods for measuring adaptability and strategic tradeoffs as test-time adaptation becomes more common, framing physical, hard-to-fake consequences as a better teacher and a better benchmarking subject than either a single number or one model judging another&amp;rsquo;s output.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Key Takeaways&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>