Переписывание legacy-платформы за 2 месяца: кейс Codenrock с Claude Code | AiManual
AiManual Logo Ai / Manual.
18 Фев 2026 Гайд

Как переписать legacy-платформу за 2 месяца с помощью Claude Code: кейс Codenrock

Реальный кейс: как команда из 4 человек переписала 77 моделей, 128 API и 264 компонента за 2 месяца с Claude Code. Методология, ошибки, результаты.

Легаси, которое съедало 80% времени разработки

Codenrock - платформа для проведения IT-чемпионатов. Шесть лет эволюции. Три переписанных фреймворка. Пять разных команд разработчиков. Результат? Монолит на Django 1.11 с кастомным ORM, самописной системой миграций и 40% кода, который никто не понимал.

Новые фичи вставали в очередь на три месяца. Багфиксы рождали новые баги. Один разработчик тратил 80% времени на разбор того, "как это черт возьми работает".

Технический долг - это не просто "плохой код". Это конкретные цифры: +300% времени на разработку, -60% мотивации команды, постоянный риск сломать продакшен при любом изменении.

Решение: не рефакторинг, а полное переписывание

Мы пробовали постепенный рефакторинг. Не сработало. Каждый кусок нового кода должен был интегрироваться со старым. Каждая попытка улучшить архитектуру упиралась в легаси-зависимости.

В январе 2026 года приняли радикальное решение: полное переписывание за два месяца. Цель - современный стек: FastAPI, SQLAlchemy 2.0, Pydantic 3.0, асинхронность. Но команда - 4 человека против 77 моделей, 128 API эндпоинтов и 264 UI-компонента.

💡
Ключевой инсайт: переписывать legacy код вручную - все равно что копать тоннель ложкой. Нужен экскаватор. Для нас таким экскаватором стал Claude Code 3.5 (самая свежая версия на февраль 2026).

Методология: как работает AI-инженер в команде

Мы не просто дали Claude доступ к коду и сказали "перепиши". Разработали методологию, которая превратила AI из помощника в полноценного члена команды.

1Архитектурный разведчик

Первые две недели Claude анализировал legacy код. Не просто смотрел файлы, а строил карту зависимостей, выявлял бизнес-логику, отделял ее от устаревших имплементаций.

Мы использовали технику из статьи "Context Engine: Собираем гибридный поиск по коду" - создали локальный векторный индекс всего кода. Claude мог за секунды находить все использования конкретного метода или класса.

Что анализировалиЧто получили
Модели DjangoPydantic схемы + SQLAlchemy модели
View-функцииFastAPI эндпоинты с валидацией
Шаблоны DjangoReact компоненты с TypeScript
Кастомный ORMЧистый SQLAlchemy 2.0

2Генерация с контекстом

Claude не писал код с нуля. Он брал старую реализацию, понимал бизнес-логику, и генерировал современный эквивалент. Например:

  • Старый Django-метод с 5 уровнями вложенных if → Чистая функция с pattern matching
  • Монолитная view на 500 строк → Набор FastAPI роутеров с dependency injection
  • Кастомные валидаторы → Pydantic validators с автоматической документацией

Важный момент: мы не использовали Claude как черный ящик. Каждый сгенерированный модуль проходил код-ревью. Но вместо того чтобы искать синтаксические ошибки, мы проверяли бизнес-логику.

3Параллельная разработка

Четыре разработчика + четыре инстанса Claude Code. Каждый отвечал за свой домен:

  1. Пользователи и аутентификация
  2. Чемпионаты и задания
  3. Проверка решений и лидерборды
  4. Админка и модерация

Claude поддерживал контекст в пределах домена. Когда разработчик переключался между задачами, AI помнил все специфики этого домена. Это то, о чем мы писали в "Claude Code на максимум: превращаем AI-помощника в личного инженера" - персонализация контекста под конкретного разработчика.

Технические детали: что сработало, что нет

Claude Code 3.5 (февраль 2026) поддерживает контекст до 200K токенов. Этого хватало на весь домен + документацию + историю обсуждений. Раньше, с версией 3.0, приходилось постоянно сбрасывать контекст.

Что сработало идеально:

  • Миграция ORM: Django models → SQLAlchemy. Claude понимал отношения между моделями и сохранял их в новой реализации
  • Генерация тестов: Для каждого API эндпоинта создавал unit-тесты с 90% покрытием бизнес-логики
  • Документация OpenAPI: Автоматическая генерация из Pydantic моделей и FastAPI декораторов
  • Обработка ошибок: Единый стиль обработки исключений во всем приложении

Что не сработало:

  • Сложная бизнес-логика: Алгоритмы проверки решений участников. Claude генерировал работающий код, но без понимания "почему так". Пришлось делать вручную
  • Интеграции со сторонними сервисами: Платежи, email-рассылки. Старый код содержал хаки и workaround-ы, которые не были документированы
  • Перенос данных: Миграция 500ГБ данных из старой схемы в новую. AI не мог гарантировать целостность

Цифры, которые имеют значение

МетрикаДоПослеИзменение
Строк кода142,00089,000-37%
Время сборки4.5 мин45 сек-83%
Coverage тестов42%78%+36%
Время на новую фичу3-4 недели3-5 дней-85%
Производительность API1200 rpm8500 rpm+608%

Но главная цифра не в таблице: команда из 4 человек за 2 месяца переписала то, на что вручную потребовалось бы 8-10 месяцев. Это подтверждает наш научный эксперимент по сравнению скорости разработки - AI ускоряет в 4-5 раз.

Ошибки, которые мы совершили (чтобы вы их не повторили)

Самая большая ошибка: думать, что AI сам все сделает. Без четкой методологии и контроля получается каша из кода, которая работает еще хуже legacy.

Ошибка 1: Слишком много свободы

Первые две недели дали Claude максимальную свободу в выборе архитектурных решений. Результат? Три разных подхода к error handling, четыре стиля именования переменных, два разных фреймворка для валидации.

Исправление: создали строгий code style guide и архитектурные принципы. Claude стал их соблюдать.

Ошибка 2: Игнорирование инкрементальности

Мы переписывали все модули независимо, не думая о том, как они будут работать вместе. В итоге на интеграцию ушла целая неделя.

Исправление: внедрили contract-first подход. Сначала определяли интерфейсы между модулями, потом реализацию.

Ошибка 3: Экономия на инфраструктуре

Запускали Claude Code через официальный API. Дорого и медленно. Когда перешли на локальный запуск через vLLM (как в статье "Claude Code теперь можно запустить локально"), скорость увеличилась в 3 раза, а стоимость упала до нуля.

Как повторить наш успех (шаг за шагом)

1Аудит и декомпозиция

Не бросайтесь сразу переписывать. Проведите полный аудит: какие модули самые проблемные, какие содержат ключевую бизнес-логику, какие можно выкинуть совсем.

Разбейте систему на независимые домены. Каждый домен - отдельная задача для AI.

2Создайте контекстный движок

Как в статье про Context Engine. Claude должен понимать не только синтаксис, но и семантику вашего кода. Какие классы за что отвечают, как они связаны, какие есть edge cases.

3Определите правила игры

Code style, архитектурные паттерны, линтеры, форматеры. Claude должен генерировать код, который сразу проходит code review.

Используйте техники из полного руководства по Claude Code - MCP (Model Context Protocol) для интеграции с вашими инструментами.

4Запустите параллельные потоки

Каждый разработчик + свой инстанс Claude. Ежедневные стендапы для синхронизации. Общий репозиторий с CI/CD, который сразу проверяет сгенерированный код.

5Интеграция и тестирование

Не оставляйте интеграцию на потом. Каждую неделю собирайте все модули вместе и запускайте интеграционные тесты. Лучше найти проблемы раньше.

Будущее: что будет через год?

Наш эксперимент показал: AI не заменит разработчиков. Но изменит их роль. Разработчик 2027 года - это не тот, кто пишет код, а тот, кто:

  • Формулирует задачи для AI на языке бизнес-логики
  • Проверяет, что сгенерированный код решает правильную проблему
  • Проектирует архитектуру, которую AI сможет реализовать
  • Интегрирует AI-генерацию в процессы разработки

Claude Code сегодня - это как компилятор в 80-х. Сначала писали на ассемблере, потом появились C и компиляторы, и производительность взлетела. Сейчас мы на пороге такого же скачка.

Легаси-код, который годами копился в ваших проектах, теперь можно переписать за месяцы, а не годы. Но только если подойти к этому системно. Не как к "давайте попробуем AI", а как к полноценному инженерному проекту.

P.S. Если думаете, какой AI-стек выбрать - посмотрите наше сравнение Cursor vs Warp vs Claude Code. Для переписывания legacy Claude показал себя лучше всех.