Автономная фабрика кода
Мульти-агентный пайплайн с kill gates — Flutter-приложение 25-40 файлов за 15-30 мин, 3× быстрее sequential генерации
Что не работает
Генерация кода одним вызовом LLM даёт файлы, которые не компилируются и не связаны между собой. Без оценки качества плохие идеи проходят через дорогие этапы. Каждая ошибка — перегенерация всего проекта ($0.50–2.00, 30+ мин). Нужна система, которая и генерирует эффективно, и отсекает слабое на входе.
Архитектурный подход
Мульти-агентная оркестрация с встроенной самооценкой. Генерация: PlannerAgent → PlanReviewPanel (4 модели, кворум ≥3/4) → DAG-сортировка → TaskExecutor параллельно → TaskReviewer с retry ≤3×. Оценка: Critic (0–10 по 5 критериям) + 3 kill gates (min_critic_score, compliance_risk, cannibalization) отсекают слабые идеи до дорогих этапов. Judge (26 пунктов, 100 баллов) верифицирует итоговое качество.
Что было сложно
Главная сложность — отладка мульти-агентной системы из 11 микросервисов, где баг может быть в любом из агентов или в их взаимодействии. Первая версия (single LLM call) генерировала нерабочий код в 60% случаев — пришлось полностью переписать архитектуру на DAG с retry per file. 553 теста писались параллельно с кодом, потому что без них невозможно рефакторить систему такого масштаба в одиночку.
Моя роль и вклад
Архитектор и единственный разработчик
Спроектировал и реализовал с нуля полную архитектуру: PlannerAgent, DAG-планировщик с топологической сортировкой, TaskExecutor/TaskReviewer, PlanReviewPanel (4 модели), kill gates в оркестраторе, Redis pub/sub для real-time прогресса. 11 микросервисов, 553 теста. Вся кодовая база — мой проект.
Как это выглядит
Реальные скриншоты
Архитектура системы
Как это работает
Топологическая сортировка задач по зависимостям → параллельное исполнение на каждом уровне DAG через asyncio.gather(). Claude CLI как движок агентов. Kill gates встроены в router оркестратора — решение до запуска кодогенерации. Redis pub/sub для прогресса в реальном времени. PostgreSQL для персистенции. Типичный проект: Flutter-приложение 25-40 файлов. Все отсечения логируются (kill_stage + kill_reason) для аналитики воронки.
Почему именно так
DAG-планировщик + kill gates вместо линейной очереди
Последовательная генерация файлов или batch-промпт на весь проект без предварительной фильтрации
Последовательная: независимые файлы ждут зря. Batch: контекст переполняется. Без kill gates: дорогие этапы запускаются для проектов, которые не пройдут.
3× ускорение кодогенерации + fail-fast для слабых идей. Retry на файл, не проект
Результаты
- 01
- 27/27 пунктов judge — PASS 100/100, 553 теста, 0 ошибок
- 02
- 3× быстрее vs последовательная генерация (замер на 25-40 файловых Flutter-проектах)
- 03
- −70% затрат на ошибки (retry на файл, не проект)
- 04
- 3 kill gates на 7 стадиях — слабые идеи отсекаются до кодогенерации
- 05
- 0 ручных вмешательств на полном прогоне
Влияние на бизнес
Полный цикл идея → готовый Flutter-код за 15–30 минут без участия человека. Kill gates отсекают слабые идеи до дорогой кодогенерации ($0.50–2.00 за прогон). Retry на один файл вместо всего проекта — экономия до 70% токенов при ошибках. Аналитика kill_reason показывает паттерны слабых идей → улучшение генерации на входе.
Алгоритмы и паттерны
Технологии
- Python
- asyncio
- Claude CLI
- PostgreSQL
- Redis Streams
- FastAPI
- SQLAlchemy