>> Рефакторинг 100k+ строк в одиночку: Dynamic Workflows Claude Code 4.8 и параллельные субагенты
Введение
Может ли один разработчик рефакторить legacy-кодовую базу 100 000+ строк без шестимесячной task force? В мае 2026 Anthropic выпустила Claude Opus 4.8 и функцию Claude Code Dynamic Workflows — паттерн research preview, где агент планирует работу, разворачивает параллельных субагентов и верифицирует результаты перед отчётом (анонс Claude Opus 4.8).
Claude Code Dynamic Workflows бьют в боль full-stack команд при миграциях между языками или фреймворками: слишком много файлов для одного чата, слишком много зависимостей для одного последовательного agent loop. Статья разбирает дерево исполнения, когда оно лучше однопоточного Claude Code, и семишаговый runbook для репозитория с реальным test suite.
Если вы ещё выстраиваете agent discipline (evals, лимиты контекста), сначала прочитайте AI-навыки разработчика в 2026; Dynamic Workflows усиливают хорошие привычки — не заменяют их.
Что изменилось с Opus 4.8 и Dynamic Workflows
Anthropic выделяет три механизма, важные для миграций:
| Механизм | Роль | Зачем миграциям |
|---|---|---|
| Фаза планирования | Claude декомпозирует репо на work units | Избегает «редактировать один файл до смерти контекста» |
| Параллельные субагенты | Сотни субагентов в одной сессии | Параллелизм на уровне файла или пакета |
| Verification gate | Агент проверяет вывод до финального отчёта | Меньше тихих поломок на 100k строк |
Opus 4.8 также подчёркивает честность при неопределённости — ранние тестеры сообщают меньше незамеченных дефектов в сгенерированном коде vs Opus 4.7. Для миграций это значит меньше ложных «готово», когда тесты не запускались.
Доступность (проверьте актуальную доку): Dynamic Workflows запущены в research preview в Claude Code для планов Enterprise, Team и Max. ID модели API: claude-opus-4-8. Effort control включает xhigh для сложных длинных job.
Архитектура: дерево исполнения multi-agent
Dynamic Workflows — это неглубокое orchestration tree, а не неконтролируемый swarm.
Компоненты
| Узел | Ответственность | Типичный артефакт |
|---|---|---|
| Lead session | Scope, plan, merge strategy | Чеклист MIGRATION.md |
| Planner | Партиционирует репо (пакет, слой, feature slice) | Manifest JSON work units |
| Worker subagents | Transform + локальные фиксы на slice | Branch commits или серия патчей |
| Verifier | Тесты/линтеры, diff review, scan конфликтов | Сводка CI log |
| Human merge | Approve PR, policy conflicts | Подписанный merge commit |
Поток данных
- Определите migration contract: целевой framework, запрещённые API, definition of done = green CI.
- Lead agent инвентаризирует репо и выдаёт N параллелизуемых units (часто 50–200+ на монолитах 100k LOC).
- Subagents имеют read-only к shared policy docs и write только в своём slice.
- Verifier агрегирует failures; lead respawn failed units или эскалирует с file paths.
- Merge, когда достигнута планка test suite — не когда модель говорит «complete».
Это совпадает с примером Anthropic: миграции масштаба codebase на сотни тысяч строк от kickoff до merge, с существующим test suite как bar.
Матрица решений: когда Dynamic Workflows выигрывают
| Ситуация | Dynamic Workflows? | Альтернатива |
|---|---|---|
| 100k+ LOC, механические transforms (import paths, API rename) | Да | — |
| Spike <5k LOC | Нет | Single-session Claude Code |
| Миграция без automated tests | Нет пока нет тестов | Сначала characterization tests |
| Security-sensitive auth/crypto rewrite | Частично — только plan; human review каждого slice | Manual lane + agent assist |
| Нужны legally auditable diffs | Да, frozen planner manifest | Manifest в git |
Если coverage тестов на затронутых модулях <30%, не запускайте Dynamic Workflows. Вложите две недели в golden-path tests; иначе параллельные агенты оптимизируют правдоподобные diffs, а не корректное поведение.
Предусловия перед стартом
- CI <45 минут на clean checkout — или slice CI с merge queue.
- Formatter + linter enforced в CI (быстрее сходятся auto-fix loops).
- Migration playbook в
docs/migration/(запрещённые patterns, target idioms). - Branch strategy: одна integration branch; workers на topic branches или stacked PRs.
- Token budget: Opus 4.8 на
xhighдля long jobs; выше usage vs Opus 4.7 defaults.
Для IDE/agent hygiene (allowlists, secrets) см. Cursor и альтернативные стеки — принципы те же для Claude Code shells.
Семишаговый migration runbook
Шаг 1 — Baseline и freeze scope
git checkout -b migration/opus-48-baseline
git rev-parse HEAD > .migration/baseline.sha
CI=1 npm test 2>&1 | tee .migration/baseline-test.log
Pass: baseline tests green или failures documented в KNOWN_FAILURES.md.
Шаг 2 — Migration contract
Create MIGRATION.md with:
- Target stack version (напр. React 19, Spring Boot 3.4)
- Директории in scope
- Out of scope (generated code, vendored libs)
- Done =
npm test && npm run lintgreen
Шаг 3 — Запуск Dynamic Workflow в Claude Code
- Выбрать Opus 4.8 (
claude-opus-4-8). - Effort
xhighдля многочасовых миграций. - Prompt pattern ниже +
MIGRATION.mdи baseline SHA.
Dynamic Workflows в research preview на eligible Claude Code plans.
Спланируй migration codebase по MIGRATION.md.\nPartition на parallel work units ≤ 2k LOC.\nЗапусти subagents для transforms.\nVerify с existing test suite перед done report.
Шаг 4 — Review planner manifest
| Проверка | При сбое |
|---|---|
| Unit > 5k LOC? | Попросить split |
| >10 units трогают shared global state? | Serialize module |
| Нет test mapping на unit? | Добавить test targets |
Сохранить manifest в git: .migration/units.json.
Шаг 5 — Workers run; monitor fan-out
- Cap concurrent edits per directory при VCS conflict spike.
- Re-run formatter после каждого batch merge.
- Не принимать drive-by refactors вне migration scope.
На больших repos ожидайте десятки–сотни subagents.
Шаг 6 — Verifier gate и CI
git fetch --all
npm test 2>&1 | tee .migration/final-test.log
diff .migration/baseline-test.log .migration/final-test.log > .migration/test-delta.txt
Pass: no new failures beyond documented known list.
Шаг 7 — Human merge и postmortem
- Units spawned / failed / retried
- Wall-clock hours vs estimate
- Token spend (Anthropic usage dashboard)
- Defects в staging за 7 дней
Merge в main за feature flag при необходимости.
Тактики parallel subagents на 100k LOC
| Тактика | Деталь |
|---|---|
| Slice по dependency layer | Utils → domain → UI снижает cyclic merge pain |
| Mechanical first | Regex-safe renames до semantic refactors |
| One concern per unit | «Migrate HTTP client» отдельно от «Migrate state management» |
| Idempotent scripts | Workers run codemod CLI; LLM fixes fallout only |
| Verifier owns flake detection | Retry failed tests once; escalate second failure |
Anthropic отмечает, subagents могут работать дольше на Opus 4.8 — всё равно задайте явные wall-clock ceilings (напр. 20 мин на unit), чтобы один hung worker не блокировал tree.
Troubleshooting
Ошибка A — «Migration complete», но CI red
Pattern: lead summary — success; npm test падает локально.
Fix:
- Re-open session с
.migration/final-test.log. - Prompt:
Enumerate failing tests by work unit from units.json. Respawn only failed units. - Block merge пока verifier не ссылается на passing CI run URL или log hash.
Ошибка B — Merge conflict storm
Pattern: >30% units трогают одни 5 files (напр. central index.ts).
Fix: Re-plan с serialization lane для shared files — один subagent владеет barrel exports; остальные patches sequential.
git diff --name-only migration/opus-48-baseline...HEAD | sort | uniq -c | sort -nr | head
Files с count > 3 — merge hotspots.
Ошибка C — Rate limits / token exhaustion
Pattern: subagents stall mid-tree; partial commits на branches.
Fix: Pause fan-out; merge completed units; resume с меньшим batch (напр. 25 units). xhigh только на remaining hard slices — не full repo restart.
Рекомендуемый путь по размеру команды
| Если вы… | Действие |
|---|---|
| Solo full-stack | 100k migration в 3 waves (utils → services → UI); без Big Bang merge |
| Startup 2–5 | Один human — manifest + merge; agents — slices |
| Platform team | Codemods + CI; Dynamic Workflows только для semantic gaps |
Только один weekend: scope 20k LOC с full tests; докажите workflow перед ставкой на monolith.
FAQ
Что такое Claude Code Dynamic Workflows?
Режим orchestration research preview, где Claude Code планирует крупную задачу, запускает много параллельных субагентов в одной сессии и верифицирует вывод до завершения — для repo-scale работ вроде миграций (источник).
Нужен ли именно Claude Opus 4.8?
Anthropic привязала Dynamic Workflows к поколению Opus 4.8 для более длинных и надёжных agent runs. Используйте model id claude-opus-4-8 и проверьте, что план включает research-функции Claude Code.
Может ли один человек рефакторить 100k+ строк?
Один человек может оркестрировать, если CI сильный и transforms в основном механические. Semantic rewrites всё ещё требуют human review lanes — Dynamic Workflows сжимают календарь, не ответственность.
Сколько parallel subagents запускается?
Anthropic указывает сотни в одной сессии на крупных миграциях. Эффективное число должно ограничиваться данными merge conflicts, а не теоретическим максимумом.
Какая планка для «готово»?
Существующий automated test suite — не self-report модели. Вывод verifier — pre-merge checklist, не замена CI.
Заменяет ли это агентов типа OpenClaw/Dify?
Нет. Claude Code Dynamic Workflows — IDE-centric repo refactors. Orchestration platforms (OpenClaw + Dify) решают другие задачи — ops automation и multi-system workflows — и не заменяют дисциплинированный migration runbook.
Читать также
Запустите runbook миграции на своём стеке
Статья нейтральна к хостингу. Для долгих CI или агентов на macOS сравните варианты на странице цен.