Об этом проекте

AAMF (Autonomous Agent Migration Framework) — это инструмент с открытым исходным кодом на TypeScript/Node.js, предназначенный для перевода устаревших баз кода в другой язык или фреймворк. В отличие от одноразовых генераторов кода, AAMF представляет собой детерминированный, возобновляемый конвейер миграции. Процесс состоит из девяти этапов: индексация исходного кода, построение графа зависимостей, создание базы знаний, планирование и согласование стратегии миграции, итеративная миграция задач, верификация паритета, генерация тестов и документации, опциональный рефакторинг и выдача отчетов о завершении. Ядро подхода основано на использовании графа символов и вызовов (Lore-style) для декомпозиции исходного кода на ограниченные задачи миграции. Сильно связанные компоненты объединяются, чтобы взаимно зависимый код оставался в одном блоке, а соседние кластеры сливаются с учетом ограничений по размеру. Полученный граф задач является детерминированным, что поддерживает повторные попытки, частичные перезапуски и предсказуемое возобновление. Режимы выполнения включают валидацию по задачам, синхронизацию барьеров и контрольные точки синхронизации, позволяя целевому репозиторию оставаться собираемым и тестируемым во время миграции. AAMF координирует специализированных агентов ИИ через фреймворк оркестрации CADRE. Агенты включают в себя строителя базы знаний, планировщика миграции, арбитра, мигратора кода, верификатора паритета, писателя тестов, решателя конфликтов паритета, проверяющего окончательный паритет, создателя тестов E2E, писателя документации и агентов рефакторинга. Среда выполнения поддерживает бэкэнды агентов, такие как Copilot и Claude Code, вводит инструкции по сценариям, управляет доступом к базе знаний через MCP и записывает метрики вызова, включая время, использование токенов, оценку стоимости и уровень маршрутизации. Фреймворк уделяет большое внимание надежности и наблюдаемости. Контрольные точки записываются после завершения этапов и задач, что позволяет возобновить прерванную миграцию с сохраненного курсора. Неудачные работы агентов повторяются, ошибки инфраструктуры обрабатываются отдельно, а неразрешенные конфликты могут быть направлены на решателя конфликтов паритета. Бюджеты токенов, оценка стоимости, логи вызовов в формате JSONL и сводные отчеты обеспечивают операционную видимость. В README также упоминается пример перенесенного проекта: библиотека сжатия lz4, переведенная с C на Rust.