<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Ibragim</title><generator>teletype.in</generator><description><![CDATA[Ibragim]]></description><image><url>https://img3.teletype.in/files/e2/f5/e2f5c456-8764-4df4-9eeb-2349bddbf086.png</url><title>Ibragim</title><link>https://teletype.in/@ibragim_bad</link></image><link>https://teletype.in/@ibragim_bad?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ibragim_bad</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/ibragim_bad?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/ibragim_bad?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 03 Nov 2026 15:16:02 GMT</pubDate><lastBuildDate>Tue, 03 Nov 2026 15:16:02 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@ibragim_bad/fm5jSJvYb_5</guid><link>https://teletype.in/@ibragim_bad/fm5jSJvYb_5?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ibragim_bad</link><comments>https://teletype.in/@ibragim_bad/fm5jSJvYb_5?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ibragim_bad#comments</comments><dc:creator>ibragim_bad</dc:creator><title>Как я собрал evals из своих задач и стал тратить на токены вдвое меньше</title><pubDate>Fri, 16 Oct 2026 12:47:47 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/f6/f4/f6f402a9-ddaa-4d6c-866a-c391c435e25e.png"></media:content><category>AI</category><description><![CDATA[<img src="https://img4.teletype.in/files/37/fa/37fa4842-04f2-4547-a32a-e77e36e3305d.png"></img>Многие компании уже собирают свои evals (наборы задач для проверки агентов) и делают по ним hill climbing: меняют модели и сетапы, дообучают модели, сокращают расход токенов. Другие тем временем используют дорогие фронтирные модели даже на простых задачах. Отдельные разработчики часто делают то же самое.]]></description><content:encoded><![CDATA[
  <p id="gXOj">Многие компании уже собирают свои <strong>evals</strong> (наборы задач для проверки агентов) и делают по ним <strong>hill climbing: </strong>меняют модели и сетапы, дообучают модели, сокращают расход токенов. Другие тем временем используют дорогие фронтирные модели даже на простых задачах. Отдельные разработчики часто делают то же самое.</p>
  <p id="jzxn">Поэтому я собрал evals из своих прошлых задач, чтобы найти быстрый и дешёвый способ работать с агентами без потери качества. Уже в первом раунде тестов нашёлся сетап вдвое дешевле. Ниже <strong>пошаговый гайд, как собрать свои evals</strong>.</p>
  <p id="Wp2l">Сначала я хотел проверить, сможет ли Pi (легковесный CLI-агент с открытым исходным кодом) решить те же задачи, что и Codex, потратив меньше токенов. Меньший расход токенов может помочь сделать больше в пределах лимитов подписки. На моих задачах Pi потратил меньше токенов. На первом графике: сравнение агентов на GPT-6.1 Sol с настройкой medium: оба решили все задачи, но с Pi средняя цена за задачу почти вдвое ниже ($0.070 против $0.138).</p>
  <figure id="txTG" class="m_column">
    <img src="https://img4.teletype.in/files/37/fa/37fa4842-04f2-4547-a32a-e77e36e3305d.png" width="2048" />
    <figcaption><em>Сравнение Pi и нативных агентов на одних и тех же моделях. Все попытки успешны; указана средняя цена за задачу.</em></figcaption>
  </figure>
  <p id="iEXL">А когда у вас есть свои evals, можно проверять и другие гипотезы. Например, действительно ли инструменты вроде <a href="https://github.com/rtk-ai/rtk" target="_blank">RTK</a> (инструмента для сжатия вывода команд) экономят контекст и окупается ли перевод MCP-серверов в скиллы.</p>
  <h2 id="J2iN">Как собрать свои evals: 6 шагов</h2>
  <ol id="4sH5">
    <li id="Kxbz">Найти задачи в истории<strong> сессий с агентами</strong></li>
    <li id="PiOZ">Превратить <strong>сессию в задачу </strong>и решить, что объяснить агенту, а что он выяснит сам</li>
    <li id="ZFn0">Собрать<strong> задачу в Harbor </strong>(инструменте для запуска и оценки агентов) и закрыть агенту пути к читерству</li>
    <li id="5ncx"><strong>Проверить верификатор</strong> и отсеять неудачные задачи</li>
    <li id="TrbT"><strong>Запустить прогоны </strong>и сравнить сетапы по цене и времени</li>
    <li id="G0aT">Разобрать траектории и <strong>доработать evals</strong>; повторять это после новых прогонов</li>
  </ol>
  <p id="sPFd">Я собрал скилл<strong> evals-from-sessions</strong>, чтобы автоматизировать большую часть этого процесса (подробнее в конце). <a href="https://github.com/ibragim-bad/evals-from-sessions" target="_blank">GitHub</a></p>
  <h2 id="UR6s"><strong>Зачем мне свои evals, если я делаю публичный бенчмарк</strong></h2>
  <p id="2Oux">Я работаю в Nebius и последние полтора года занимаюсь RL-окружениями и evals для coding-агентов, а ещё поддерживаю публичный лидерборд и большой датасет SWE-rebench (подробнее о проектах на <a href="https://ibragim.dev/" target="_blank">ibragim.dev</a>). SWE-rebench показывает, какая модель сильнее на большом наборе реальных задач из разработки. Но задачи в нём взяты из других проектов. Мне также нужно понимать, какой сетап лучше подходит для моих задач.</p>
  <p id="8br5">С большей частью моей работы современные модели уже справляются. Я хотел найти самый быстрый и дешёвый сетап, который стабильно решает мои задачи. Можно ли для части задач заменить фронтирную модель на что-то быстрое и дешёвое вроде DeepSeek? Помогает ли новый скилл или плагин?</p>
  <p id="uI8A">Идея не новая. Сатья Наделла в недавнем интервью говорит, что каждой компании стоит строить свои private evals и делать по ним hill climbing:</p>
  <figure id="VWOT" class="m_retina">
    <img src="https://img4.teletype.in/files/3e/76/3e76606e-51af-43d6-a77f-5020b6c889ac.png" width="590" />
    <figcaption>Интервью Yash Patil с Сатьей Наделлой, июнь 2026 (<a href="https://x.com/ypatil125/status/2070546214240879094" target="_blank">твит</a>)</figcaption>
  </figure>
  <p id="ik7M">Недавно Anthropic выпустили для Claude Code команды<strong> build-eval </strong>и <strong>hillclimb </strong>(<a href="https://x.com/i/web/status/2104676099083190435" target="_blank">пост</a>): они помогают собрать evals для приложений, которые вызывают Claude API, и подобрать для них сетап подешевле. В этой статье та же идея, только применённая к самим coding-агентам, с которыми вы работаете каждый день.</p>
  <h2 id="xpAE"><strong>Лёгкие сетапы решают мои задачи так же, но быстрее и дешевле</strong></h2>
  <figure id="VR6P" class="m_retina">
    <img src="https://img1.teletype.in/files/c5/56/c55604f6-8404-4796-bc88-b6cd4fc1d08f.png" width="718" />
    <figcaption><em><strong>Фрагмент лидерборда. Полная таблица на <a href="https://ibragim.dev/leaderboard/" target="_blank">ibragim.dev/leaderboard</a></strong></em></figcaption>
  </figure>
  <p id="INjN">Я проверил каждую конфигурацию на 10 задачах, по три прогона на задачу. Несколько конфигураций решили все задачи во всех трёх прогонах, поэтому я сравниваю их в основном по цене и скорости. Эти результаты помогают выбрать сетап для моей работы, но не говорят, какая модель лучше в целом.</p>
  <h2 id="Ptoy">Шаг 1 · Найти задачи в истории сессий</h2>
  <p id="B73e">Я экспортировал историю работы с агентами за три месяца, около 1270 сессий. Большинство агентов хранят её локально:</p>
  <p id="a6yb">Агент / Где искать сессии</p>
  <ul id="aHgy">
    <li id="iPih"><code>Claude Code: ~/.claude/projects/&lt;project&gt;/&lt;session&gt;.jsonl</code></li>
    <li id="ZCCy"><code>Codex CLI: ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl</code></li>
    <li id="FwPK"><code>Pi: ~/.pi/agent/sessions/</code></li>
    <li id="Ax3i"><code>Gemini CLI: ~/.gemini/tmp/&lt;hash&gt;/chats/</code></li>
  </ul>
  <p id="c1Gc">Некоторые агенты удаляют старые сессии, так что их лучше скопировать заранее. В транскриптах встречаются API-ключи и другие секреты. Перед тем как отдавать экспорт внешним сервисам или коллегам, я прогоняю его через <a href="https://github.com/gitleaks/gitleaks" target="_blank">Gitleaks</a>.</p>
  <p id="Tp5A">Парсер я не писал. Агент читал историю сессий и собирал в candidates.md таблицу потенциальных задач. Для каждой он записывал:</p>
  <ul id="MAHO">
    <li id="IzeI">что я хотел сделать;</li>
    <li id="8jbb">какие файлы и компоненты затрагивались;</li>
    <li id="UvW2">где агент ошибся и что пришлось исправлять;</li>
    <li id="IQ5u">чем всё закончилось;</li>
    <li id="NxjL">можно ли проверить результат автоматически.</li>
  </ul>
  <p id="dXWI">Дальше я отбирал кандидатов вручную. Когда контекста не хватало, просил агента показать кусок транскрипта или предложить способ проверки.</p>
  <p id="Pq2o">Самыми полезными оказались сессии, где агент сначала ошибся, а потом исправлялся по моим замечаниям. Мои замечания часто дают тест-кейсы для верификатора, то есть проверки, которая решает, справился ли агент с задачей.</p>
  <p id="H8Rq">Критериев отбора три:</p>
  <ol id="V3VP">
    <li id="TNkX">Задача похожа на мою обычную работу.</li>
    <li id="FwFY">Можно однозначно проверить, правильно ли она решена.</li>
    <li id="1pte">Её можно перенести в изолированное окружение с инструментами и данными, которые нужны агенту для решения.</li>
  </ol>
  <h2 id="HoBW">Шаг 2 · Превратить сессию в задачу</h2>
  <p id="I8Ot">Пример: задача <strong>compute-provider-cost-with-retry-fallback.</strong> На входе записи прогонов агента с повторными попытками, переключениями на другие модели и кэшированием токенов. Нужно посчитать итоговую стоимость нескольких прогонов. Ошибиться можно в нескольких местах: например, неправильно посчитать кэшированные токены или взять цену не той попытки или не той модели.</p>
  <p id="g5pV">Часть — Что получилось</p>
  <ul id="j4rJ">
    <li id="ElwI">Вход: Записи прогонов с повторными попытками, переключениями на другие модели и данными о токенах</li>
    <li id="MfGs">Цель: Правильно посчитать стоимость и вернуть структурированный результат</li>
    <li id="liiX">Возможная ошибка 1: Посчитать кэшированные токены дважды: и по цене чтения из кэша, и ещё раз как обычные входные</li>
    <li id="tGx1">Возможная ошибка 2: Посчитать стоимость не по той попытке: взять неудачный retry или цену исходной модели вместо той, на которую сработал fallback</li>
    <li id="0Rme">Проверка: Запустить программу на тестовых событиях и сравнить результат. Обе ошибки должен ловить верификатор</li>
  </ul>
  <p id="gtvX">Перед сборкой я решаю, что включить в инструкцию, а что агент должен выяснить сам. Спецификацию делю на три части:</p>
  <ol id="2hA5">
    <li id="d2dp">Requirements: какие свойства должно иметь правильное решение.</li>
    <li id="eTEa">Failure modes: какие типичные ошибки должны ловить тесты.</li>
    <li id="EC4e">Must be discovered: что агент должен выяснить самостоятельно по коду или данным.</li>
  </ol>
  <p id="88C6">Здесь в инструкции явно описаны входной формат, правила расчёта, обработка fallback и формат ответа. Готовой реализации и подсказок, где менять код, в ней нет.</p>
  <p id="UrzU">Если дать слишком много подсказок, задача становится механической. Если не описать важные требования, верификатор будет проверять то, о чём агенту не сказали.</p>
  <h2 id="MrhF">Шаг 3 · Собрать задачу в Harbor</h2>
  <p id="CLv8">Задачи я запускаю в <a href="https://github.com/harbor-framework/harbor" target="_blank">Harbor</a> – инструменте для запуска и оценки coding-агентов в изолированных окружениях. Он задаёт общий формат задач для evals и RL-окружений. Каждая задача лежит в своей папке:</p>
  <pre id="H4ab">my-task/
  instruction.md     # задание для агента
  task.toml          # метаданные и настройки запуска
  environment/
    Dockerfile       # начальное состояние окружения
  tests/
    test.sh          # верификатор: проверяет результат
  solution/
    solve.sh         # эталонное решение</pre>
  <p id="zXK6">Шаблон создаётся командой harbor task init.</p>
  <p id="JnvR">Реальную работу можно перенести двумя способами.</p>
  <p id="4kif"><strong>Взять собственный коммит: </strong>состояние репозитория до изменения становится окружением, дифф становится эталонным решением. Так сохраняется настоящая структура проекта. Это подходит для приватных evals.</p>
  <p id="BS4b"><strong>Или написать самостоятельную задачу: </strong>оставить требования и ошибки из исходного эпизода, а код, названия и данные заменить. Я использую этот подход, когда код закрытый или я хочу поделиться задачей. Задачу про расчёт стоимости я собрал именно так.</p>
  <h3 id="fZBR">Как закрыть лазейки для reward hacking</h3>
  <p id="B4WV">Модели умеют читерить, и это нужно пресекать. Если задача из открытого репозитория, агент может найти исправление в интернете или просто в истории Git. Поэтому я заранее закрываю типичные лазейки: например, убираю из sandbox будущие коммиты и эталонный дифф. И, как бы глупо это ни звучало, прошу агента в инструкции не читерить и решать задачу. После прогонов проверяю траектории другим агентом, подробнее об этом в шаге 6.</p>
  <h2 id="XO3d">Шаг 4 · Проверить верификатор и доработать набор</h2>
  <p id="HXE4">Для своих задач я использую детерминированные проверки: запускаю программу, смотрю содержимое файлов, JSON-вывод и состояние Git. LLM-as-judge не использую. Готовый верификатор проверяю четырьмя способами:</p>
  <p id="YrXs">Проверка / Ожидание</p>
  <ul id="ncHx">
    <li id="GtAq"><strong>Oracle:</strong> эталонное решение, 5 запусков: Все проходят</li>
    <li id="Hr1H"><strong>Nop: </strong>ничего не делать: Не проходит</li>
    <li id="ZIos"><strong>Near-miss:</strong> почти правильное решение с одной ошибкой: Не проходит</li>
    <li id="hpws"><strong>Alternative correct:</strong> другая корректная реализация: Проходит</li>
  </ul>
  <p id="ey1S">Начинал я с 15 задач и сделал 3–5 итераций по всему набору: часть задач доработал, часть выкинул, осталось 10.</p>
  <p id="5zN5">Я проверяю верификатор на два типа ошибок:</p>
  <ul id="cYvi">
    <li id="Sumk"><strong>Правильное решение не засчитано (false negative). </strong>Например, тест ищет конкретную подстроку в сообщении об ошибке, и если модель сформулировала его иначе, решение не засчитывается, хотя оно верное.</li>
    <li id="UZig"><strong>Неправильное решение засчитано (false positive). </strong>Обычно потому, что тесты покрывают не каждое требование или проверяют решение не целиком.</li>
  </ul>
  <p id="3DYa">Из-за false negatives модели могут упираться в искусственный потолок: например, в 80%, если остальные 20% задач невозможно пройти из-за ошибок проверки. Из-за false positives модели получают баллы за неверные решения. Такие результаты ненадёжны, когда выбираешь сетап подешевле.</p>
  <h3 id="tSzN">Тупик: задача на полтора часа, которая решилась за минуту</h3>
  <p id="9YEw">Пару месяцев назад я потратил часа полтора, чтобы привести в порядок несколько веток и старых неразрешённых конфликтов в Git. Работая с агентом, я сильно перестраховывался, чтобы ничего не сломать. В sandbox оказалось, что последовательные git merge --ff-only по веткам дают тот же результат. Уже после первых прогонов было видно, что задача слишком лёгкая, и я её выкинул. Теперь я оцениваю сложность задачи по тестовым прогонам.</p>
  <h2 id="DfWc">Шаг 5 · Запустить прогоны</h2>
  <p id="L1a8">Harbor сам запускает агентов, повторяет попытки и собирает логи. У Harbor есть и <a href="https://github.com/harbor-framework/harbor/tree/main/skills" target="_blank">свои скиллы</a> для агентов. Пример команды:</p>
  <pre id="SJhe">harbor run -p tasks/ -a pi -m &lt;model&gt; \
  --ak thinking=medium -k 3 -n 5</pre>
  <p id="ZxXq">Для каждой конфигурации я смотрю результат каждой попытки, долю задач, решённых во всех трёх попытках, цену, время, число шагов и токенов.</p>
  <p id="iBt4">Я проверяю логи на инфраструктурные ошибки, таймауты и проблемы с сетью и учитываю такие сбои отдельно от ошибок модели.</p>
  <h2 id="iCfR">Шаг 6 · Разобрать траектории и доработать evals</h2>
  <p id="4TPh">После прогонов агент читает траектории (пошаговые записи того, что делали модели) и помогает найти лазейки и ошибки верификатора: где он отклонил правильное решение или засчитал неверное. Я проверяю его выводы, обновляю задачи и чиню верификатор.<br />После каждой новой серии прогонов я повторяю проверки из шага 4 и исправляю найденные проблемы, прежде чем сравнивать сетапы.</p>
  <h2 id="7I8P">Скилл для сборки своих evals</h2>
  <p id="6efe">Я сделал скилл <strong>evals-from-sessions</strong>, который автоматизирует эти шаги: извлекает задачи из сессий, готовит спецификации, собирает окружения Harbor и пишет верификатор. Сам я подключаюсь дважды: утверждаю задачу и требования до сборки и проверяю готовую задачу перед включением в набор. Можно также просто дать эту статью своему агенту как инструкцию.</p>
  <p id="tTnl">Скилл на GitHub: <a href="https://github.com/ibragim-bad/evals-from-sessions" target="_blank">github.com/ibragim-bad/evals-from-sessions</a></p>
  <p id="uCO9"><strong>Установка:</strong></p>
  <pre id="8Qne">npx skills add ibragim-bad/evals-from-sessions</pre>
  <p id="jCnf">Также можно установить как плагин Claude Code / Codex или через Pi:</p>
  <pre id="DXgh">pi install git:github.com/ibragim-bad/evals-from-sessions</pre>
  <p id="k7H0">Теперь я использую эти evals, чтобы сравнивать модели, агентов и инструменты на своих задачах. Самый дорогой сетап оказался не лучшим выбором для моей работы.</p>
  <p id="oKvC">Подписывайтесь <a href="http://t.me/c0mmit" target="_blank">@c0mmit</a>, чтобы не пропустить следующие тексты, и пишите вопросы в комментариях или в личку: как собрать свои evals, с чего начать, как устроены RL-окружения.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ibragim_bad/swe-rebench-2026-07</guid><link>https://teletype.in/@ibragim_bad/swe-rebench-2026-07?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ibragim_bad</link><comments>https://teletype.in/@ibragim_bad/swe-rebench-2026-07?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ibragim_bad#comments</comments><dc:creator>ibragim_bad</dc:creator><title>SWE-rebench Leaderboard: большое мультиязычное обновление</title><pubDate>Mon, 27 Jul 2026 19:58:06 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/6b/73/6b7398e7-c8c9-46b6-9c8d-14e868fc4578.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/6f/9d/6f9d8b68-9485-4c63-b18a-7b6928b9dabd.png"></img>В свежем релизе SWE-rebench мы собрали 111 задач на пяти популярных языках программирования, ужесточили фильтрацию и добавили аналитику на базе траекторий агентов. Лидеры: Fable 5, Grok 4.5, Opus 5, GLM-5.2 и GPT‑5.6 Sol. При этом GPT‑5.6 Sol резко выделяется эффективностью траекторий: модель показывает высокое качество при существенно меньшем числе действий.]]></description><content:encoded><![CDATA[
  <p id="7Tp6"><strong>TL;DR: SWE-rebench</strong> выходит за пределы Python. В новом релизе — 111 задач на пяти языках (<strong>Go, Java, Python, Rust, TypeScript</strong>), 13 моделей и 4 агента, по 5 прогонов на каждую пару «модель–задача»: 9 435 траекторий. Лидер по Pass@1 — <strong>Fable 5 64,5%</strong>, но разрыв в топе минимальный. Ещё мы поймали модели на попытках нагуглить оригинальные решения в интернете (примеры читинга приложили).</p>
  <figure id="iFni" class="m_column">
    <img src="https://img3.teletype.in/files/68/ba/68ba272d-4e3d-4097-8228-ff0ebe3d50e5.png" width="2170" />
  </figure>
  <h2 id="ATF7">Что такое SWE-rebench</h2>
  <p id="ZMaZ"><strong>SWE-rebench </strong>— динамический бенчмарк для кодовых агентов, который мы регулярно обновляем. Мы собираем свежие задачи на основе реальных PR из open-source-репозиториев на пяти языках: Go, Java, Python, Rust и TypeScript. Агент получает репозиторий и описание задачи, исследует код, вносит изменения и запускает тесты в рабочей среде.</p>
  <h3 id="a33a">Что добавили в этот релиз</h3>
  <ul id="3gbC">
    <li id="iNR4"><strong>Мультиязычный срез (111 задач):</strong> Go (21), Java (21), Python (20), Rust (25), TypeScript (24).</li>
    <li id="ievj"><strong>13 моделей + 4 готовых агента:</strong> проверили как отдельные модели в едином окружении (на базе SWE-agent), так и полноценные агентские продукты (Claude Code, Codex, Cursor, Junie).</li>
    <li id="A4hx"><strong>9 435 оценённых прогонов:</strong> каждая пара «модель–задача» запускалась по 5 раз для оценки воспроизводимости.</li>
    <li id="SZaZ"><strong>Контекст 524K токенов:</strong> увеличили окно, чтобы длинные сессии не обрывались из-за лимитов.</li>
  </ul>
  <h3 id="JXAO">Как читать результаты</h3>
  <p id="zFMx">Мы оцениваем модели по трём метрикам:</p>
  <p id="2mvf"><strong>Pass@1 </strong>— средний процент успеха с первой попытки (главный показатель «в среднем»).</p>
  <p id="yOe8"><strong>Pass@5</strong> — процент задач, решённых хотя бы в 1 из 5 попыток (максимальный потенциал модели).</p>
  <p id="VtXv"><strong>Pass all 5 </strong>— процент задач, решённых во всех 5 из 5 попыток.</p>
  <p id="3Pa6">Стоимость одного прогона (rollout) рассчитывается с учётом раздельной тарификации кэширования:</p>
  <pre id="oHEp" data-lang="python">cost = (
    input_tokens * price_in
    + output_tokens * price_out
    + cache_read_tokens * price_read
    + cache_create_tokens * price_create
) / 10**6</pre>
  <figure id="slOs" class="m_column">
    <img src="https://img4.teletype.in/files/7e/34/7e34b5eb-4e05-41de-873d-44b4758b4430.png" width="1504" />
    <figcaption>Больше моделей на странице <a href="https://swe-rebench.com/" target="_blank">лидерборда</a>.</figcaption>
  </figure>
  <ul id="rpp1">
    <li id="aSN3"><strong>Fable 5</strong> занимает первое место по <strong>Pass@1 = 64,5%.</strong></li>
    <li id="ExW5"><strong>Opus 5 </strong>демонстрирует наивысшую стабильность и воспроизводимость: решает во всех пяти попытках <strong>52,3%</strong> задач.</li>
    <li id="KvYV"><strong>GLM-5.2</strong> имеет самый широкий потенциальный охват:<strong> Pass@5 = 81,1%</strong>, хотя воспроизводит результат реже лидеров.</li>
    <li id="rcF8"><strong>GPT‑5.6 Sol</strong> показывает экономичность: качество на уровне лидеров при расходе всего около 0,6 млн токенов на задачу.</li>
  </ul>
  <p id="LRMH">Прогоны некоторых моделей в их нативных обёртках показали результат ниже. Анализ траекторий объясняет почему: универсальные агенты оптимизированы под широкий спектр пользовательских сценариев. Наше же окружение (harness), архитектурно близкое к стандартному SWE-agent, заточено строго под цикл решения SWE-задач.</p>
  <p id="2ods">Детальные конфигурации, prompts и лимиты действий доступны в разделе <strong>Insights</strong> на странице <a href="https://swe-rebench.com/" target="_blank">SWE-rebench Leaderboard</a>.</p>
  <h3 id="Whtu">Среднее качество против воспроизводимости: зачем смотреть на Pass all 5</h3>
  <p id="2YzB">В реальной разработке инженер обычно запускает кодового агента один раз, а не пять раз параллельно в надежде выбрать удачный результат. Вероятность успеха отдельного запуска описывает <strong>Pass@1,</strong> но она не показывает, насколько результат воспроизводим от попытки к попытке. Для этого нужен <strong>Pass all 5</strong> — доля задач, решённых во всех пяти прогонах.</p>
  <ul id="ieap">
    <li id="g5u5"><strong>Высокая стабильность: Opus 5 (52,3%) и Fable 5 (51,4%) </strong>демонстрируют лучшую повторяемость в текущем наборе.</li>
    <li id="TMfe"><strong>Широкий охват при меньшей стабильности: GLM-5.2 </strong>лидирует по потенциальному охвату с <strong>Pass@5 = 81,1%,</strong> но её <strong>Pass all 5 </strong>составляет <strong>39,6%</strong>. Модель добирается до большего числа задач, однако реже воспроизводит успех во всех попытках.</li>
    <li id="VkHY"><strong>Самый заметный разрыв</strong>: <strong>MiniMax M3 </strong>хотя бы раз решает 69,4% задач, но во всех пяти прогонах — только 20,7%.</li>
  </ul>
  <p id="9ahT">Именно совместное чтение<strong> Pass@1, Pass@5 и Pass all 5</strong> отделяет среднее качество от потенциального охвата и воспроизводимости.</p>
  <p id="eyhG"></p>
  <h3 id="GYUU">Некоторые модели пытаются «читерить» и как мы такое ловим </h3>
  <p id="kq9Z">В тестовых контейнерах полностью вырезана будущая Git-история, однако у агентов остаётся доступ в интернет для чтения документации и получения внешних зависимостей. Это создаёт риск, что вместо самостоятельного решения агент найдёт оригинальный pull request, commit или готовый patch.</p>
  <p id="rZDf">В первых прогонах (1-я волна) системный промпт не содержал явного запрета на поиск исходного решения. Чтобы оценить, насколько модели склонны к поиску решений в интернете, мы анализировали их траектории. Фильтры траекторий находили попытки искать хэши, pull request и patches через &#x60;curl&#x60;, GitHub API, поисковые запросы и обработку ответов с помощью &#x60;grep&#x60;. Такие траектории исключались и отправлялись на чистый rerun с обновлённым prompt.</p>
  <p id="3P4F">Исторические волны очистки по отдельным моделям:</p>
  <figure id="Yha7" class="m_column">
    <img src="https://img2.teletype.in/files/15/85/15858e55-0b2f-4286-8cd5-511b3d553d58.png" width="2198" />
  </figure>
  <p id="63Gr"></p>
  <h3 id="chPW"><strong>Примеры читинга:</strong></h3>
  <figure id="fCym" class="m_column">
    <img src="https://img4.teletype.in/files/bf/e6/bfe6800b-4c9a-42de-a4d2-b8d1e62f47a2.png" width="1794" />
    <figcaption>GPT-5.6-Sol наивный промпт</figcaption>
  </figure>
  <p id="VXcd">А вот пример из траектории <strong>Grok-4.5,</strong> который даже после явного запрета подсматривал решения.</p>
  <figure id="RCg8" class="m_column">
    <img src="https://img1.teletype.in/files/0a/9e/0a9e521f-a72c-4627-b958-c9b60c972786.png" width="1806" />
  </figure>
  <p id="4xUc"></p>
  <h3 id="jNri">Срез по языкам программирования</h3>
  <blockquote id="NwLR"><strong>&gt; Дисклеймер:  </strong>любой бенчмарк — это фиксированная выборка задач. В этом релизе на каждый язык приходится от 20 до 25 задач, поэтому высокий результат подсвечивает специализацию на текущем наборе, но не гарантирует абсолютного превосходства на любых проектах этого языка. Лучшие результаты выделены в таблице.</blockquote>
  <p id="fnU6"></p>
  <figure id="nAY4" class="m_retina">
    <img src="https://img4.teletype.in/files/b6/e5/b6e5272f-bff1-44dd-b6bb-6b196352c705.png" width="1103" />
    <figcaption>На каждый язык приходится 20–25 задач. Обведён лучший результат в колонке.</figcaption>
  </figure>
  <h3 id="KrOV">Ключевые наблюдения:</h3>
  <ul id="VJ8e">
    <li id="Pzlu"><strong>Rust: </strong>GPT‑5.6 Sol показывает лучший результат — 68,0%.</li>
    <li id="F77F"><strong>Go: </strong>лидирует Fable 5 с 74,3%.</li>
    <li id="ydO0"><strong>TypeScript: </strong>лучший результат у Opus 5 — 78,3%. При этом MiniMax M3, заметно уступающая в общем зачёте, достигает 61,7%.</li>
    <li id="WXAF"><strong>Python:</strong> лучший точечный результат у GLM-5.2 — 57,0%.</li>
    <li id="aHdn"><strong>Java:</strong> среди моделей общего scaffold лидирует Grok 4.5 с 60,0%. В объединённом зачёте Junie на базе Grok 4.5 достигает 62,9%, но это уже результат всей агентной системы.</li>
  </ul>
  <p id="Kc8L"></p>
  <h3 id="DM8e">Эффективность траекторий и поведение моделей</h3>
  <p id="1ZBz">Количество шагов и расходуемых токенов кардинально различаются даже у моделей одного уровня точности.</p>
  <blockquote id="D8hA"><strong>Замечание по времени:</strong> wall time сильно зависит от инфраструктурной загрузки, пропускной способности API и сетевых задержек. Он даёт полезную опорную точку, но не изолирует скорость самой модели. Например, Grok 4.5 завершает медианную траекторию за 8,9 минуты при среднем расходе 2,4 млн токенов — быстрее нескольких моделей с сопоставимым или меньшим объёмом контекста.</blockquote>
  <figure id="BZDa" class="m_retina">
    <img src="https://img2.teletype.in/files/98/de/98de2c2c-69f2-4370-8cc3-6d29c27397d3.png" width="1099" />
  </figure>
  <h3 id="3sHW">В чём секрет GPT‑5.6 Sol?</h3>
  <p id="uECs">GPT‑5.6 Sol делает в среднем всего 18,4 действия на задачу! Для сравнения: GLM-5.2 совершает 94 действия, а Sonnet 5 — 74.</p>
  <p id="76oO">У Sol короткий и плотный цикл: минимум поиска → точечное чтение → правка → запуск тестов.</p>
  <p id="KS8M">Каждое 5-е действие Sol (19,9%) — это запуск тестов (у Grok — 10,6%, у Fable — 16,1%).</p>
  <p id="9gfG">Почему Codex (на базе Sol) тратит больше токенов, чем чистый Sol в нашем агенте? Codex делает больше шагов и вынужден многократно перечитывать разросшуюся историю контекста.</p>
  <p id="3MsO">При этом почти все дополнительные токены — дешёвые cache-read, а не новый ввод модели.</p>
  <figure id="eFVF" class="m_retina">
    <img src="https://img1.teletype.in/files/0e/78/0e78f10e-046f-41fd-8d35-998f90a49e9d.png" width="1092" />
  </figure>
  <h2 id="R0wD">Как выглядит пайплайн подготовки данных:</h2>
  <ol id="B7gO">
    <li id="CY01"><strong>Воронка отбора:</strong> из пула в 5 000+ реальных PR за июнь 2026 года мы отобрали более 450 кандидатов и собрали для них Docker-образы. После прогона через модели и повторного QA в финальный срез выбрали 111 задач. Мы отсеяли тривиальные задачи, задачи с плохим описанием или те, что требуют недоступного внешнего контекста.</li>
    <li id="qqVk"><strong>Доработка тестов:</strong> чтобы исключить неоднозначности, мы привлекали агентов к расширению и переписыванию автотестов, а затем прогоняли их на моделях разного уровня (от слабых до сильных). Это гарантирует, что тесты проверяют именно суть проблемы, а не падают из-за случайных мелочей.</li>
  </ol>
  <h2 id="HfXS">Как мы предотвращаем читинг и подглядывание решений</h2>
  <p id="ZOgV">Чтобы оценки были честными, а агенты не «списывали» решения из интернета или истории Git, мы защищаем бенчмарк на нескольких уровнях:</p>
  <ol id="fpJp">
    <li id="mn9b"><strong>Оценка в чистом контейнере: </strong>извлекается только созданный агентом patch и прогоняется в свежем Docker-контейнере с эталонными (скрытыми) тестами. Агент не может пройти проверку, просто отредактировав тесты под себя.</li>
    <li id="flfS"><strong>Очистка Git-истории:</strong> из репозитория удаляются все будущие коммиты и упоминания оригинального PR.</li>
    <li id="AA0s"><strong>Промпт-ограничения:</strong> системный промпт явно запрещает искать оригинальные PR и патчи во внешних источниках.</li>
    <li id="AFlb"><strong>Аудит логов (траекторий): </strong>все прогоны проверяются на аномалии: поиск хэшей коммитов, обращения к GitHub API или скачивание .patch-файлов.</li>
  </ol>
  <h2 id="JwLG">Выводы</h2>
  <p id="0l8y">1. Каждый бенчмарк <strong> подсвечивает разные свойства моделей, но не является универсальным мерилом.</strong> Для собственных проектов проверяйте, что ваши задачи похожи на задачи бенчмарка, либо соберите свой небольшой эвал.</p>
  <p id="jYZO">2.<strong> Делайте несколько запусков и смотрите на разные метрики, а не только pass@1.</strong> Один rollout даёт слишком шумную картину. Стоимость задачи, pass all 5 и другие метрики важны, если вы масштабируете использование модели. </p>
  <p id="Wyms">3. <strong>Аудит траекторий — критическая часть evals. </strong>Чем умнее становятся модели, тем сложнее ловить их на читинге, и аудит траекторий будет требовать всё больше ресурсов.</p>
  <h3 id="7jVz">Что дальше?</h3>
  <p id="tnY2">Следующий релиз SWE-rebench планируется через 3–4 недели.</p>
  <p id="s7OR">В планах:</p>
  <ul id="T3Gq">
    <li id="zEKO"><strong>Локальные модели: </strong>расширить пул моделей для локальной разработки. Laguna-S-2.1, MiMo V2.5 и другие. Пожалуйста, напишите, какие модели вы хотите здесь увидеть.</li>
    <li id="a5qC"><strong>Новые флагманы: </strong>прогнать свежие версии Gemini и Kimi, которые не вошли в этот релиз.</li>
    <li id="6tTH"><strong>Reasoning budgets для моделей gpt и opus</strong>.</li>
  </ul>
  <p id="fBVC">Детальные результаты, задачи и исходные pull request доступны на странице <a href="https://swe-rebench.com" target="_blank">SWE-rebench Leaderboard.</a></p>
  <h3 id="f1nn">Присоединяйтесь к сообществу</h3>
  <p id="zqfG">Следите за анонсами и обсуждайте задачи в нашем <a href="https://discord.gg/V8FqXQ4CgU" target="_blank">Discord</a> — там мы публикуем свежие задачи немного раньше официальных релизов.</p>
  <p id="lmO3">Подписывайтесь на канал <a href="http://t.me/c0mmit" target="_blank">@c0mmit </a>— там я публикую свежие апдейты. Буду рад обсудить результаты и ответить на ваши вопросы в комментариях!</p>

]]></content:encoded></item></channel></rss>