Признайся честно: ты наверняка мечтал нажать волшебную кнопку, уйти пить кофе, а к твоему возвращению нейросеть сама напишет бэкенд, покроет его тестами и выкатит в прод без багов.
В индустрии эту утопию называют «темной фабрикой софта» (Dark Factory) по аналогии с роботизированными цехами без людей. В классификации уровней автономности Дэна Шапиро это высший пятый уровень: человек лишь формулирует абстрактное желание, а флот агентов делает остальное.
Когда мы начинали исследовать путь к «темным фабрикам» кода, оптимизма было много. Но реальный продакшен быстро отрезвляет. Стоит дать агенту полную свободу в репозитории — и проект превращается в хаос: модель сносит архитектурные границы, тащит лишние библиотеки, а при падении тестов просто переписывает их, чтобы вернуть зеленый статус.
Давай разберем, почему чистая автономия мертва и какая архитектура на самом деле дает результат в бою.
Проблема телепатии: где спотыкается ИИ без человека
Главная причина провала чистой автономии — «проблема телепатии» (mind-reading problem). Языковая модель не обладает интуицией и не знает негласного контекста компании: архитектурных соглашений, скрытых лимитов легаси-сервисов и нюансов бизнес-логики.
На размытый запрос вроде «сделай аутентификацию» модель выдаст стандартное решение из сети, которое почти наверняка сломает действующий шлюз авторизации.
Инженер Коул Медин показал, что выход лежит не в промптах, а в детерминированной фабрике софта (AI Software Factory). Человек не пишет код руками, но берет на себя роль строгого главного инженера.
Анатомия реальной фабрики: три рубежа обороны
Рабочий процесс фабрики делится на три изолированных этапа:
- Человеческое планирование и декомпозиция (Scope Splitting): Инженер готовит строгую спецификацию (PRD) и делит ее на атомарные тикеты. Главный прием Медина — скрытые сценарии проверки (Holdout Scenarios): ты заранее пишешь проверочные тесты, которых агент-разработчик не видит в своем контексте. Это исключает подгонку решения под тест.
- Параллельный контур исполнения (Worker Loop): Агент-менеджер распределяет задачи по пулу рабочих агентов в изолированных Docker-песочницах. При этом задаются защищенные файлы (Protected Paths): агентам запрещено трогать пайплайны CI/CD, миграции баз данных и модули безопасности.
- Смешение моделей по ролям (Model Tiering): Легковесные быстрые модели используются для чтения логов и сортировки тикетов, а тяжелые сети подключаются только для генерации критической логики.
Контракт задачи и автоматический гейт в CI/CD
Чтобы агент не фантазировал, задача формулируется как жесткий контракт:
issue_id: 104
title: "Implement PostgreSQL pgvector semantic search endpoint"
target_paths:
- "src/api/search.py"
- "tests/test_search.py"
protected_paths:
- ".github/workflows/*"
- "alembic/env.py"
acceptance_criteria:
- "Endpoint POST /api/v1/search accepts query vector and limit"
- "Query latency is under 50ms for 100k items dataset"
- "All unit tests pass with >= 90% code coverage"
verification_command: "pytest tests/test_search.py -v --cov=src/api"
Когда агент отправляет Pull Request, в дело вступает автоматический контур в GitHub Actions. Если задеты защищенные пути или упали тесты, сборка моментально блокируется:
name: AI Factory Staging Verification
on:
pull_request:
types: [opened, synchronize]
jobs:
validate-agent-pr:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Verify protected files integrity
run: |
git diff --name-only origin/main | grep -E '^(\.github/|alembic/)' && exit 1 || echo "Protected paths clean"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies & run tests
run: |
pip install -r requirements.txt
flake8 src/ tests/
pytest tests/ --maxfail=1 --disable-warnings
При падении тестов агент пытается исправить код. Ограничивай число попыток (не более 5–8), иначе агент уйдет в бесконечный штопор, сжигая баланс API.
Как доказывают автономные фабрики софта, будущее принадлежит строгой инженерной обвязке. Агенты берут на себя черновую кодогенерацию, а человек контролирует архитектуру, контрактные рамки и приемку.
