Миграция проекта на AI работает по одному правилу: не переписывать всё разом, а разбить на шаги с проверкой на каждом. Сначала инвентаризация функций, потом тесты на старое поведение, план с паттернами и только затем перенос по одному модулю. Ниже ра…
10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.
Об авторе →Claude Code: новый CLI-агент от Anthropic
Anthropic выпустила Claude Code — терминальный AI-агент для разработчиков. Инструмент работает прямо в командной строке и умеет писать, редактировать и запускать код.
Zcode AI: Полный гид по визуальному интерфейсу для Claude Code и AI-агентов
Узнайте, как использовать Zcode для управления Claude Code, Gemini и Codex в едином GUI. Настройка провайдеров, MCP-серверов и визуальный вайбкодинг.
YouTube-канал с монетизацией из любой точки мира: Пошаговый гайд 2026
Инструкция по созданию YouTube-канала: обход блокировок SMS, настройка расширенных функций через виртуальные номера и правила безопасности для монетизации.
Windsurf Code Maps: Как глубоко понимать архитектуру проекта перед написанием кода
Полный гайд по Windsurf Code Maps, модели Sway 1.5 и Sway Grep. Узнайте, как визуализировать архитектуру кода и ускорить разработку в 13 раз.
Vk Fast Cash Strategy
Аудитория ВКонтакте — это те же люди, что и в Instagram, но 'социальный контракт' площадки другой. Если Instagram — это 'дорогой ресторан' с демонстрацией успеха, то VK — это 'душевная шашлычная'. Здесь не работает глянцевый 'успешный успех
Миграция проекта на AI работает по одному правилу: не переписывать всё разом, а разбить на шаги с проверкой на каждом. Сначала инвентаризация функций, потом тесты на старое поведение, план с паттернами и только затем перенос по одному модулю. Ниже разберем весь маршрут: какой промпт даёт нейросеть на входе, чем фиксировать то, что нельзя потерять, и как откатываться, если что-то сломалось.
TL;DR. Миграция легаси-проекта через нейросеть идёт в 5 шагов: инвентаризация функций, характеризационные тесты, план с зафиксированными паттернами, инкрементальный перенос с атомарными коммитами, тесты и мониторинг после релиза. Главный принцип: переносим один в один, без новых фич. В статье готовые промпты на русском и таблица моделей на июль 2026.

Миграция проекта это перенос работающего кода на другой язык, фреймворк или стек с сохранением поведения. Раньше это стоило месяцы, теперь дни.
Легаси-код это код без тестов, который трудно менять и который никто в команде до конца не понимает. Такое определение дал Майкл Физерс в книге Working Effectively with Legacy Code. Стоимость переезда такого кода на новый стек упала в разы: нейросеть читает старую кодовую базу, узнаёт паттерны и переписывает модуль за модулем.
Раньше переезд с Express на другой фреймворк, который лежал десять лет, откладывали годами. Слишком дорого и рискованно. Сейчас у вайбкодера есть AI-агент, который делает черновую работу за часы. Но цена перекладывается на другое: планирование и тесты теперь занимают больше времени, чем сама автоматическая миграция кода. Это нормально и это правильно.
Одной командой «перепиши проект на новый стек» миграция не делается. Нейросеть теряет контекст на большом объёме и молча выкидывает функции.
Ведущие подкаста Syntax Уэс Бос и Скотт Толински прямо говорят: нельзя вписать в окно «перенеси на X» и получить рабочий результат. Так это пока не работает. Разбор из эпизода #992 про миграцию легаси-кода сводится к одному: большой переезд идёт маленькими шагами.
Причина в том, как устроена сессия модели. Контекст ограничен, и на гигантском монолите нейросеть держит в голове не весь проект, а его кусок. Дальше начинается самое опасное. Модель уверенно переписывает файл и по дороге пропускает обработку ошибки, которую вы добавляли три года назад после реального инцидента. Тесты этого не поймают, если тестов нет. Поэтому промпт для миграции это не одна строка, а протокол из пяти шагов. Разберём каждый.

Первый шаг миграции проекта это карта того, что нельзя потерять. Нейросеть проходит по коду и собирает список функций, входов, выходов и внешних зависимостей.
Инвентаризация решает главную боль: вы не помните всё, что делает старый проект. Особенно если ему годы. AI-агент читает кодовую базу и составляет реестр функций быстрее, чем вы откроете первые десять файлов. На выходе список, по которому потом сверяете новую версию.
Дайте нейросети такой промпт на старте:
Проанализируй проект в этой папке. Не пиши код.
Собери карту функциональности в виде таблицы:
- модуль/файл
- что делает (одной фразой)
- входные данные и откуда приходят
- выходные данные и куда идут
- внешние зависимости (БД, API, очереди, файлы)
- нестандартная логика (обработка ошибок, крайние случаи, костыли)
Отдельно отметь всё, что выглядит как бизнес-правило,
добавленное вручную под конкретный случай.Последняя строка важнее всех. Ручные бизнес-правила и костыли под конкретный инцидент теряются первыми. Именно они держат проект в проде.
Тесты пишутся до переписывания. Они фиксируют текущее поведение кода, и после миграции те же входы должны давать те же выходы. Иначе вы не заметите пропажу.
Характеризационные тесты (их ещё зовут golden master) не проверяют, что код правильный. Они фиксируют, что код делает сейчас. Идея та же, что у Физерса: снимок поведения как страховочная сетка перед рефакторингом. Если после переезда снимок сходится, функцию вы не потеряли.

Для легаси это единственный надёжный способ. У вас нет спецификации, зато есть работающий код, и его поведение и есть спецификация. Промпт для нейросети:
Напиши характеризационные тесты для модуля @[файл].
Не оценивай, правильно ли работает код.
Зафиксируй фактическое поведение: подай типовые входы,
запиши реальные выходы как ожидаемые значения.
Покрой крайние случаи: пустой ввод, невалидные данные, лимиты.
Цель: чтобы после переписывания на новый стек
эти же тесты прошли без изменений.Разработчикам зайдёт цикл red-green-refactor: сначала падающий тест, потом минимальная реализация под него, потом чистка. Из транскрипта разбора Claude Code видно закономерность: чем чище тесты и строже типы, тем меньше AI-агент фантазирует. Есть жёсткая формула, которую повторяют вайбкодеры про качество входа: если у вас грязь, нейросеть будет играть в грязи.
Перед автоматической миграцией зафиксируйте архитектурные решения в файле правил. Мигрируете один в один, без новых фич. Нейросеть повторяет заданный паттерн, а не выдумывает свой.
AI-агент отлично переносит код, когда у него есть эталон. Задайте один образцовый модуль в новом стеке и правило именования в файле вроде claude.md или .cursorrules. Дальше модель копирует этот стиль по всей кодовой базе. Без эталона каждый файл получит свою архитектуру, и вы утонете в разнобое.

Второе правило жёсткое: боковой перенос. Переносите функциональность как есть, не пытаясь параллельно добавить новое. Попытка совместить миграцию и фичи почти всегда обрекает проект на провал. Это самый частый способ уронить переезд.
| Что фиксируем в плане | Зачем |
|---|---|
| Эталонный модуль на новом стеке | Нейросеть копирует стиль, а не выдумывает |
| Правила именования и структуры папок | Единообразие по всему проекту |
| Список внешних контрактов (API, схемы БД) | Негативные ограничения: их ломать нельзя |
| Порядок модулей по зависимостям | Мигрируем снизу вверх, без битых импортов |
| Явный запрет на новые фичи | Боковой перенос, один в один |
Негативные ограничения в промпте критичны. Одна строка «не меняй сигнатуры публичного API» спасает от каскада поломок в местах, которые модель считает второстепенными.
Переносите по одному модулю в порядке зависимостей. После каждого рабочего куска атомарный git-коммит как точка отката. Следите за бюджетом токенов сессии.
Инкрементальный рефакторинг через нейросеть это ритм, а не спринт. Один модуль, прогон тестов, коммит. Следующий модуль. Порядок задаёте по зависимостям: сначала то, от чего зависят другие, потом верхние слои. Так у вас не появляется куча битых импортов на середине.
Из разбора мульти-файлового рефакторинга в Claude Code вылезает практичная деталь. Сессия модели это общий рабочий стол на ограниченный объём токенов. Добавляйте файлы в порядке зависимостей, периодически проверяйте расход контекста командой статуса и не заваливайте сессию всем проектом сразу. Переполнили контекст, получили галлюцинации.
Атомарный коммит после каждого зелёного шага это ваша кнопка отмены. Сломался следующий модуль, откатились на один коммит, переделали только его. Не весь проект. Аудиторский след из таких коммитов ещё и упрощает ревью: видно, что именно поменялось на каждом шаге. Для многофайловых правок хорошо подходят Claude Code, Cursor в режиме плана и Aider, который делает коммиты сам.
Собранный промпт, который держит нейросеть в рамках инкрементальной миграции. Копируйте, подставляйте свой стек и модуль.
Этот промпт склеивает четыре шага в один рабочий цикл. Он не даёт модели убежать вперёд и переписать всё разом. Отдавайте по одному модулю за проход.
Контекст: мигрируем проект с [старый стек] на [новый стек].
Эталон нового стиля: @[образцовый модуль]. Правила: @[claude.md].
Задача на этот проход: перенеси только модуль @[файл].
Жёсткие ограничения:
1. Один в один по поведению. Никаких новых фич.
2. Не меняй публичные сигнатуры и контракты API.
3. Сохрани всю обработку ошибок и крайние случаи из оригинала.
4. Стиль и структуру бери из эталонного модуля, не выдумывай.
После переноса:
- покажи, какие характеризационные тесты должны пройти;
- перечисли, что могло сломаться в зависимых модулях;
- предложи атомарное сообщение коммита для этого шага.
Не трогай другие модули. Жду подтверждения перед следующим.Последняя строка удерживает модель на одном шаге. Без неё нейросеть радостно захватит соседние файлы и вы потеряете контроль над откатом.
Для сложной архитектуры берите Claude Opus 4.8. Для больших кодовых баз Gemini 3.1 Pro с окном 1M токенов. Для массовых однотипных правок экономьте на DeepSeek.
Выбор модели под миграцию зависит от размера проекта и глубины перестройки. По состоянию на июль 2026 расклад по данным OpenRouter и SWE-bench такой: топовые модели закрывают архитектуру, дешёвые тянут объём. Мигрировать весь монолит на флагмане дорого и часто избыточно.

| Модель | Цена (input/output за 1M) | SWE-bench | Когда брать для миграции |
|---|---|---|---|
| Claude Fable 5 | $10 / $50 | 95.0% | Огромные переезды в один заход, максимум автономности |
| Claude Opus 4.8 | $5 / $25 | 88.6% | Сложная архитектура, многофайловый рефакторинг |
| Gemini 3.1 Pro | $2 / $12 | 80.6% | Большие кодовые базы, окно 1M токенов, лучшая цена |
| Claude Sonnet 4.6 | $3 / $15 | 79.6% | Универсальный рабочий конь на каждый день |
| DeepSeek V4 Pro Max | $0.435 / $0.87 | 80.6% | Массовые однотипные правки, экономия, MIT-лицензия |
Рабочая связка: план и сложные модули на Opus 4.8, рутинный перенос по шаблону на Sonnet 4.6 или DeepSeek. Флагман Fable 5 оставьте для случаев, когда переезд надо закрыть за один автономный проход.
После переезда прогоните все тесты и чек-лист по каждому экрану вручную. На проде подключите мониторинг ошибок, он ловит то, что тесты пропустили.
Автоматические тесты не покрывают всё. Составьте до релиза детальный чек-лист по функциям из шага 1 и пройдите его руками: каждый экран, каждая форма, каждый платёжный сценарий. Скучно, но это ловит потерянные куски, пока их не нашли пользователи.

На продакшене без мониторинга вы слепы. Уэс Бос отдельно отмечает Sentry как инструмент, который в первые дни после переезда показывает реальные ошибки с трейсом, а не абстрактные жалобы. Настроили, задеплоили, смотрите поток ошибок и чините точечно.
Первые двое-трое суток держите руку на пульсе. Именно тогда всплывает то, что не увидели ни тесты, ни ручной чек-лист: редкий крайний случай, старый кэш, забытая переменная окружения. Если инфраструктуру и деплой в команде закрывает отдельный человек, посмотрите агента под DevOps-задачи в каталоге, там собраны ниши по настройке окружений и мониторингу.
Нейросеть снимает черновую переписку кода и экономит недели. Но планирование, тесты и отладку крайних случаев по-прежнему держит человек.
Сильная сторона очевидна: то, что стоило месяцы ручной работы, теперь черновиком готово за часы. AI-агент читает старый код, узнаёт паттерны, переносит логику и попутно чистит устаревшие конструкции. Для типовых переездов вроде смены шаблонизатора или перехода на веб-стандарты это огромный рывок по скорости.
Слабые места честно. Модель уверенно ошибается на нестандартной логике и молча роняет крайние случаи, если их не закрыли тестами. На большом монолите теряет контекст. И почти всегда переезд упирается в одну упрямую функцию, которую приходится дожимать вручную.
Максим: «Мог просто засесть до пяти ночи и править одну какую-то функцию, которая не работала. Если бы не терпение, в моменте я уже испотел, и мне хотелось просто все это закрыть. Но я понимал, что это можно решить и нужно решить, чтобы идти дальше.»
Вот в чём штука. Нейросеть ускоряет 90% работы, а оставшиеся 10% это ваша отладка и упорство. Кто ждёт кнопку «мигрировать», разочаруется. Кто выстроил процесс из пяти шагов, экономит недели.
Можно ли одним промптом мигрировать весь проект сразу? Нет. Большой монолит нейросеть не переписывает одной командой без потерь. Она теряет контекст на объёме и выкидывает функции. Работает только инкрементальная миграция: модуль за модулем, с тестами и коммитами между шагами.
Что писать раньше при миграции, тесты или новый код? Сначала тесты на старое поведение. Они фиксируют, что именно работало, и служат проверкой после переписывания. Без них вы не заметите потерянную функцию до первых жалоб от пользователей на проде.
Какую нейросеть выбрать для миграции легаси-проекта? Под сложную архитектуру Claude Opus 4.8, 88.6% на SWE-bench. Под большие кодовые базы Gemini 3.1 Pro с окном 1M токенов. Под массовые однотипные правки DeepSeek V4 Pro Max, он в разы дешевле при близком качестве.
Можно ли добавлять новые фичи во время миграции? Не стоит. Совмещение переезда и новых функций почти всегда роняет проект. Сначала перенесите как есть, добейтесь стабильности, и уже отдельным этапом добавляйте новое на проверенной базе.
Как откатиться, если рефакторинг через нейросеть пошёл не так? Делайте атомарный git-коммит после каждого рабочего модуля. Сломался следующий шаг, откатились на последний зелёный коммит и переделали только один кусок. Не весь проект целиком.
Сколько времени реально занимает миграция с AI? Меньше, чем вручную, но не мгновенно. Сама автоматическая переписка идёт часами. Планирование, тесты и отладка крайних случаев занимают больше времени, чем перенос кода, и это основная часть работы.
Подходит ли этот подход новичку без опыта в коде? Частично. Инвентаризацию и черновой перенос нейросеть закроет. Но чтение тестов, план и разбор упрямых багов требуют понимания архитектуры. Начните с маленького проекта, чтобы набить руку без риска.
Легаси-код (legacy) старый код без тестов, который трудно менять и который в команде до конца никто не понимает.
Миграция проекта перенос работающего кода на другой язык, фреймворк или стек с сохранением поведения.
Рефакторинг улучшение структуры кода без изменения того, что он делает снаружи.
Характеризационный тест (golden master) тест, который фиксирует фактическое поведение кода как снимок, чтобы после переписывания сверить, что ничего не пропало.
Red-green-refactor цикл разработки: падающий тест, минимальная реализация под него, чистка кода при зелёных тестах.
Боковой перенос миграция один в один, без добавления новых функций во время переезда.
Атомарный коммит один git-коммит на один законченный логический шаг, к которому можно откатиться.
Бюджет токенов объём контекста, который модель держит в одной сессии. Переполнение ведёт к галлюцинациям.
Разбираетесь, каким инструментом переписывать проект? Загляните в каталог AI-инструментов VibeCoderz: там обзоры IDE и агентов, которые умеют многофайловый рефакторинг, с ценами и разбором плюсов и минусов. А если проект большой и хочется не наступить на грабли, запишитесь на консультацию к Максиму: разберём вашу кодовую базу и соберём план миграции под конкретный стек.
Обновлено: июль 2026. Цены и бенчмарки моделей по данным OpenRouter и SWE-bench Leaderboard на июль 2026. Подход к миграции легаси-кода с AI по материалам подкаста Syntax (эпизод #992) и книги Майкла Физерса Working Effectively with Legacy Code.