Вайб-кодер обычно лечит слабый ответ новой моделью. Бумага Scaling Harness Intelligence via Just-in-Time Harness Evolution (JIT-Agent, LV-NUS, arXiv:2608.25593) ставит другую ось: способность агента держит не только вес модели, а harness — память, планирование, протокол действий, оркестрация тулов и скиллов. Мета-модель на лету собирает обвязку под задачу и сажает в неё обычный агентный LLM. Зацепка из ленты 30 августа, не рерайт треда: цифры ниже — из самой статьи, не из чужого скрина.
Это не курс и не обещание, что ты «ставишь JIT-Agent как Codex». На Hugging Face и GitHub лежит исследовательский контур (генератор учили с Qwen3.6-27B). Практический вывод для сборки своего агента: не таскай один ReAct на ресёрч, рефакторинг и длинный план. Ниже — что бумага показала, какие четыре модуля имеет смысл копировать руками, и чего не выдумывать. Сосед по runtime DeepSeek: DeepSeek Harness и кэш префикса. Сосед по окну нескольких агентов: Codex Host.
Цифры как в статье, не «на пальцах»
Таблица 3 бумаги. Vanilla DeepSeek-V4-Flash на DeepSearchQA — 76.2. Тот же Flash с JIT-сгенерированным harness — 85.1. Vanilla GPT-5.6 на том же бенчмарке — 76.0. То есть более лёгкий открытый Flash с чужой обвязкой обошёл более сильную закрытую модель с её дефолтным контуром. На OdysseyBench бумага даёт Flash+JIT плюс 4.3 к GPT-5.6; на PinchBench — плюс 8.7. Это не «Flash умнее GPT», это пара модель+harness.
GLM-5.2 в той же таблице и так сильный. С JIT потолок поднимается дальше: среднее по девяти бенчмаркам 74.1→81.8 (+7.7). Максимальный абсолютный скачок, который авторы сами выделяют: DeepPlanning-Travel 62.8→83.0 (+20.2). У Flash средний рост 66.7→75.5 (+8.8), на DeepPlanning-Shopping 59.1→83.9. Во всех 18 прямых парах «тот же backbone, другой harness» JIT-обвязка была выше дефолта. Это главный тезис, не частный лидерборд.
Таблица 4 — контроль: один и тот же Flash, меняется только harness (Claude Code, Codex, OpenCode, Hermes, NanoBot vs JIT). На DeepSearchQA JIT даёт 85.1 при ~400K токенов на кейс и $0.066. Сильнейший фиксированный harness там NanoBot: 80.4 при ~924K и $0.131. Claude Code: 79.6 при ~625K. OpenCode жрёт ещё больше токенов при более слабом результате. Авторы отдельно пишут: JIT имел наименьший расход токенов и API-стоимости во всех шести контролируемых постановках, среднее снижение цены кейса около 36% относительно самого дешёвого фиксированного harness. Коротко: выигрыш не куплен длинным тредом. Обвязка короче и избирательнее.
Оговорки, без которых цифра врёт. Это бенчмарки авторов, не прод твоего репозитория. GPT-5.6 в таблице — их замер на тех же задачах, не твой ChatGPT. «Performance-competitive with OpenCode and Claude Code» — про harness как runtime на фиксированном backbone, не про то, что JIT заменяет Claude Code в терминале. Генератор — 27B, не кнопка в IDE. Не пиши в ТЗ «включили JIT — обошли GPT».
Четыре модуля, не «ещё system prompt»
Бумага фиксирует harness четвёркой: память (M), планирование (P), действие (A), оркестрация способностей (F — тулы и скиллы). Протокол общий, поведение разное. ReAct в их записи — полная история, без явного планировщика, полный реестр тулов. Codex/OpenCode-подобные — сжатие истории у края контекста плюс todo. Рекурсивные схемы — изоляция подзадач и делегирование. JIT не склеивает готовые куски как Lego из README. Он инстанцирует модули под структуру задачи.
В визуализациях это видно без формул. Задача «собери контакты, отфильтруй, положи в таблицу, отправь почтой» получает граф зависимостей, память артефактов и ограниченную ширину/глубину. Задача «кто этот человек по цитате, мемуару и paper» получает динамическую декомпозицию, делегата с бюджетом шагов и граф фактов — не тот же DAG. Один генератор, два разных протокола. Для вайб-кодера мораль проще формулы: если твой агент на ресёрче и на рефакторинге ходит одним и тем же ReAct с полным набором MCP, ты уже оставил на столе то, что бумага меряет двузначными пунктами.
Ahead-of-Time vs Just-in-Time. AOT — долго крутишь один универсальный harness и надеешься, что он подойдёт следующей задаче. JIT — собираешь обвязку, увидев задачу. Универсальный «наш стандартный агент» удобен команде и вреден хвостам: глубокий поиск хочет параллельные ветки evidence, терминал — тонкий serial ReAct, репозиторий — файлы, патчи, тесты как состояние, не как простыня чата. Один AOT-шаблон это не покрывает, если не раздувать его до нечитаемого комбайна.
Что копировать в свой сетап
Не надо поднимать их трёхстадийное обучение и Evo-GDPO. Надо украсть привычку: обвязка зависит от типа задачи. Практический чеклист, который можно внедрить сегодня в Claude Code, Codex, DeepSeek Harness или самописный цикл — без претензии «мы запустили JIT-Agent».
- Память под задачу, не «весь чат навсегда». Ресёрч: храни факты с источником, в контекст следующего шага не тащи сырой HTML. Рефакторинг: храни список файлов, падающих тестов и уже отвергнутых гипотез, не стенограмму thinking. План с ограничениями: чеклист «что ещё не собрано», без которого финальный ответ запрещён. Бумага как раз показывает, что часть выигрыша — как модель видит историю, не сколько её накопила.
- Планировщик не всегда нужен, но когда нужен — явный. Короткий баг: serial ReAct, todo мешает. Миграция из пяти зависимых шагов: DAG или хотя бы нумерованный критерий, который агент не имеет права переставлять молча. Не «подумай как senior». «Шаг 2 не стартует, пока зелёный тест шага 1».
- Тулы режь по фазе. На этапе поиска не давай commit и деплой. На этапе патча не давай десять поисковых MCP «на всякий случай». Бумага отдельно оркестрирует capability: реестр полный, на шаге открыт поднабор. У тебя это skills, MCP allowlist, отдельные субагенты. Полный реестр на каждый ход — это и шум, и токены.
- Действие с бюджетом. Делегат на ресёрч с потолком шагов. Ревью в отдельном треде, как в Codex Host, а не «тот же чат, но вежливее». Гонка двух агентов по одним файлам — не harness, это каша.
- Мери расход, не только «получилось». Если после смены обвязки ответ лучше, но токенов в три раза больше — ты купил качество длиной, бумага как раз показывает обратный случай. Смотри usage. Про цену токена у нас отдельно: сколько стоят токены Claude и GPT.
Минимальный рабочий шаблон на неделю. Три пресета, не один:
- Баг/дифф. Короткая память (файл + тест + гипотеза), без планировщика, тулы: чтение, патч, тест. Всё.
- Ресёрч. Память фактов с URL, явный список открытых вопросов, поиск и чтение, финальный ответ закрыт, пока есть пустые ячейки.
- Фича с артефактом. Todo/DAG, память артефактов (схема, патч, лог теста), тулы сборки только после зелёных проверок на узле.
Переключение пресета — руками или отдельным скиллом в начале чата. Не ждать, что модель «сама поймёт жанр» после трёх абзацев вежливого ТЗ. Если жанр смешанный — два треда, как делегирование, не один комбайн.
Чего не копировать и не обещать
- Не обещай команде продукт JIT-Agent в проде. Сайт и GitHub авторов — исследовательский релиз. Генератор чинят и эволюционируют harness в их протоколе, не в твоём монорепо.
- Не переноси цифру 85.1 на свой поиск по документации. DeepSearchQA — их бенчмарк. Твой корпус другой.
- Не делай из «меньше токенов» универсальный закон. На AgentIF у Flash JIT чуть слабее Claude Code (63.8 против 66.9), зато дешевле. Это фронтир, не победа везде.
- Не скармливай агенту академический курс вместо обвязки. Веса важны. Без памяти и резаных тулов новый вес просто дороже ошибается.
- Не путай JIT-harness с Persistent mode Codex и с /goal у нуля. Там жизнь сессии и квота. Здесь — форма цикла. Ссылки: Persistent, /goal при 0%.
DeepSeek Harness из соседней статьи — production-превью со плагинами и кэшем префикса. JIT-Agent — генератор обвязки под инстанс. Их можно держать в одной голове: dsh даёт стабильный runtime и cache hit; мысль JIT — не надеяться, что один пресет dsh идеален и для поиска, и для репозитория. Минимальный режим Harness как раз для честного замера модели. Боевой пресет — уже выбор обвязки. Бумага говорит: этот выбор можно делать на задачу, не раз в квартал.
Как проверить на своей неделе
Без их модели. Возьми одну повторяющуюся боль — например, «агент теряет ограничения к середине фичи» или «ресёрч сжигает квоту на сырые страницы».
- Зафиксируй текущий harness: какие тулы открыты, есть ли todo, что попадает в следующий запрос.
- Собери узкий пресет из чеклиста выше. Один тип задачи. Не «улучшим агента вообще».
- Прогони 5–10 одинаковых по жанру задач. Смотри не только «сделал / не сделал», а токены, число тул-коллов, сколько раз пришлось останавливать руками.
- Если стало лучше и дешевле — оставь пресет. Если лучше и в три раза дороже — ты удлинил цикл, не собрал harness.
- Не мешай пресеты в одном треде. Новый жанр — новый тред или явное «с этой минуты режим ресёрч».
Это белая дисциплина, не обход лимита. Квота Claude с 14 сентября станет теснее относительно августа: +25% навсегда и конец +50%. Как раз момент не покупать качество длиной треда. GLM как coding-план — соседний разбор GLM и код: модель другая, урок тот же — runtime решает, не только имя чекпоинта.
Железо здесь вторично. Лаборатории скупают Mac mini под RL сред, это другая петля. JIT-мысль живёт и на облачном API, и на локальной 27B. Сначала обвязка под задачу, потом спор про Studio vs 3090.
Коротко
JIT-Agent — исследовательская мета-модель, которая на лету собирает harness из памяти, плана, действия и тулов. В бумаге DeepSeek-V4-Flash на DeepSearchQA 76.2→85.1 при GPT-5.6 76.0; GLM-5.2 до +20.2 на Travel; токенов меньше, чем у фиксированных Claude Code/Codex/OpenCode на том же Flash. Это не кнопка в твоей IDE и не повод выкинуть модель. Это повод перестать гонять один ReAct на все жанры. Копируй три пресета и режь тулы по фазе. Не копируй лидерборд в КП. Канон: arXiv:2608.25593. Соседи: DeepSeek Harness, Codex Host, цена токена. Витрина — vibe-studio.uk.
