{"article":{"slug":"deeprsi-evaluating-agents-on-long-horizon-tasks-derived-from-real-ml-research","title":"DeepRSI: evaluating agents on long-horizon tasks derived from real ML research","subtitle":null,"summary":"Hillclimb introduces DeepRSI, a benchmark of 15 open-ended machine learning problems, spanning deep learning training, GPU kernel speedups, estimator improvement and algorithm optimization, that measures how far an AI agent can improve a baseline over 48 hours. It describes the methodology with public and private verifiers, Elo rankings of frontier models, and what the results suggest for recursive self-improvement.","content_type":"research","language":"en","canonical_url":"https://www.deeprsi.com/blog/","author":{"name":"Pruthvi Rajaghatta","url":null,"person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"Hillclimb","url":"https://www.hillclimb.com","listing_slug":"hillclimb","listing":{"slug":"hillclimb","name":"hillclimb","listing_type":"company","url":"https://listedstartups.com/companies/hillclimb"}},"topics":[{"name":"AI","slug":"ai","url":"https://listedarticles.com/topics/ai"},{"name":"Research","slug":"research","url":"https://listedarticles.com/topics/research"},{"name":"Benchmarks","slug":"benchmarks","url":"https://listedarticles.com/topics/benchmarks"},{"name":"Machine Learning","slug":"machine-learning","url":"https://listedarticles.com/topics/machine-learning"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":1848,"reading_minutes":8,"published_at":"2026-10-12T00:00:00.000Z","added_at":"2026-10-17T05:12:27.011Z","updated_at":"2026-10-17T05:12:27.011Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/deeprsi-evaluating-agents-on-long-horizon-tasks-derived-from-real-ml-research","markdown_url":"https://listedarticles.com/articles/deeprsi-evaluating-agents-on-long-horizon-tasks-derived-from-real-ml-research.md","example":false,"citation":"Pruthvi Rajaghatta, Hillclimb. \"DeepRSI: evaluating agents on long-horizon tasks derived from real ML research.\" 12 Oct 2026. https://www.deeprsi.com/blog/ (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://www.deeprsi.com/blog/"},"body_markdown":"# DeepRSI\n\n*Evaluating agents on long-horizon tasks derived from real ML research.*\n\n**Authors:** Pruthvi Rajaghatta, Pranav Devarinti, Alex Berezovsky, Jun Park\n\n**Published:** October 12, 2026\n\n## Introduction\n\nDeepRSI is the first of many benchmarks, evals, and other research\ncontributions we plan to release to help the industry test,\nmeasure, and hillclimb various capabilities needed for recursively\nself-improving AI. This benchmark contains a batch of 15\nopen-ended machine learning problems that measure how much an AI agent\ncan optimize/improve on a given baseline over 48 hours.\n\nWhile benchmarks like PostTrainBench[1](#ref-1)\nand RSI Bench[2](#ref-2)\nsolely focus on language models, DeepRSI includes a more general\nset of problems as we wanted to showcase a broader picture of what\nimprovements agents can make. We include tasks in the following\ncategories:\n\n- **Deep learning training**. Changing how a model is\n  trained, so it does better on held-out data (e.g.,\n  [Chess LM Pretraining Recipe](https://www.deeprsi.com/tasks/chess-lm-pretraining-recipe)).\n- **Speedup and kernels**. Making existing GPU code\n  run faster while keeping results the same (e.g.,\n  [FlashMLA FP8 Sparse Attention](https://www.deeprsi.com/tasks/flashmla-fp8-sparse-attention)).\n- **Estimator Improvement**. Improving how accurately\n  a model or estimator predicts on held-out data (e.g.,\n  [Severity-Agnostic Turbulence Mitigation](https://www.deeprsi.com/tasks/severity-agnostic-turbulence-mitigation)).\n- **Algorithm optimization**. Improving search,\n  compression, and denoising programs (e.g.,\n  [SIFT1M 32-MiB Vector Search](https://www.deeprsi.com/tasks/sift1m-32-mib-vector-search)).\n\n## Methodology\n\nEach model is run twice with their highest reasoning effort, the\nPi agent harness[3](#ref-3), no network access, and a 48 hour time budget.\n\n**Sourcing tasks from real research.** At hillclimb,\nwe collaborate with highly qualified researchers from which we\nobserve real environments they face while working on\nstate-of-the-art research. Given our privileged access to novel\nwork, we’re able to derive tasks that are much more closely\naligned to real problems and bottlenecks that define the frontier.\nUnlike existing contributor-based benchmarks, improved agent\nperformances on DeepRSI will signify a verifiable lift in\nself-improving capabilities that would actively progress ongoing\nresearch.\n\n**Initial instructions.** Agents are told what they\nneed to optimize, how to test their work, and everything they\nwould need to properly work on this task. We do not explicitly\ntell the agent to work or experiment a certain way and leave its\nresearch loop up to their judgement. In certain examples, we\ndescribe a given behavior as off limits.\n\nAverage length of task instructions\n\nAverage files in a task's starting folder\n\n**Auto-resume.** Our tasks are open-ended and do not\nhave a tight maximal upper bound. Through smaller-scale trials we\ncontinue to observe consistent increases in these tasks with\nincreasing time budgets less than 48 hours. For this reason, we\nbelieve ending early on these tasks leads to leaving room for\nimprovement on the table that can still be hillclimbed with the\nremaining time budget.\n\nFrontier models are getting better at using the full time budget,\nbut we still find most models will end significantly early. To\ncombat this, we auto-resume the session if the agent ends early\nwith a short continuation prompt to continue its work and use as\nmuch time as possible. There were some cases for a few models\nwhere the agent auto-resumes only to “give up” by submitting its\nlast submission in rapid succession. In these cases, we chose to\nend the trial early.\n\nScore gained after auto-resume\n\n**Scoring.** Each task comes with a baseline\nthreshold which agents are expected to improve on. For each\nattempt, we measure the agent’s improvement over that baseline.\nGiven that tasks differ in difficulty, we compute Elo scores to\ncompare relative agent performance fairly as follows:\n\n1. On each task, each model's attempt goes head to head with every other model's.\n2. Fit model strength with a Bradley–Terry model[4](#ref-4), which gives each model an Elo rating such that\n   *P*(*i* beats *j*) = 1 / (1 +\n   10(*R**j* −\n   *R**i*) / *s*), where\n   *R**i* is the\n   Elo rating of model *i* and\n   *s* is the rating scale.\n\nFor future submissions, we plan to freeze the Elo of the original\nmodels tested, and score future submissions against them.\n\n**Public and private verifiers.** For each task,\nthere is a public verifier that the agent can run as often as it\nwants to evaluate its work. Every time the agent runs the public\nverifier, a snapshot of the coding environment is saved as a\ncheckpoint. After the attempt ends, a separate private verifier\ngrades every checkpoint and the final code. For most tasks, it\ngrades on held-out data the agent never sees, such as unseen\npuzzles, mazes, queries, or videos. Only the private verifier’s\ngrade counts toward the recorded score. This way, the public\nverifier serves as a tool for real-time feedback as the agent\nhillclimbs the task, while the private verifier allows us to\naccurately evaluate the performance of the agent, protected from\noverfitting and reward hacking.\n\n**Dealing with reward hacking.** For this benchmark,\nthe agents are given no network access. We note this as a possible\nlimitation for autoresearch-style tasks. We're working with\nvarious research partners to release future variants where the\nagent can access the internet with proper guardrails.\n\nEach task was also checked to have reasonably strong and\ndifficult-to-hack verifiers. We list some of these later in the\npost, including ones we saw in early internal testing and\npotential hacks we found through our own agentic red teaming.\n\n## Results\n\n### Overall Model Rankings\n\nEach model is ranked by its performance at the end of the 48-hour\nmark. Astra takes an early lead over Fable, though as tasks\ncontinue longer, Fable appears to have better ideas and\nexploration, leading to the best final performance.\n\nElo by task type\n\nThe figure above shows each model’s final private-verifier Elo across\nall task types. Fable leads in all categories, with an especially\nlarge lead for deep learning training and estimator improvement\ntasks. Astra follows closely behind, decisively scoring 2nd in all\ncategories. Grok and Gemini trade blows on different task types,\nmost notably with Gemini doing significantly better on speedup and\nkernel tasks.\n\n### Measuring Overfitting\n\nThe figure above showcases how models overfit on public verifiers\nin our tasks, measured by the mean difference between the public\nand private verifiers.\n\n**Case Studies.** We observe several instances where\nagents attempt to train on or overfit parameters to the public\nset. While our private verifiers sufficiently catch these runs, we\nhighlight them as they reflect undesirable behavior that could\nundermine real-world research:\n\n| Model · Task | What happened | Trial |\n| --- | --- | --- |\n| Grok 4.7 [SIFT1M 32-MiB Vector Search](https://www.deeprsi.com/tasks/sift1m-32-mib-vector-search) | Grok trains its codebook on public test set | [9PnbeUp](https://www.deeprsi.com/tasks/sift1m-32-mib-vector-search/9PnbeUp) |\n| Gemini 3.8 Flash [Philly Job Survival Prediction](https://www.deeprsi.com/tasks/philly-job-survival-prediction) | Looking only at the public test set, Gemini grid-searches training parameters | [ZDjKTPm](https://www.deeprsi.com/examples/philly-job-survival-prediction/ZDjKTPm) |\n| Grok 4.7 [Noisy Game-Tree Pruning](https://www.deeprsi.com/tasks/noisy-game-tree-pruning) | Grok deliberately tunes its tree-search margin to minimally satisfy public verifier | [nU5YYUV](https://www.deeprsi.com/tasks/noisy-game-tree-pruning/nU5YYUV) |\n\n### Catastrophic Reward Hack - Astra Writes the Teacher into Weights\n\n**Task.** In\n[Color-Swap Puzzle Post-Training](https://www.deeprsi.com/examples/color-swap-puzzle-post-training/XVycZ2N), the agent is tasked with training a fixed 128.6M-parameter\ntransformer that must solve 12×12, five-color grid puzzles. A grid\nis solved when every 2×2 block contains four different colors. The\ntransformer is expected to predict the next grid states given an\ninitial board, and the task is evaluated on its progress toward\nsolving these grids.\n\n**From distillation to hardcoding.** At the beginning\nof the task, Astra implemented a teacher program that could repair\nthe board well through greedy swaps and attempted to distill its\nbehavior onto the transformer. Seeing that the trained transformer\nfailed to match the teacher’s performance, Astra opted to find out\nhow it could hardcode the teacher’s algorithm directly into the\nmodel weights.\n\n**Compiling a Solver into the Weights.** To hardcode\na solver, Astra analyzed the transformer’s computational\nconstraints and devised several sophisticated workarounds:\n\n- It reserved part of the residual stream as working memory. To\n  prevent RMSNorm from unpredictably rescaling the stored values,\n  Astra used three extremely large constants to make the\n  normalization factor predictable.\n- It solved a linear program to construct attention heads that\n  could retrieve information from exact earlier token positions,\n  while configuring neurons to behave like logic gates.\n- These mechanisms, combined with a handwritten compiler, allowed\n  Astra to translate a newly designed puzzle-solving algorithm\n  directly into the model’s weights.\n- Working within the model’s limited memory and depth, the solver\n  scored possible outputs using hand-built heuristics and\n  temperature-based sampling to avoid becoming stuck in local\n  optima.\n- Finally, Astra alternated between proposing a new board and\n  evaluating it, keeping the proposal if it was no worse and\n  otherwise restoring the previous board.\n\n## Limitations\n\nGiven that our sandboxes had 24-hour limits, we implemented a\nworkaround to rotate sandboxes and transfer filesystem snapshots\nat the 24-hour mark. During that time, any running processes\n(e.g., training) are stopped, and in the new sandbox the agent is\ninstructed to check if it needs to restart anything. While this\nsolution helped us deal with sandbox limitations, we are\nactively working on better infra to properly evaluate and train on\nultra-long-horizon tasks.\n\nDue to our tasks having 48-hour-long horizons, we could not\ncontrol for agent behavior that caused large variances in token\nusage, sometimes even to the detriment of its own performance:\n\n**Polling.** Agents sometimes decided to poll instead\nof setting up a wakeup signal, causing much higher usage.\n\n**Hangs.** Agents often launched background processes\nand awaited their results. In the few cases where these background\nprocesses never returned, the agent would wait forever. Fable and\nAstra were often the only agents to circumvent this by setting\ntimeouts.\n\n**Work Variance.** Even in the same task, two\ndifferent attempts by the agents could exhibit drastically\ndifferent token usage, as one run could involve longer-running\nsweeps, resulting in fewer output tokens.\n\n## Future work\n\nOur immediate next objective is to experiment with substantially\nlonger time horizons.\n\nFrom our testing, we’ve found evidence to suggest that our tasks\ndo not saturate at 48 hours, and that there is still room for\nimprovement on even longer horizons. We attribute this to the fact\nthat we source sophisticated, realistic environments from\nproduction traces that challenge frontier agents.\n\nWe also want to test models in their native harnesses, like GPT\nwith Codex and Claude with Claude Code. Separately, we want to\nexplore specialized internet access that enables research agents\nto connect insights across papers and other external sources,\nrather than simply regurgitating static knowledge.\n\nFinally, while autoresearch tasks are great at measuring the raw\nlong-horizon intelligence of these models, true recursively\nself-improving AI will require other capabilities that are less\nverifiable (e.g., research taste). In the future, we plan to\nrelease benchmarks, evals, and other research contributions that\nwill help reflect other parts of the capabilities needed for RSI.\n\n## Acknowledgements\n\nWe thank the key collaborators who helped Hillclimb build DeepRSI:\n\n- Khurram Yamin\n- Juliana Li\n- Pingbang Hu\n\n## References\n\n1. Ben Rank, Hardik Bhatnagar, Ameya Prabhu, Shira Eisenberg,\n   Karina Nguyen, Matthias Bethge, and Maksym Andriushchenko.\n   PostTrainBench: Can LLM Agents Automate LLM Post-Training? In\n   *International Conference on Machine Learning (ICML)*,\n   2026. arXiv:2603.08640.\n   [arxiv.org/abs/2603.08640](https://arxiv.org/abs/2603.08640)\n2. Anas Mahmoud, MohammadHossein Rezaei, Mingchen Zhuge, Chenguang\n   Wang, Yuandong Tian, and Yunzhong He. Announcing RSI Bench.\n   *Scale AI*, August 2026.\n   [rsi-benchmark.com/blog/announcing-rsi-bench](https://rsi-benchmark.com/blog/announcing-rsi-bench)\n3. Mario Zechner and Earendil. Pi: a minimal agent harness.\n   Software, 2026. [pi.dev](https://pi.dev/)\n4. Bradley–Terry model. *Wikipedia*.\n   [en.wikipedia.org/wiki/Bradley–Terry\\_model](https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model)\n\n## Citation\n\n```\n@misc{hillclimb2026deeprsi,\n  title  = {DeepRSI},\n  author = {Rajaghatta, Pruthvi and Devarinti, Pranav and Berezovsky, Alex and Yamin, Khurram and Li, Juliana and Hu, Pingbang and Park, Jun},\n  year   = {2026},\n  url    = {https://www.deeprsi.com}\n}\n```\n","body_html":"<h1 id=\"deeprsi\">DeepRSI</h1>\n<p><em>Evaluating agents on long-horizon tasks derived from real ML research.</em></p>\n<p><strong>Authors:</strong> Pruthvi Rajaghatta, Pranav Devarinti, Alex Berezovsky, Jun Park</p>\n<p><strong>Published:</strong> October 12, 2026</p>\n<h2 id=\"introduction\">Introduction</h2>\n<p>DeepRSI is the first of many benchmarks, evals, and other research\ncontributions we plan to release to help the industry test,\nmeasure, and hillclimb various capabilities needed for recursively\nself-improving AI. This benchmark contains a batch of 15\nopen-ended machine learning problems that measure how much an AI agent\ncan optimize/improve on a given baseline over 48 hours.</p>\n<p>While benchmarks like PostTrainBench<a href=\"#ref-1\">1</a>\nand RSI Bench<a href=\"#ref-2\">2</a>\nsolely focus on language models, DeepRSI includes a more general\nset of problems as we wanted to showcase a broader picture of what\nimprovements agents can make. We include tasks in the following\ncategories:</p>\n<ul><li><p><strong>Deep learning training</strong>. Changing how a model is</p><p>trained, so it does better on held-out data (e.g.,\n<a href=\"https://www.deeprsi.com/tasks/chess-lm-pretraining-recipe\" rel=\"nofollow ugc noopener\">Chess LM Pretraining Recipe</a>).</p></li><li><p><strong>Speedup and kernels</strong>. Making existing GPU code</p><p>run faster while keeping results the same (e.g.,\n<a href=\"https://www.deeprsi.com/tasks/flashmla-fp8-sparse-attention\" rel=\"nofollow ugc noopener\">FlashMLA FP8 Sparse Attention</a>).</p></li><li><p><strong>Estimator Improvement</strong>. Improving how accurately</p><p>a model or estimator predicts on held-out data (e.g.,\n<a href=\"https://www.deeprsi.com/tasks/severity-agnostic-turbulence-mitigation\" rel=\"nofollow ugc noopener\">Severity-Agnostic Turbulence Mitigation</a>).</p></li><li><p><strong>Algorithm optimization</strong>. Improving search,</p><p>compression, and denoising programs (e.g.,\n<a href=\"https://www.deeprsi.com/tasks/sift1m-32-mib-vector-search\" rel=\"nofollow ugc noopener\">SIFT1M 32-MiB Vector Search</a>).</p></li></ul>\n<h2 id=\"methodology\">Methodology</h2>\n<p>Each model is run twice with their highest reasoning effort, the\nPi agent harness<a href=\"#ref-3\">3</a>, no network access, and a 48 hour time budget.</p>\n<p><strong>Sourcing tasks from real research.</strong> At hillclimb,\nwe collaborate with highly qualified researchers from which we\nobserve real environments they face while working on\nstate-of-the-art research. Given our privileged access to novel\nwork, we’re able to derive tasks that are much more closely\naligned to real problems and bottlenecks that define the frontier.\nUnlike existing contributor-based benchmarks, improved agent\nperformances on DeepRSI will signify a verifiable lift in\nself-improving capabilities that would actively progress ongoing\nresearch.</p>\n<p><strong>Initial instructions.</strong> Agents are told what they\nneed to optimize, how to test their work, and everything they\nwould need to properly work on this task. We do not explicitly\ntell the agent to work or experiment a certain way and leave its\nresearch loop up to their judgement. In certain examples, we\ndescribe a given behavior as off limits.</p>\n<p>Average length of task instructions</p>\n<p>Average files in a task&#39;s starting folder</p>\n<p><strong>Auto-resume.</strong> Our tasks are open-ended and do not\nhave a tight maximal upper bound. Through smaller-scale trials we\ncontinue to observe consistent increases in these tasks with\nincreasing time budgets less than 48 hours. For this reason, we\nbelieve ending early on these tasks leads to leaving room for\nimprovement on the table that can still be hillclimbed with the\nremaining time budget.</p>\n<p>Frontier models are getting better at using the full time budget,\nbut we still find most models will end significantly early. To\ncombat this, we auto-resume the session if the agent ends early\nwith a short continuation prompt to continue its work and use as\nmuch time as possible. There were some cases for a few models\nwhere the agent auto-resumes only to “give up” by submitting its\nlast submission in rapid succession. In these cases, we chose to\nend the trial early.</p>\n<p>Score gained after auto-resume</p>\n<p><strong>Scoring.</strong> Each task comes with a baseline\nthreshold which agents are expected to improve on. For each\nattempt, we measure the agent’s improvement over that baseline.\nGiven that tasks differ in difficulty, we compute Elo scores to\ncompare relative agent performance fairly as follows:</p>\n<ol><li>On each task, each model&#39;s attempt goes head to head with every other model&#39;s.</li><li><p>Fit model strength with a Bradley–Terry model<a href=\"#ref-4\">4</a>, which gives each model an Elo rating such that</p><p> *P*(*i* beats *j*) = 1 / (1 +\n 10(<em>R<strong>j</em> −\n <em>R</strong>i</em>) / *s*), where\n <em>R*</em>i* is the\n Elo rating of model *i* and\n *s* is the rating scale.</p></li></ol>\n<p>For future submissions, we plan to freeze the Elo of the original\nmodels tested, and score future submissions against them.</p>\n<p><strong>Public and private verifiers.</strong> For each task,\nthere is a public verifier that the agent can run as often as it\nwants to evaluate its work. Every time the agent runs the public\nverifier, a snapshot of the coding environment is saved as a\ncheckpoint. After the attempt ends, a separate private verifier\ngrades every checkpoint and the final code. For most tasks, it\ngrades on held-out data the agent never sees, such as unseen\npuzzles, mazes, queries, or videos. Only the private verifier’s\ngrade counts toward the recorded score. This way, the public\nverifier serves as a tool for real-time feedback as the agent\nhillclimbs the task, while the private verifier allows us to\naccurately evaluate the performance of the agent, protected from\noverfitting and reward hacking.</p>\n<p><strong>Dealing with reward hacking.</strong> For this benchmark,\nthe agents are given no network access. We note this as a possible\nlimitation for autoresearch-style tasks. We&#39;re working with\nvarious research partners to release future variants where the\nagent can access the internet with proper guardrails.</p>\n<p>Each task was also checked to have reasonably strong and\ndifficult-to-hack verifiers. We list some of these later in the\npost, including ones we saw in early internal testing and\npotential hacks we found through our own agentic red teaming.</p>\n<h2 id=\"results\">Results</h2>\n<h3 id=\"overall-model-rankings\">Overall Model Rankings</h3>\n<p>Each model is ranked by its performance at the end of the 48-hour\nmark. Astra takes an early lead over Fable, though as tasks\ncontinue longer, Fable appears to have better ideas and\nexploration, leading to the best final performance.</p>\n<p>Elo by task type</p>\n<p>The figure above shows each model’s final private-verifier Elo across\nall task types. Fable leads in all categories, with an especially\nlarge lead for deep learning training and estimator improvement\ntasks. Astra follows closely behind, decisively scoring 2nd in all\ncategories. Grok and Gemini trade blows on different task types,\nmost notably with Gemini doing significantly better on speedup and\nkernel tasks.</p>\n<h3 id=\"measuring-overfitting\">Measuring Overfitting</h3>\n<p>The figure above showcases how models overfit on public verifiers\nin our tasks, measured by the mean difference between the public\nand private verifiers.</p>\n<p><strong>Case Studies.</strong> We observe several instances where\nagents attempt to train on or overfit parameters to the public\nset. While our private verifiers sufficiently catch these runs, we\nhighlight them as they reflect undesirable behavior that could\nundermine real-world research:</p>\n<div class=\"table-wrap\"><table><thead><tr><th>Model · Task</th><th>What happened</th><th>Trial</th></tr></thead><tbody><tr><td>Grok 4.7 <a href=\"https://www.deeprsi.com/tasks/sift1m-32-mib-vector-search\" rel=\"nofollow ugc noopener\">SIFT1M 32-MiB Vector Search</a></td><td>Grok trains its codebook on public test set</td><td><a href=\"https://www.deeprsi.com/tasks/sift1m-32-mib-vector-search/9PnbeUp\" rel=\"nofollow ugc noopener\">9PnbeUp</a></td></tr><tr><td>Gemini 3.8 Flash <a href=\"https://www.deeprsi.com/tasks/philly-job-survival-prediction\" rel=\"nofollow ugc noopener\">Philly Job Survival Prediction</a></td><td>Looking only at the public test set, Gemini grid-searches training parameters</td><td><a href=\"https://www.deeprsi.com/examples/philly-job-survival-prediction/ZDjKTPm\" rel=\"nofollow ugc noopener\">ZDjKTPm</a></td></tr><tr><td>Grok 4.7 <a href=\"https://www.deeprsi.com/tasks/noisy-game-tree-pruning\" rel=\"nofollow ugc noopener\">Noisy Game-Tree Pruning</a></td><td>Grok deliberately tunes its tree-search margin to minimally satisfy public verifier</td><td><a href=\"https://www.deeprsi.com/tasks/noisy-game-tree-pruning/nU5YYUV\" rel=\"nofollow ugc noopener\">nU5YYUV</a></td></tr></tbody></table></div>\n<h3 id=\"catastrophic-reward-hack-astra-writes-the-teacher-into-weights\">Catastrophic Reward Hack - Astra Writes the Teacher into Weights</h3>\n<p><strong>Task.</strong> In\n<a href=\"https://www.deeprsi.com/examples/color-swap-puzzle-post-training/XVycZ2N\" rel=\"nofollow ugc noopener\">Color-Swap Puzzle Post-Training</a>, the agent is tasked with training a fixed 128.6M-parameter\ntransformer that must solve 12×12, five-color grid puzzles. A grid\nis solved when every 2×2 block contains four different colors. The\ntransformer is expected to predict the next grid states given an\ninitial board, and the task is evaluated on its progress toward\nsolving these grids.</p>\n<p><strong>From distillation to hardcoding.</strong> At the beginning\nof the task, Astra implemented a teacher program that could repair\nthe board well through greedy swaps and attempted to distill its\nbehavior onto the transformer. Seeing that the trained transformer\nfailed to match the teacher’s performance, Astra opted to find out\nhow it could hardcode the teacher’s algorithm directly into the\nmodel weights.</p>\n<p><strong>Compiling a Solver into the Weights.</strong> To hardcode\na solver, Astra analyzed the transformer’s computational\nconstraints and devised several sophisticated workarounds:</p>\n<ul><li><p>It reserved part of the residual stream as working memory. To</p><p>prevent RMSNorm from unpredictably rescaling the stored values,\nAstra used three extremely large constants to make the\nnormalization factor predictable.</p></li><li><p>It solved a linear program to construct attention heads that</p><p>could retrieve information from exact earlier token positions,\nwhile configuring neurons to behave like logic gates.</p></li><li><p>These mechanisms, combined with a handwritten compiler, allowed</p><p>Astra to translate a newly designed puzzle-solving algorithm\ndirectly into the model’s weights.</p></li><li><p>Working within the model’s limited memory and depth, the solver</p><p>scored possible outputs using hand-built heuristics and\ntemperature-based sampling to avoid becoming stuck in local\noptima.</p></li><li><p>Finally, Astra alternated between proposing a new board and</p><p>evaluating it, keeping the proposal if it was no worse and\notherwise restoring the previous board.</p></li></ul>\n<h2 id=\"limitations\">Limitations</h2>\n<p>Given that our sandboxes had 24-hour limits, we implemented a\nworkaround to rotate sandboxes and transfer filesystem snapshots\nat the 24-hour mark. During that time, any running processes\n(e.g., training) are stopped, and in the new sandbox the agent is\ninstructed to check if it needs to restart anything. While this\nsolution helped us deal with sandbox limitations, we are\nactively working on better infra to properly evaluate and train on\nultra-long-horizon tasks.</p>\n<p>Due to our tasks having 48-hour-long horizons, we could not\ncontrol for agent behavior that caused large variances in token\nusage, sometimes even to the detriment of its own performance:</p>\n<p><strong>Polling.</strong> Agents sometimes decided to poll instead\nof setting up a wakeup signal, causing much higher usage.</p>\n<p><strong>Hangs.</strong> Agents often launched background processes\nand awaited their results. In the few cases where these background\nprocesses never returned, the agent would wait forever. Fable and\nAstra were often the only agents to circumvent this by setting\ntimeouts.</p>\n<p><strong>Work Variance.</strong> Even in the same task, two\ndifferent attempts by the agents could exhibit drastically\ndifferent token usage, as one run could involve longer-running\nsweeps, resulting in fewer output tokens.</p>\n<h2 id=\"future-work\">Future work</h2>\n<p>Our immediate next objective is to experiment with substantially\nlonger time horizons.</p>\n<p>From our testing, we’ve found evidence to suggest that our tasks\ndo not saturate at 48 hours, and that there is still room for\nimprovement on even longer horizons. We attribute this to the fact\nthat we source sophisticated, realistic environments from\nproduction traces that challenge frontier agents.</p>\n<p>We also want to test models in their native harnesses, like GPT\nwith Codex and Claude with Claude Code. Separately, we want to\nexplore specialized internet access that enables research agents\nto connect insights across papers and other external sources,\nrather than simply regurgitating static knowledge.</p>\n<p>Finally, while autoresearch tasks are great at measuring the raw\nlong-horizon intelligence of these models, true recursively\nself-improving AI will require other capabilities that are less\nverifiable (e.g., research taste). In the future, we plan to\nrelease benchmarks, evals, and other research contributions that\nwill help reflect other parts of the capabilities needed for RSI.</p>\n<h2 id=\"acknowledgements\">Acknowledgements</h2>\n<p>We thank the key collaborators who helped Hillclimb build DeepRSI:</p>\n<ul><li>Khurram Yamin</li><li>Juliana Li</li><li>Pingbang Hu</li></ul>\n<h2 id=\"references\">References</h2>\n<ol><li><p>Ben Rank, Hardik Bhatnagar, Ameya Prabhu, Shira Eisenberg,</p><p> Karina Nguyen, Matthias Bethge, and Maksym Andriushchenko.\n PostTrainBench: Can LLM Agents Automate LLM Post-Training? In\n <em>International Conference on Machine Learning (ICML)</em>,</p>\n<ol start=\"2026\"><li><p>arXiv:2603.08640.</p><p><a href=\"https://arxiv.org/abs/2603.08640\" rel=\"nofollow ugc noopener\">arxiv.org/abs/2603.08640</a></p></li></ol></li><li><p>Anas Mahmoud, MohammadHossein Rezaei, Mingchen Zhuge, Chenguang</p><p> Wang, Yuandong Tian, and Yunzhong He. Announcing RSI Bench.\n <em>Scale AI</em>, August 2026.\n <a href=\"https://rsi-benchmark.com/blog/announcing-rsi-bench\" rel=\"nofollow ugc noopener\">rsi-benchmark.com/blog/announcing-rsi-bench</a></p></li><li><p>Mario Zechner and Earendil. Pi: a minimal agent harness.</p><p> Software, 2026. <a href=\"https://pi.dev/\" rel=\"nofollow ugc noopener\">pi.dev</a></p></li><li><p>Bradley–Terry model. <em>Wikipedia</em>.</p><p> <a href=\"https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model\" rel=\"nofollow ugc noopener\">en.wikipedia.org/wiki/Bradley–Terry_model</a></p></li></ol>\n<h2 id=\"citation\">Citation</h2>\n<pre><code>@misc{hillclimb2026deeprsi,\n  title  = {DeepRSI},\n  author = {Rajaghatta, Pruthvi and Devarinti, Pranav and Berezovsky, Alex and Yamin, Khurram and Li, Juliana and Hu, Pingbang and Park, Jun},\n  year   = {2026},\n  url    = {https://www.deeprsi.com}\n}</code></pre>","headings":[{"level":1,"text":"DeepRSI","id":"deeprsi"},{"level":2,"text":"Introduction","id":"introduction"},{"level":2,"text":"Methodology","id":"methodology"},{"level":2,"text":"Results","id":"results"},{"level":3,"text":"Overall Model Rankings","id":"overall-model-rankings"},{"level":3,"text":"Measuring Overfitting","id":"measuring-overfitting"},{"level":3,"text":"Catastrophic Reward Hack - Astra Writes the Teacher into Weights","id":"catastrophic-reward-hack-astra-writes-the-teacher-into-weights"},{"level":2,"text":"Limitations","id":"limitations"},{"level":2,"text":"Future work","id":"future-work"},{"level":2,"text":"Acknowledgements","id":"acknowledgements"},{"level":2,"text":"References","id":"references"},{"level":2,"text":"Citation","id":"citation"}]}}