Джарред Самнер (Jarred Sumner) реализовал рабочий процесс на базе Claude с использованием состязательного рецензирования, чтобы переписать среду выполнения Bun с Zig на Rust. Он прогнал более миллиона строк кода через 6 778 коммитов и исправил 16 000 ошибок компилятора. В ходе работы было запущено 50 рабочих процессов Claude Code, одновременно работало до 64 агентов Claude, и в итоге было создано воспроизводимое руководство (playbook) для масштабных миграций между языками программирования.

Почему этот рерайт важен

Для любого проекта, который борется с устаревшим кодом или планирует стратегический переход на другой язык, «метод Самнера» предлагает конкретный шаблон вместо расплывчатых обещаний.

Рабочий процесс, превративший ИИ в партнера, а не в замену

Процесс Самнера работает по замкнутому циклу:

  1. Постановка задачи — агент получает конкретную задачу по миграции.
  2. Реализация — второй агент пишет код на Rust.
  3. Состязательное рецензирование — третий агент исходит из предположения, что код неверен, изучает diff и пытается опровергнуть каждое утверждение, используя исходные файлы и тесты.
  4. Исправления — агент-реализатор учитывает замечания рецензента.
  5. Автоматизированные проверки (gates) — компилятор, набор тестов и инструменты статического анализа проверяют изменения.

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

Проверяемая машиной обратная связь Rust превращает тысячи потенциально читаемых человеком ошибок в управляемую очередь. Каждая ошибка компилятора, сбой borrow-checker или предупреждение Clippy становятся рабочими задачами, на которых может сосредоточиться состязательный рецензент.

Восьмифазное руководство (playbook)

Самнер структурировал рабочий процесс в восемь последовательных фаз, каждая из которых имеет свою очередь задач, критерии готовности (definition of done), промпты для рецензирования и автоматизированные проверки:

  • Фаза A — Извлечение фактов и написание руководства — сбор архитектурных фактов и создание руководства по миграции.
  • Фаза B — Механический перевод файлов — преобразование файлов Zig в заготовки (skeletons) на Rust.
  • Фаза C — Устранение ошибок компиляции — исправление 16 000 ошибок компилятора, зафиксированных во время перевода.
  • Фаза D — Сопоставление поведения во время выполнения — проверка того, что результат на Rust полностью соответствует поведению Zig.
  • Фаза E — Завершение набора тестов — прохождение всех существующих тестов.
  • Фаза F — Восстановление производительности — устранение любого замедления, возникшего в результате переписывания.
  • Фаза G — Полировка качества кода — применение идиоматичных паттернов Rust и рефакторинг для улучшения читаемости.
  • Фаза H — Укрепление безопасности — проведение аудита unsafe-кода и устранение обнаруженных уязвимостей.

Каждая фаза перетекает в следующую, гарантируя, что ни один шаг не будет пропущен, а регрессии будут обнаружены на ранних этапах.

Где найти руководство

Самнер опубликовал в открытом доступе полный набор шаблонов, промптов и определений фаз по адресу https://github.com/Lumafy/sumner-method. Сопутствующая статья подробно описывает миграцию Bun: https://dev.to/lumafy/the-sumner-method-what-buns-ai-assisted-zig-rust-rewrite-teaches-about-large-migrations-2gpo. Telegram-сообщество для обсуждения можно найти здесь: https://t.me/GyaanSetuAi.