РАБОЧИЙ СЦЕНАРИЙ

API LLM для рефакторинга репозитория

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

Карта зависимостей для планирования рефакторинга нескольких файлов
API LLM для рефакторинга репозитория

Рабочий пример

API, основная модель и резервная конфигурация

Выбор для рабочей средыРекомендацияПочему
APIPOST /v1/chat/completionsСерверный запрос, совместимый с OpenAI
Основная модельgpt-5.6-solSol подходит для рефакторинга всего репозитория: он требует анализа далёких зависимостей и согласованных решений на каждом этапе.
Запасная модельgpt-5.6-terraПосле плана Sol используйте Terra для каждого ограниченного этапа реализации. Изменение непроверенных границ архитектуры не передаётся младшей модели.
Модель для сложных задачgpt-5.6-solИспользуйте только при выходе за возможности основной модели по качеству или сложности
Требования к выводуТекст или исправление под задачуУтверждённая карта влияния и один обратимый unified diff на каждый этап.
01
Сценарий

Рабочее приложение для рефакторинга репозитория

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

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

02
Архитектура

Как устроен процесс рефакторинга репозитория

  • Составьте и утвердите карту влияния.
  • Зафиксируйте публичные интерфейсы и исходные тесты поведения.
  • Меняйте одну границу зависимости за запрос.
  • После каждого патча проверяйте совместимость и миграции.
  • Если появилась неучтённая зависимость, остановитесь и пересмотрите план.
03
Запрос API

Вызовите gpt-5.6-sol через LLMFly AI

Отправляйте запрос с сервера. Замените пример и схему-заглушку данными и инструментами приложения.

request.example
curl https://app.llmfly.ai/v1/chat/completions \
  -H "Authorization: Bearer $LLMFLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "messages": [
      {"role": "system", "content": "Plan a repository refactor before editing. Preserve the listed public contracts. First return an impact map and reversible checkpoints; do not produce code until a checkpoint is selected."},
      {"role": "user", "content": "Extract billing from the monolith while preserving the attached HTTP and event contracts."}
    ]
  }'
04
Выбор модели

Почему основная модель — gpt-5.6-sol

Sol подходит для рефакторинга всего репозитория: он требует анализа далёких зависимостей и согласованных решений на каждом этапе.

После плана Sol используйте Terra для каждого ограниченного этапа реализации. Изменение непроверенных границ архитектуры не передаётся младшей модели.

05
Приёмка

Проверки результата рефакторинга репозитория

ПоказательУсловие успеха
Сохранение поведенияТесты поведения до и после дают равнозначные результаты
Совместимость публичного APIДокументированные публичные интерфейсы и поддерживаемые вызовы остаются совместимыми
Незапланированные изменения файловКаждый изменённый файл есть в утверждённой карте или имеет записанную причину
Завершение без ручного спасенияПоэтапный рефакторинг завершается без необходимости инженеру переписывать подход
06
Обработка ошибок

Ошибки, которые нужно обработать до запуска

  • Отправлять весь репозиторий без отбора контекста
  • Смешивать рефакторинг с новыми функциями
  • Пропускать промежуточные тесты
  • Оценивать качество только по размеру diff
07
Выход

Вывод и журналы выполнения

Утверждённая карта влияния и один обратимый unified diff на каждый этап.

Для каждого рабочего запуска записывайте ID модели и запроса, токены, повторы, проверку и итоговое решение.

Частые вопросы

Сколько контекста репозитория отправлять?

Сначала отправьте карту архитектуры и затронутые файлы, затем добавляйте зависимости по плану.

Как оценивать большой рефакторинг?

На каждом этапе проверяйте поведение, совместимость, границы, тесты и незапланированные изменения.

Стоит выполнять весь рефакторинг одним запросом?

Лучше разделить работу на обратимые этапы и проверять результат между ними.

Проверьте настройки на своих данных

Сравните основную и запасную модели с одинаковыми запросами, инструментами и правилами проверки.

Сравнить модели