← Назад к блогу

Git-коммит как научное открытие: как Autoresearch превращает контроль версий в исследовательскую лабораторию

· Save Team
aiautoresearchgitkarpathyversion-controlresearchprogramming

В традиционной разработке программного обеспечения git-коммит означает «этот код работает». В autoresearch Карпаты git-коммит означает нечто иное: «это изменение измеримо улучшило модель».

Каждый коммит — маленькое научное открытие. Каждый git reset — гипотеза, которая не подтвердилась. Лог git превращается в исследовательский журнал, автоматически ведущийся AI-агентом.

Это переосмысление контроля версий как исследовательского инструмента.

Бинарное решение

Использование git в autoresearch элегантно просто:

  1. Агент изменяет train.py
  2. Тренировка идёт 5 минут
  3. Измеряется валидационная потеря
  4. Если улучшилась: git commit — изменение сохраняется
  5. Если не улучшилась: git reset — изменения будто не было

Никаких пул-реквестов, никакого code review, никаких конфликтов слияния. Просто бинарное решение: сделало ли это изменение вещи лучше или нет?

Это создаёт чистую, линейную историю улучшений. Каждый коммит в логе представляет валидированный шаг вперёд. Нет шума — никаких «WIP» коммитов, никаких «fix typo» коммитов, никаких цепочек «revert revert». Только последовательность изменений, каждое из которых измеримо улучшало модель.

Лог git как исследовательский журнал

После ночной autoresearch-сессии лог git читается как исследовательский блокнот:

Каждое сообщение коммита (написанное AI-агентом) описывает, что было изменено и какой эффект это оказало. Дифф показывает именно, какой код был изменён. Улучшение валидационной потери записано.

Это радикально более поддаётся аудиту, чем традиционные ML-исследования. Вместо заметок исследователя «пробовал корректировать скорость обучения, казалось, помогло» здесь точный дифф, точное измерение и воспроизводимый результат.

Память через сессии

Git даёт autoresearch то, что AI-агенты отчаянно нуждаются: постоянную память.

Когда начинается новая autoresearch-сессия, агент может читать историю git, чтобы понять, что пробовалось раньше. Он может видеть, какие направления давали улучшения, а какие нет. Это предотвращает повторные попытки неудачных экспериментов и помогает строить на том, что работало.

Это Markdown плюс git, работающие вместе: файл program.md обеспечивает стратегическое направление (что пробовать), а история git — тактический контекст (что уже пробовалось).

Эффект накопления

Поскольку каждый успешный коммит становится новым базовым уровнем, улучшения накапливаются. Агент не начинает с нуля каждую ночь — он начинает с лучшего результата, достигнутого до сих пор.

В двухдневном запуске Карпаты накопилось около 20 улучшений. Каждое было небольшим, но вместе они сократили время обучения GPT-2 на 11%. Агент нашёл оптимизации в масштабировании внимания, регуляризации и гиперпараметрах, которые строились друг на друге.

В этом сила подхода на основе git: он естественно создаёт храповик. Прогресс фиксируется в коммитах. Неудачи отбрасываются. Кодовая база движется только вперёд.

Что откатывается

Неудачные эксперименты — операции git reset — не менее интересны, чем успехи. В типичном ночном запуске откатывается около 70-80% экспериментов.

Эти откатанные эксперименты — не впустую потраченные усилия. Это отрицательные результаты, которые информируют будущие решения агента. При наличии кросс-агентной памяти и общей истории git распределённая система autoresearch может учиться на неудачах во всём рое.

Git как база данных экспериментов

Традиционные ML-исследования используют инструменты отслеживания экспериментов — MLflow, Weights & Biases, Neptune — для логирования гиперпараметров, метрик и артефактов.

Autoresearch заменяет всё это git-ом. История коммитов — это лог экспериментов. Диффы — это изменения гиперпараметров. Сообщения коммитов — это описания экспериментов.

Эта упрощённость мощна. Нет отдельной базы данных экспериментов для поддержания. Нет дашборда для настройки. Нет схемы для определения. Просто git, который каждый разработчик уже знает.

Более широкий паттерн

Паттерн git-как-исследовательский-журнал работает за пределами ML-тренировки:

  • Оптимизация кода: Каждый коммит представляет изменение, ускорившее код
  • Покрытие тестами: Каждый коммит представляет изменение, улучшившее покрытие тестами
  • Исправление ошибок: Каждый коммит представляет фикс, решивший упавший тест
  • Оптимизация контента: Каждый коммит представляет изменение, улучшившее измеримую метрику

Любая область, где можно автоматически измерить «лучше» и «хуже», может использовать git как трекер экспериментов.

Роль человека: чтение лога

В agentic-инжиниринге утренний ритуал человека после ночной autoresearch-сессии — чтение лога git.

Это другой навык, чем написание кода. Вы оцениваете серию сгенерированных AI изменений, понимаете, почему каждое из них сработало, и решаете, верно ли общее направление. На основе этого обзора вы обновляете program.md, чтобы направить следующую сессию.

Лог git — это канал коммуникации между человеком и агентом. Агент общается через коммиты. Человек общается через обновления program.md. Markdown течёт в обоих направлениях.

Создание дружественных к git знаний

Написание эффективных файлов program.md — таких, что создают чистую, осмысленную историю git — требует глубокого понимания области и инструментов. Лучшие инструкции для агентов исходят от людей, глубоко изучивших пространство проблемы.

Сохранение справочных материалов как чистого Markdown создаёт базу знаний, из которой можно черпать при написании инструкций для агентов. Документация, исследовательские работы и лучшие практики — всё в формате, который естественно перетекает в program.md и в конечном счёте в историю git открытий.


Save конвертирует любую веб-страницу в чистый Markdown — строя библиотеку знаний, питающую эффективные инструкции для AI-агентов и автономные исследования. Попробуйте Save бесплатно.