Платформа
Миллион строк legacy-кода на Go или Rust за 30 дней.
Дообученные модели читают весь репозиторий за один проход и переписывают его часть за частью. Каждую часть мы прогоняем на вашем боевом трафике, а подписывает её инженер, который выпускает код в продакшен больше 25 лет.
Загрузка
Всё, что есть в дереве
Карта
Один граф зависимостей
Переписывание
Часть за частью
Сверка
Паритет на боевом трафике
Запуск
Переключение без технологического окна
Конвейер
Пять этапов. Все автоматизированы, каждый подписывает старший инженер.
- 01
Загрузка
Всё, что есть в дереве
Исходники, скрипты сборки, расписания заданий, схемы и хранимые процедуры заходят вместе. Все языки дерева разбираются параллельно.
- 02
Карта
Один граф зависимостей
Модули, вызовы, потоки данных и мёртвый код ложатся в один граф. Границы сервисов видны прямо по его структуре.
- 03
Переписывание
Часть за частью
Дообученные модели переписывают по одной ограниченной части за раз в идиоматичный Go, Rust, TypeScript или SQL. Тесты пишутся первыми.
- 04
Сверка
Паритет на боевом трафике
Записанные входы с продакшена прогоняем через старую и новую систему. Каждое расхождение мы исправляем, или вы подписываете его письменно.
- 05
Запуск
Переключение без технологического окна
Трафик переезжает по частям. Старая система стоит в горячем резерве, пока новая не возьмёт всю нагрузку.
Дообученные модели
Обучены на коде, о котором все забыли.
Диалекты, на которых обучены модели
- COBOL
- JCL
- CICS
- RPG IV
- PL/I
- Natural
- Fortran
- VB6
- Delphi
- PowerBuilder
- ColdFusion
- PHP 4–5
- Perl
- Classic ASP
- Java EE
- Struts
- PL/SQL
- T-SQL
- DB2 SQL
- Oracle Forms
- ABAP
- AngularJS
Свой специалист на каждое семейство
Отдельное дообучение под мейнфрейм, AS/400, десктоп, веб и данные. Каждая модель знает идиомы своего семейства и места, где в нём ловушки.
Код, который команда захочет оставить
Идиоматичный Go, Rust или TypeScript с именами, тестами и структурой, какие написал бы старший инженер. Ваша команда читает его с первого дня.
Ваш код остаётся вашим
Ваш репозиторий обучает наши модели только с вашего письменного согласия. На вашей площадке веса тоже не покидают здание.
Настоящий граф из продакшена
Так платформа видит систему.
Как лежит сегодня
Механический перенос60%
Границу режет инженер29%
Кандидат на удаление11%
Тот же граф таблицей
| Модуль | Строк | Импортируют его | Импортирует | Домен | Класс | |
|---|---|---|---|---|---|---|
| M01 | 326 | loc | 0 | 10 | S01 | Механический перенос |
| M02 | 142 | loc | 0 | 3 | S02 | Механический перенос |
| M03 | 55 | loc | 0 | 3 | S02 | Механический перенос |
| M04 | 89 | loc | 0 | 3 | S02 | Механический перенос |
| M05 | 5,194 | loc | 3 | 15 | S03 | Границу режет инженер |
| M06 | 239 | loc | 5 | 1 | S03 | Границу режет инженер |
| M07 | 884 | loc | 20 | 0 | S03 | Границу режет инженер |
| M08 | 485 | loc | 4 | 6 | S03 | Механический перенос |
| M09 | 9,835 | loc | 4 | 7 | S03 | Границу режет инженер |
| M10 | 514 | loc | 2 | 0 | S03 | Механический перенос |
| M11 | 677 | loc | 1 | 5 | S03 | Механический перенос |
| M12 | 236 | loc | 4 | 11 | S03 | Границу режет инженер |
| M13 | 187 | loc | 3 | 3 | S04 | Границу режет инженер |
| M14 | 454 | loc | 1 | 1 | S05 | Механический перенос |
| M15 | 58 | loc | 3 | 1 | S05 | Механический перенос |
| M16 | 356 | loc | 4 | 2 | S05 | Механический перенос |
| M17 | 247 | loc | 4 | 2 | S05 | Механический перенос |
| M18 | 59 | loc | 3 | 1 | S04 | Границу режет инженер |
| M19 | 139 | loc | 0 | 0 | S04 | Кандидат на удаление |
| M20 | 330 | loc | 13 | 2 | S04 | Границу режет инженер |
| M21 | 414 | loc | 1 | 1 | S06 | Механический перенос |
| M22 | 1,670 | loc | 3 | 3 | S06 | Механический перенос |
| M23 | 1,218 | loc | 18 | 0 | S06 | Границу режет инженер |
| M24 | 2,574 | loc | 15 | 3 | S06 | Границу режет инженер |
| M25 | 163 | loc | 4 | 1 | S04 | Границу режет инженер |
| M26 | 251 | loc | 2 | 5 | S04 | Механический перенос |
| M27 | 161 | loc | 1 | 2 | S04 | Механический перенос |
| M28 | 99 | loc | 2 | 0 | S04 | Механический перенос |
| M29 | 45 | loc | 0 | 0 | S04 | Кандидат на удаление |
| M30 | 25 | loc | 0 | 0 | S04 | Кандидат на удаление |
| M31 | 1,417 | loc | 24 | 0 | S04 | Границу режет инженер |
| M32 | 82 | loc | 1 | 0 | S04 | Механический перенос |
| M33 | 30 | loc | 4 | 1 | S04 | Границу режет инженер |
| M34 | 141 | loc | 3 | 1 | S03 | Механический перенос |
| M35 | 79 | loc | 1 | 1 | S03 | Механический перенос |
| M36 | 3,036 | loc | 3 | 10 | S03 | Механический перенос |
| M37 | 173 | loc | 1 | 1 | S03 | Механический перенос |
| M38 | 2,501 | loc | 1 | 9 | S03 | Механический перенос |
| M39 | 1,452 | loc | 3 | 4 | S03 | Механический перенос |
| M40 | 50 | loc | 1 | 1 | S03 | Механический перенос |
| M41 | 2,148 | loc | 0 | 9 | S01 | Кандидат на удаление |
| M42 | 167 | loc | 0 | 1 | S01 | Кандидат на удаление |
| M43 | 4,873 | loc | 2 | 15 | S07 | Механический перенос |
| M44 | 2,241 | loc | 1 | 10 | S07 | Механический перенос |
| M45 | 474 | loc | 2 | 13 | S07 | Механический перенос |
Стенд сверки
Те же входы, те же выходы, до копейки.
Через старую и новую систему идут одни и те же записанные входы. Выходы сравниваем поле за полем, до копейки, и часть уходит в прод, только когда дифф пуст. Поэтому дата и стоит в договоре.
- Ваш записанный боевой трафик и есть набор тестов
- Сравнение по каждому полю, включая округления и крайние случаи с датами
- Каждое принятое расхождение вы подписываете письменно
- ACCT 0048213 41.36ACCT 0048213 41.36
- ACCT 0048214 0.00ACCT 0048214 0.00
- ACCT 0051120 1,208.04ACCT 0051120 1,208.04
- ACCT 0051121 17.90ACCT 0051121 17.90
- ACCT 0060007 342.11ACCT 0060007 342.11
- ACCT 0060008 5.02ACCT 0060008 5.02
Альтернативы
Три способа модернизации. В 30 дней укладывается только один.
| Ручное переписывание | Универсальные AI-инструменты | CodeHero | |
|---|---|---|---|
| Срок до продакшена | От месяцев до лет | Непредсказуемо, буксует на объёме | 30 дней на фазу |
| Цена | Почасовая оплата | Время ваших инженеров | Фиксированная по фазам, названа за 48 часов |
| Доказательство поведения | Ручное тестирование | Нет | Паритет на вашем трафике |
| Контекст всего репозитория | В головах у людей | По нескольку файлов за раз | Один граф на все языки |
| Работа без сети | Да | Редко | Да, на нашем железе или на вашем |
| Кто отвечает | Большая команда | Вы | Один старший инженер со стажем от 25 лет |