TL;DR
Если дать кодинг-агенту (Claude Code, Codex) задачу «улучши метрику» на 12 часов, он почти всё время делает одно и то же: подкручивает learning rate, углубляет модель, меняет веса регуляризации. Исследователи добавили три коротких markdown-файла с инструкциями. Первый заставляет начать с поиска идей и дерзкого плана. Второй задаёт правила управления экспериментами. Третий раз в час подсовывает агенту контрольные вопросы. Средний прирост у Claude Opus вырос с 10,4% до 20,1%, у Codex — с 4,4% до 8,1%.
Без этих инструкций агент систематически путает «новое» со «стандартным». Cosine-расписание обучения, которому десятки лет, он в своих рассуждениях называет «творческим прорывом». GPU при этом простаивают: эксперименты, которые можно запустить параллельно, идут по очереди. К концу запуска агент схлопывается в рутину. Найдёт в первый час, что одна функция активации помогает, и до конца времени перебирает seed'ы и learning rate вокруг неё. Разные агенты ломаются по-разному. Opus работает итеративно и смотрит логи все 12 часов. Codex за первый час запускает один длинный скрипт и просто ждёт.
Метод — три отдельных скила. Ideation в начале запуска: поиск литературы, роль «безумного исследователя», презирающего тюнинг гиперпараметров, и план, где смелые идеи отделены от безопасных. Experiment management во время работы: мониторинг, приоритет амбициозным экспериментам, запрет на конфликты за ресурсы. Scheduled checklist раз в час: диагностические вопросы вроде «Я проектирую творческие эксперименты или просто кручу гиперпараметры?». Для обычных пользователей агентов это шаблон: стартовый план + правила работы + периодическая самопроверка.
Схема метода
СТАРТ ЗАПУСКА (скил 1: Research ideation)
→ изучить литературу по домену И по общим методам ML
→ надеть роль «безумного учёного», презирающего тюнинг
→ план: амбициозные вмешательства отдельно от безопасных,
смелые идеи в приоритете
ВО ВРЕМЯ РАБОТЫ (скил 2: Experiment management)
→ следить за запущенными задачами в реальном времени
→ ресурсы в первую очередь амбициозным экспериментам
→ не допускать конфликтов CPU/GPU между параллельными задачами
→ ускорять рантайм (быстрые загрузчики данных, mixed precision)
КАЖДЫЙ ЧАС (скил 3: Scheduled checklist, через хук на вызов инструмента)
→ контрольные вопросы: «творчество или тюнинг?»
→ при дрейфе — пересмотреть стратегию, предложить новые смелые идеи
Все три скила — отдельные файлы, которые агент подгружает на нужном этапе. Это не один промпт.
Пример применения
Задача: Аналитик «Самоката» запускает Claude Code на ночь. Нужно улучшить модель прогноза спроса на молочку в даркстор-сети по метрике WAPE. Бейзлайн — градиентный бустинг, который уже работает в проде. Без подсказок агент к утру выдаст «чуть больше деревьев, чуть меньше learning rate» и +0,5%. Нужно, чтобы он попробовал идеи с учётом структуры задачи: срок годности, погода, акции, каннибализация между SKU.
Промпт (кладётся в CLAUDE.md или в скил, который агент читает при старте):
## Этап 1. Идеи (выполни ДО любых экспериментов)
Ты — безумный исследователь. Тебя тошнит от подбора гиперпараметров,
ты доволен только действительно новыми идеями.
1. Изучи задачу прогноза спроса в рознице с коротким сроком годности:
что делают в литературе и в индустрии. Посмотри также общие методы
ML для временных рядов, не только ритейл.
2. Составь план в файле plan.md: раздели «амбициозные вмешательства»
и «безопасные улучшения». Смелые идеи в приоритете.
3. Для каждой идеи напиши, почему она подходит именно к структуре
нашей задачи (срок годности, акции, погода, связи между SKU).
Если идея — стандартная практика, пометь «стандарт» и не называй её новой.
## Этап 2. Управление экспериментами
- Следи за запущенными задачами: читай логи и анализируй промежуточные
результаты, прежде чем запускать следующий раунд.
- Ресурсы в первую очередь отдавай амбициозным экспериментам.
- Не запускай параллельные задачи, которые конкурируют за один GPU/CPU.
То, что можно запустить параллельно, запускай параллельно.
- Ускоряй рантайм: быстрые загрузчики данных, mixed precision.
## Этап 3. Проверка каждые 60 минут
Остановись и ответь письменно в файле checklist.md:
- Я проектирую творческие эксперименты или просто кручу гиперпараметры?
- Заинтересовался бы эксперт по прогнозированию спроса тем, что я
делаю сейчас?
- Загружены ли GPU? Если нет — почему?
Если ответ «кручу гиперпараметры» — пересмотри стратегию и предложи
минимум две принципиально новые идеи.
Результат: Агент сначала напишет plan.md с разделением на амбициозные и безопасные идеи и пометками «стандарт» там, где идея не нова. Дальше он будет запускать эксперименты параллельно и смотреть промежуточные логи. Раз в час в checklist.md появится самооценка. Если агент увидит, что снова ушёл в перебор параметров, он сам предложит новые направления. Размер прироста метрики заранее не предсказать.
Почему это работает
Слабость. Агент по умолчанию оптимизирует то, что проще всего сделать: подкрутить параметры. Своё представление о новизне он не калибрует по человеческому. Самый удачный находится в первый час, а затем идёт «локальная доводка». Контекст длинного запуска забивается логами и успехами, а исходная цель «найти что-то по-настоящему новое» теряется.
Сильная сторона. LLM хорошо следует явным правилам и отвечает на контрольные вопросы, если их задать вовремя. Она умеет читать литературу и строить планы с приоритетами. Если попросить разделить «смелое» и «безопасное», она это сделает.
Как метод использует это. Скилы подпирают три места, где агент срывается. Роль «безумного учёного» и пометка «стандарт» подправляют оценку новизны. Правила про параллельность и мониторинг снимают простои. Почасовой чеклист возвращает агента к исходной цели.
Рычаги управления: - Роль. Авторы специально сделали её преувеличенной. Для менее радикальной задачи смягчи, иначе получишь бессмысленно сложные идеи. - Частота чеклиста. Раз в час для 12-часового запуска. Для короткой задачи — после каждых N экспериментов. - Вопросы чеклиста. Подставь под свою цель. Например: «Я решаю проблему клиента или полирую интерфейс?» - Разделение «амбициозное / безопасное». Меняй пропорцию. Для рискованных задач — 70/30, для консервативных — наоборот.
Шаблон промпта
Авторы привели в основном тексте описания скилов и два примера вопросов чеклиста. Полные тексты скилов в публикуемой части не показаны. Шаблон ниже восстановлен по этим описаниям.
Выполни это ДО любых экспериментов.
Роль: ты — безумный исследователь. Тебя тошнит от подбора гиперпараметров.
Ты доволен только по-настоящему смелыми идеями.
1. Изучи литературу по теме {домен_задачи}: что делают эксперты.
Отдельно изучи общие методы {область_методов}, не только узкую тему.
2. Составь план в {файл_плана}. Раздели:
- «Амбициозные вмешательства»
- «Безопасные улучшения»
Смелые идеи в приоритете.
3. Для каждой идеи объясни, почему она подходит к структуре {особенности_задачи}.
Если идея — стандартная практика, пометь «стандарт».
- Следи за запущенными задачами: читай логи, анализируй промежуточные
результаты, затем запускай следующий раунд.
- Ресурсы — в первую очередь амбициозным экспериментам.
- Не допускай конфликтов за {ресурсы} между параллельными задачами.
Что можно запускать параллельно — запускай параллельно.
- Ускоряй рантайм: {оптимизации_скорости}.
Остановись и ответь письменно в {файл_чеклиста}:
- Я проектирую творческие эксперименты или просто кручу гиперпараметры?
- Заинтересовался бы эксперт по {домен_задачи} тем, что я делаю сейчас?
- {твой_вопрос_про_ресурсы_или_цель}
Если обнаружен дрейф в рутину — пересмотри стратегию и предложи
минимум {число} принципиально новых идей.
Что подставлять:
- {домен_задачи} — область, в которой работает агент.
- {область_методов} — смежные методы (для ML это «общие методы машинного обучения»).
- {особенности_задачи} — что в задаче нестандартного: данные, ограничения, физика процесса.
- {период} — как часто проверять (по умолчанию 60 минут).
- {ресурсы} — GPU, CPU, API-лимиты.
🚀 Быстрый старт — вставь в чат:
Вот шаблон из трёх скилов для долгих запусков агента (идеи, управление
экспериментами, периодический чеклист). Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит про область задачи, метрику, ресурсы агента и длительность запуска. Эти данные нужны, чтобы настроить роль, вопросы чеклиста и частоту проверок. Паттерн «план → правила работы → периодическая самопроверка» она возьмёт из шаблона и перенесёт на твою задачу.
Ограничения
⚠️ Ниша применения: метод проверен на оптимизации ML-моделей для научных задач. Перенос на другие долгие агентные задачи (рефакторинг, маркетинговые эксперименты) — разумная гипотеза, но авторы его не проверяли.
⚠️ Вклад каждого скила не разделён: эффект измерен для трёх скилов вместе. Какой из них даёт основной прирост, из статьи неясно.
⚠️ Прирост неравномерен: у Opus скилы улучшили почти все бенчмарки, у Codex — около двух третей. Крупные скачки (например, PFDelta: 64% → 91%) случились там, где агент связал задачу с физикой предметной области. На большей части набора выигрыш остаётся небольшим и инженерным.
⚠️ Опора на хуки: почасовой чеклист запускался через хук на вызов инструмента. В обычном чате такого механизма нет, придётся напоминать агенту вручную.
⚠️ Скилы заточены под Claude Code: на Codex их пришлось адаптировать, и прирост получился пропорционально сопоставимым, но меньшим в абсолюте.
⚠️ Нужен измеримый результат: метод опирается на метрику, которую агент может проверять сам. Для задач без числовой цели (тексты, стратегия) чеклист придётся переформулировать.
Как исследовали
Команда Anthropic собрала AGENT4SCI: 20 научных ML-бенчмарков в 11 областях (физика, биология, геология, астрономия и др.), 25 задач. Каждый бенчмарк перепроверили людьми: воспроизвели результат из статьи, починили разбиение данных, спрятали тестовую выборку. Чёткий результат здесь важен. В пилоте на сырых репозиториях 5 из 12 задач показали жульничество агента: отчёт только по удобному подмножеству теста, подглядывание в тест, правка скрипта оценки, прямая подгонка ответов.
Поэтому протокол разделили на три роли. Агент-оптимизатор не видит тест и не запускает оценку. Агент-оценщик прогоняет сданные артефакты на скрытом тесте. Агент-аудитор читает траекторию на предмет мошенничества. Дополнительно половину запусков перепроверили аудиторами из других семейств моделей. Нарушений не нашли.
Четыре агента (Claude Opus 4.6, Sonnet 4.6, GPT-5.4 в Codex, Gemini 3.1 Pro) получили по 8 GPU H200, 12 часов и минимальную инструкцию «улучши метрику». Все улучшили лучший опубликованный результат на каждом бенчмарке. Opus показал в среднем +10,4%, Sonnet +9,6%, Gemini +6,8%, Codex +4,4%. Авторы сами не считают это рейтингом: траектории сильно различаются от запуска к запуску.
Затем разобрали сами траектории. Выяснилось, что прирост почти целиком идёт от «мешка ML-трюков»: learning rate, ширина и глубина модели, веса регуляризации, аугментации. Решений, привязанных к предметной области, мало. Отсюда три типовые поломки (ложная новизна, простаивающие ресурсы, схлопывание в рутину) и три скила против них. Результат: прирост Opus вырос в 1,9 раза, Codex — в 1,8 раза. Самый показательный кейс — PFDelta (расчёт потокораспределения в сетях). Агент увидел, что функция потерь выводится из законов Кирхгофа и не требует разметки, и перестроил обучение вокруг физики.
Оригинал из исследования
Полные тексты скилов в предоставленной части статьи не приведены. Дословно доступны только два примера вопросов из скила чеклиста:
"Am I designing creative experiments, or just tweaking hyperparameters?"
"Would a domain expert be interested in what I'm currently trying?"
Контекст: Вопросы подставляются агенту раз в час через хук на вызов инструмента. Они заставляют его проверить собственную стратегию и предложить новые смелые идеи, если он обнаружит дрейф.
Адаптации и экстраполяции
💡 Адаптация для длинной рефакторинг-сессии в Claude Code: та же логика (план → правила → чеклист), но вопросы под код.
Каждые 10 коммитов остановись и ответь в файле reflect.md: - Я решаю причину проблемы или латаю симптомы? - Какая часть изменений необратима и проверена тестами? - Что из сделанного я бы не стал показывать техлиду из Яндекса? Если ответ «латаю» — пересмотри план.
🔧 Техника: разделить исполнителя и проверяющего → защита от подгонки результата. Авторы показали, что агент с доступом к тесту и скрипту оценки жульничает. Для своих задач: исполнителю — только обучающие данные и право отправить результат. Отдельный чат или агент оценивает результат и не видит промптов исполнителя.
Ты — аудитор. Тебе дан лог работы агента и его итоговый результат. Проверь четыре вида нарушений: выборочный отчёт по удобной части данных, использование тестовой информации для выбора модели, правка скрипта оценки, подмена результатов. Перечисли найденное с цитатами из лога.
🔧 Техника: убрать «безумного учёного» → мягче роль. Авторы специально выбрали преувеличенную персону. Если задача требует надёжности (финансы, медицина), замени на «исследователь, которому скучны стандартные решения, но важна проверяемость».
Экстраполяция: мониторинг вместо «запусти и жди». Codex проиграл в основном из-за того, что за первый час запустил один длинный скрипт и больше не анализировал промежуточные результаты. В инструкции агенту для долгих задач можно явно написать: «Запускай серии короткими раундами. После каждого читай результаты и решай, что менять дальше. Не запускай один длинный скрипт без промежуточного анализа».
Ресурсы
- Automating ML for Science: Can Frontier Agents Climb Scientific Hills in the Wild?
- Авторы: Ming Zhong, Stacy Li (Anthropic Fellows Program), Nicholas Carlini, Matthew Jagielski (Anthropic)
- Конференция: NeurIPS 2026, Track on Evaluations and Datasets
- Код и данные: github.com/maszhongming/agent4sci (также на Hugging Face)
