1. Направление вашего пути модернизации
Этот всеобъемлющий практический семинар является дополнением к статье «Как автоматизировать модернизацию с помощью Antigravity и многоагентной оркестровки» , посвященной детальному анализу архитектуры. Хотя в качестве наглядной демонстрации мы используем классический фреймворк Node.js, основные шаблоны проектирования, структуры каталогов и процессы оркестровки агентов, которые вы здесь освоите, полностью независимы от языка программирования и универсально применимы к любому масштабному проекту модернизации устаревших систем.
В отличие от стандартных программ-помощников, которые просто автоматически дополняют строки в одном файле, вы научитесь использовать возможности Google Antigravity, ориентированные на агентов, для управления автономными командами специализированных субагентов ИИ. Эти агенты могут независимо проводить обратное проектирование устаревших кодовых баз, писать строгие наборы тестов, создавать современные архитектуры и самостоятельно исправлять ошибки компилятора с помощью циклов Reflexion, в то время как вы сохраняете абсолютный контроль как архитектор высокого уровня.
Что вы узнаете
- Составление карты рабочего процесса : как правильно классифицировать и отделять детерминированные задачи настройки от сложных эвристических задач рефакторинга.
- Архитектура навыков : Как структурировать расширяемый пакет навыков агента с использованием поэтапного раскрытия информации и метаданных маршрутизации YAML.
- Управление шаблонами проектирования : как управлять масштабной рефакторизацией, объединяя шаблоны проектирования Router, Plan-and-Execute и Reflexion.
- Жесткие контракты ввода/вывода : как обеспечить четкие границы ввода/навыка/вывода в многоэтапных процессах обратного проектирования и формирования целевых структур.
- Проверка четности : как использовать субагент браузера Antigravity для параллельного тестирования четности в веб-браузере Chrome.
Что вы построите
Вы будете управлять полностью автоматизированным конвейером рефакторинга с нуля, который возьмет устаревший монолит на основе Express и Mongoose (демонстрационный проект "madhums") и автоматически перестроит его с нуля в строго типизированное приложение Next.js App Router, работающее на базе MongoDB, с жесткой проверкой Zod и доступными компонентами пользовательского интерфейса ShadCN.
Что вам понадобится
- В локальной среде разработки установлена среда разработки Google Antigravity IDE (доступна по адресу antigravity.google ).
- Node.js (версия 18+) установлен локально.
- Браузер Chrome для автоматической проверки пользовательского интерфейса.
- Клон демонстрационного монорепозитория modernizing-expressjs с открытым исходным кодом.
2. Настройка среды модернизации
Прежде чем запускать автономных агентов в работу с устаревшим кодом, необходимо создать чистую, высокостабильную среду монорепозитория. Предоставление ИИ-помощнику чистой базовой версии гарантирует, что он полностью сосредоточится на генерации высококачественного современного кода, а не будет тратить ресурсы на борьбу с уязвимостями пакетов десятилетней давности или несоответствиями компилятора.
Сравнение архитектуры устаревшего Express и современной Next.js
Компонент | Устаревший стек | Современная замена | Обоснование |
Архитектура | Экспресс Монолит | Маршрутизатор приложений Next.js | Разделение логики на серверные компоненты для оптимизации рендеринга и повышения производительности серверных компонентов React (RSC). |
Логика данных | Мангуст (ODM) | MongoDB + Zod | Замена неявных ORM-хуков на явные, типобезопасные схемы Zod и оптимизацию производительности драйвера. |
Язык | CommonJS / JavaScript | TypeScript (ESM) | Обеспечение безопасности на этапе компиляции и переход к современным модульным стандартам. |
Внешний интерфейс | Pug/EJS (Server View) | ShadCN UI + Tailwind | Переход от жестких шаблонов к компонуемой, доступной и ориентированной на функциональность системе проектирования. |
Авторизация | Passport.js | NextAuth | Модернизация управления сессиями с встроенной поддержкой Edge и современных провайдеров. |
Безопасность | Ручное промежуточное ПО | Zod (строгая проверка) | Внедрение «единого источника достоверной информации» для проверки данных по всей инфраструктуре. |
Инициализация центра модернизации
Первым нашим детерминированным действием является клонирование изолированной структуры монорепозитория. Это отделяет устаревший код, доступный только для чтения, от нашего нового целевого репозитория, что гарантирует отсутствие случайных изменений в исходном приложении.
Откройте терминал Antigravity и выполните следующие команды настройки:
git clone https://github.com/GoogleCloudPlatform/devrel-demos.git cd devrel-demos/other/modernizing-expressjs
После клонирования откройте папку modernizing-expressjs непосредственно в проводнике Antigravity IDE. Вы увидите следующую изолированную структуру:
/modernizing-expressjs/ ├── .agents/ # Skills metadata and checklists │ └── skills/ ├── docs/ # Target directory for reverse-engineered markdown artifacts ├── legacy-app/ # Read-only root of the legacy Express monolith ├── modern-app/ # Greenfield target repository for the Next.js rewrite ├── GEMINI.md # Project-wide agent constitution └── README.md # Companion documentation
Посмотрите это короткое видео, демонстрирующее, как детерминированно подготовить и изолировать среду монорепозитория:
3. Разработайте наборы навыков и шаблоны для агентов ИИ.
Создание надежного навыка для агента принципиально отличается от написания стандартного сообщения чата. При создании пакета навыков вы разрабатываете модульный программный продукт, который будет автономно выполняться базовым модулем LLM. Чтобы предотвратить «галлюцинации» агента или «проблемы с контекстным окном», мы представляем пакет навыков Greenfield Orchestration Skill Pack с открытым исходным кодом в качестве расширяемого шаблона для создания кода, основанного на двух непреложных принципах: краткости и постепенном раскрытии информации .
Поэтапное раскрытие информации с использованием маршрутизации метаданных YAML.
Вместо того чтобы вываливать все целевые правила в единую монолитную системную командную строку, мы распределяем инструкции по различным каталогам. Каждый каталог Skill содержит точку входа SKILL.md , заключенную в блок маршрутизации YAML.
Откройте файл .agents/skills/orchestrating-greenfield-migration/SKILL.md и изучите метаданные маршрутизатора:
---
name: orchestrating-greenfield-migration
description: >
Manages the end-to-end modernization of legacy Express
monoliths into Next.js architectures. Orchestrates subagents
for auditing, scaffolding, and verification. Use when starting
or managing a greenfield rewrite project.
---
Встраивание шаблона «планирование и выполнение» в код
Чтобы предотвратить отклонение автономного агента от заданного пути, отвлечение на устаревшее промежуточное программное обеспечение или попытки несанкционированной замены базы данных, мы отменяем стандартное планирование с открытым концом, жестко задавая шаблон «Планирование и выполнение» непосредственно в инструкциях.
Внимательно изучите встроенный в основной оркестратор список задач в формате Markdown:
### Phase 1: The AI audit (reverse engineering)
Dispatch subagents to produce specifications while identifying project-specific test scenarios.
* [ ] Init `docs/verification/Verification_Plan.md` to create baseline template.
* [ ] Run `auditing-data-models` -> Append Data Integrity Stress-Tests.
* [ ] Run `auditing-api-contracts` -> Append API Parity & Edge Case Probes.
* [ ] Run `auditing-business-logic` -> Append Logic & Authorization Stress-Tests.
* [ ] Run `auditing-ui-archeology` -> Append Interaction & Layout Targets.
Задавая рабочий процесс в виде четкого контрольного списка со встроенными ссылками на навыки, агент копирует эту точную дорожную карту в свой план задач, переводя его в режим «только выполнение», который систематически отмечает выполненные пункты и вызывает высокоспециализированных субагентов именно тогда, когда это необходимо.
4. Этап 1 — Обратное проектирование устаревшей монолитной системы (аудит)
Мы готовы запустить основную последовательность оркестровки! На первом крупном этапе мы извлекаем бизнес-правила, схемы данных и данные API из устаревшего монолита, сохраняя их в виде чистых артефактов Markdown, при этом оставляя позади десятилетний технический долг.
Запустить последовательность автономной рефакторизации
В панели чата менеджера агентов антигравитации введите следующую пользовательскую команду с косой чертой и нажмите Enter:
/orchestrating-greenfield-migration
Теперь понаблюдайте за консолью терминала. Вы увидите, как главный агент зачитывает системную подсказку, сопоставляет ваш запрос с метаданными оркестратора, выводит контрольный список из 5 этапов и немедленно начинает параллельно запускать специализированные субагенты «Аудитора».
Договор об обучении, основанный на принципах «вход/навык/выход».
На первом этапе агент выполняет строгий алгоритм обратного проектирования, связанный следующим инструктивным контрактом:
Используемые входные данные : файлы исходного кода устаревшей версии, доступные только для чтения и расположенные в папке legacy-app/ .
Задействованные навыки :
Навык | Описание |
| Отслеживает устаревшие маршруты для документирования точных JSON-ответов. |
| Анализирует схемы Mongoose для извлечения связей, обязательных полей и значений по умолчанию. |
| Документы описывают неявные побочные эффекты, потоки аутентификации Passport и правила промежуточного программного обеспечения. |
| Сканирует устаревшие шаблоны Pug для сопоставления высокоуровневых «намерений пользовательского интерфейса» (панели навигации, формы). |
Созданные артефакты : Высокоструктурированные спецификации в формате Markdown, сгенерированные непосредственно в вашу папку docs/ .
Артефакт | Описание |
| В этом документе подробно описана область API, полученная в результате обратного проектирования устаревшего приложения Express. Используйте этот каталог для обеспечения строгой согласованности при перестроении маршрутов в модернизированном приложении Next.js. |
| В этом документе регистрируются проверенные действия, конфигурации и строгие правила устаревшего приложения Express, касающиеся аутентификации (AuthN), авторизации (AuthZ), глобального промежуточного программного обеспечения, управления сессиями и побочных эффектов. |
| В этом документе представлен всесторонний анализ устаревших схем Mongoose из |
| В этом документе представлен подробный анализ устаревшего пользовательского интерфейса на основе Pug в |
Посмотрите прямую трансляцию с терминала, демонстрирующую работу автономного аудита методом обратного проектирования:
5. Этапы 2 и 3 — разработка TDD-системы и создание базовой инфраструктуры с нуля.
После полной проверки и документирования устаревшего приложения главный координатор переходит к созданию современной целевой серверной части. На этом этапе внедряется самый мощный агентный шаблон проектирования из нашего инструментария: замкнутый цикл рефлексии (саморефлексии), основанный на строгой разработке через тестирование (TDD).
Управление самовосстанавливающимся кодом с помощью циклов рефлексии.
Написание современного кода — дело простое; обеспечение его безупречной компиляции и прохождения строгих проверок требует замкнутого цикла оценки. Оркестратор обрабатывает это автономно, передавая результаты тестирования непосредственно в контекстное окно субагента:
- Этап 2 (настройка TDD) : Оркестратор запускает подагент
generating-api-tests, который считываетdocs/API_Contracts.mdи создает исчерпывающие наборы интеграционных тестов Vitest, проверяющие точно необходимые коды состояния HTTP и полезные данные JSON. Как и ожидалось в TDD, эти тесты изначально завершаются с ошибкой. - Этап 3 (Создание бэкенда) : Подгруппы разработчиков начинают писать современные обработчики маршрутов Next.js и строгие схемы валидации Zod.
- Цикл самокоррекции : Когда детерминированный тестовый модуль Vitest оценивает новый код и возвращает ошибку (например, ожидаемая ошибка проверки
422вернула500), агент не аварийно завершает работу. Он анализирует вывод целевой ошибки, повторно открывает обработчик целевого маршрута, исправляет структуру полезной нагрузки схемы Zod и снова запускает тесты. Он итерирует автономно до достижения кода завершения0.
Договор об обучении, основанный на принципах «вход/навык/выход».
Используемые входные данные : артефакты спецификации, полученные методом обратного проектирования ( docs/API_Contracts.md , docs/Data_Models.md ).
Задействованные навыки :
Навык | Описание |
| Генерирует неудачные интеграционные тесты Vitest. |
| Инициализирует базовую структуру маршрутизации приложения Next.js. |
| Настраивает локальную среду запуска тестов Vitest. |
| Преобразует старые модели Mongoose в схемы MongoDB + Zod. |
| Преобразует маршруты Express в обработчики маршрутов Next.js и модульные защитные механизмы маршрутов. |
Полученные результаты : первоначальные неудачные тестовые наборы Vitest, полностью типизированные схемы Zod, функциональные обработчики маршрутов Next.js и корректные, прошедшие проверку тестовые наборы.
Обратите внимание на автоматическую генерацию тестового стенда TDD:
Наблюдайте за выполнением в реальном времени самокорректирующегося цикла Reflexion, который служит основой для целевого бэкэнда:
6. Этап 4 — Создание современного фронтенда (компонентов пользовательского интерфейса)
После того, как слой проверки данных на бэкэнде полностью укреплен и проходит интеграционные тесты, главный оркестратор меняет контекст для модернизации визуального представления. Отказ от обязательных шаблонов, отрисовываемых на сервере, в пользу высокодоступной, ориентированной на функциональность компонентной системы проектирования.
Преобразование намерений пользовательского интерфейса в составные представления
Вместо построчного CSS-перевода, фронтенд-субагент считывает извлеченный набор "UI Intent" и напрямую сопоставляет структурные элементы с современными высококачественными аналогами.
Договор об обучении, основанный на принципах «вход/навык/выход».
Используемые входные данные : артефакт инвентаризации, полученный методом обратного проектирования на стороне клиента ( docs/UI_Inventory.md ).
Задействованные навыки :
Навык | Описание |
| Преобразует артефакт |
Результатом работы стали : готовые к использованию страницы фронтенда Next.js, созданные с использованием высокодоступных компонентов пользовательского интерфейса ShadCN и вспомогательных CSS-макетов Tailwind.
Посмотрите, как происходит автоматическое создание модернизированного интерфейса пользователя:
7. Этап 5 — Проверка и аудит с участием состязательных групп.
Наш процесс рефакторинга завершается тщательной проверкой качества. Главный координатор переходит от статического анализа кода к активному тестированию в среде выполнения, активно пытаясь сломать новое целевое приложение, чтобы доказать абсолютное функциональное соответствие с устаревшей базовой версией.
Выполнение теста с двумя вкладками и активация браузера.
На этапе проверки используются интегрированные визуальные возможности и возможности DOM-моделирования Antigravity для автономного подтверждения успешности без необходимости вручную заполнять формы:
- Параллельный контроль : субагент
auditing-parityдает указание локальному исполнителю одновременно запустить как устаревшее монолитное приложение Express, так и модернизированное приложение Next.js, проверяя идентичность визуального представления и отрисовки данных. - Проверка безопасности с помощью враждебных действий : Организатор запускает субагент
adversarial-verification, который, в свою очередь, запускает субагент Antigravity Browser . Этот специализированный агент напрямую управляет браузером — вводит данные в поля ввода, отправляет формы и проверяет наличие уязвимостей в системе безопасности, неработающих сессионных файлов cookie или необработанных граничных случаев. - Создание журнала аудита : субагент браузера автоматически записывает видео в формате WebP, отражающее действия в рамках сессии, и прикрепляет их непосредственно к итоговому отчету о миграции в качестве проверяемого «доказательства выполненной работы».
Договор об обучении, основанный на принципах «вход/навык/выход».
Используемые входные данные : как устаревшие, так и современные приложения, работающие параллельно в локальных средах выполнения.
Задействованные навыки :
Навык | Описание |
| Выполняет проверки в режиме реального времени, сравнивая результаты двух параллельных операций. |
| Проверяет наличие логических ошибок и функциональных регрессий с помощью автоматизированных действий браузера. |
Полученные результаты : Подробный журнал аудита функциональной совместимости в сочетании с видеозаписями сеансов работы в браузере, подтверждающими полный успех.
Обратите внимание на автоматизированный браузерный субагент, активно проверяющий модернизированное приложение:
8. Готовность производства после миграции и дальнейшие шаги.
Поздравляем! Вы успешно организовали высокотехнологичный, автономный конвейер рефакторинга с использованием агентов для модернизации устаревшего монолитного приложения с нуля, освоив универсальные, легко применимые навыки, такие как поэтапное раскрытие информации, контрольные списки «Планирование и выполнение» и самовосстанавливающиеся циклы рефлексии.
Подготовка к внедрению в производство.
После полной верификации и аудита вашего приложения Next.js вы готовы перейти к интеграции в продакшн. Рассмотрите возможность выполнения следующих стандартных отраслевых шагов:
- Инкрементальная маршрутизация : Разверните обратный прокси-сервер (например, шаблон Strangler Fig ) для инкрементальной маршрутизации трафика от устаревшего приложения Express к современному целевому приложению.
- Сохранение SEO-оптимизации : Сопоставьте устаревшие маршруты Express с постоянными перенаправлениями Next.js (
_redirects.yaml), чтобы сохранить существующий авторитет домена. - Потоковая передача данных : Переход от статического заполнения базы данных к потоковой передаче данных в режиме реального времени, безопасно проверяемой во время выполнения с использованием строгих схем Zod.
- Наблюдаемость : Замените обязательные средства ведения журналов структурированными платформами OpenTelemetry.
Углубите свои знания в области модернизации.
Чтобы ознакомиться с полным кодом, инструкциями по настройке навыков и исчерпывающим теоретическим обоснованием этого алгоритма, обязательно прочтите полную статью:
Присоединяйтесь к сообществу Agentic Builder!
Надеюсь, эти универсальные шаблоны рефакторинга и агентные конвейеры оказались для вас полезными. Чтобы быть в курсе будущих обучающих материалов по открытому исходному коду, углубленного технического контента и предстоящих выступлений на конференциях, подписывайтесь на меня в профессиональных каналах:
- Подписывайтесь на меня в LinkedIn : linkedin.com/in/jamesor
- Подписывайтесь на X (Твиттер) : x.com/JamesOR
Поделитесь своим мнением.
Что вас больше всего привлекает в организации работы агентов?
Спасибо за использование технологии Google Antigravity !