186 команд и 54 агента: как Claude Night Market автоматизирует TDD, code review и поддержку проектов без ручных скриптов
Я — Денис Шохирев, архитектор агентных AI-систем из Фрайбурга. В DennisCraft AI Studio я внедряю автономные мультиагентные системы на базе Claude, Supabase, n8n, Doppler и своей инфраструктуры Postgres для B2B-клиентов в Германии, Австрии и Швейцарии. На проде нет времени объяснять агенту, что он забыл schema.sql или пропустил тесты — всё должно ловиться до коммита, без ручных скриптов. Проблема: Автоматизация TDD и поддержки в реальном проде Когда речь заходит о production-ready AI-системах,
Я — Денис Шохирев, архитектор агентных AI-систем из Фрайбурга. В DennisCraft AI Studio я внедряю автономные мультиагентные системы на базе Claude, Supabase, n8n, Doppler и своей инфраструктуры Postgres для B2B-клиентов в Германии, Австрии и Швейцарии. На проде нет времени объяснять агенту, что он забыл schema.sql или пропустил тесты — всё должно ловиться до коммита, без ручных скриптов.
Проблема: Автоматизация TDD и поддержки в реальном проде
Когда речь заходит о production-ready AI-системах, хаос начинается там, где нет жёсткой автоматизации на уровне тестов, code review и поддержки. Я видел, как за месяц в промышленной цепочке появляются дыры: тестовые пайплайны ломаются, LLM-агенты генерируют небезопасный SQL, а code review превращается в рутину. 186 команд в моём Night Market и 54 специализированных агента закрывают эти дыры — и делают это без ручного копипаста и bash-скриптов.
Архитектура: 54 агента как паттерн, а не фреймворк
В Night Market нет "магического" продукта или очередного orchestration layer. Агент — это паттерн: связка Claude Code, Supabase, n8n и нескольких утилит для конкретной задачи. Пример — агент для автотестирования пайплайнов:
import supabase
import subprocess
def run_pytest():
result = subprocess.run(["pytest", "--maxfail=1", "--disable-warnings"], capture_output=True, text=True)
return result.stdout
def log_result(supabase_client, log):
supabase_client.table("test_logs").insert({"log": log}).execute()
if __name__ == "__main__":
sb = supabase.create_client("SUPABASE_URL", "SUPABASE_KEY")
log = run_pytest()
log_result(sb, log)
Это типовой агент: берет команду из очереди, исполняет её (TDD или code review), сохраняет результат в Supabase и пушит alert через n8n, если нужно.
Как работают 186 команд: без скриптов и ручного пайплайна
Все команды Night Market — это декларативные JSON-объекты, которые агенты забирают из Supabase. Пример команды для проверки безопасности Python-кода:
{
"type": "security_scan",
"tool": "semgrep",
"target": "repo/src/",
"ruleset": "p/ci"
}Агент парсит команду, вызывает semgrep с нужными правилами, сохраняет summary в базу и триггерит уведомление, если найдены критические паттерны (например, CWE-89).
| Паттерн | Инструмент | Триггер | Результат |
|---|---|---|---|
| SQL Injection | semgrep | Security Scan | Alert + log |
| Hardcoded secrets | gitleaks | Pre-commit | Block PR |
| Deprecated API | bandit | CI/CD | Warning |
Реальные метрики: что ловится в проде
На трёх последних внедрениях агенты поймали один и тот же баг: LLM-генерируемый backend-код с неконтролируемым user input, который приводил к SQL-инъекциям в Postgres. Система сразу блокировала pull request и отправляла лог через n8n в Slack. Без интеграции semgrep и bandit это бы ушло в прод. Аналогично, gitleaks ловит hardcoded API-ключи — в 2 кейсах это спасло от утечки прод-секретов.
Как устроены code review и поддержка
Code review — это отдельный агент, который использует Claude Code и OpenAI Cookbook (https://github.com/openai/openai-cookbook) для анализа pull request. Алгоритм:
- Парсинг diff с помощью Claude Code.
- Запуск semgrep/bandit/gitleaks по diff.
- Сравнение с внутренней базой известных паттернов.
- Автоматическая генерация summary и рекомендации в Supabase.
- Push в n8n для оповещения ревьюера.
Поддержка — это отдельные агенты, которые мониторят логи ошибок (через Supabase triggers) и запускают remediation-скрипты, если ошибка повторяется более 3 раз за 24 часа.
Управление секретами: Doppler и Supabase
Секреты (ключи, токены, пароли) не хранятся в коде. Doppler управляет всеми секретами: агенты получают временные токены через API, и каждый агент работает в отдельной среде. Это критично для compliance в DACH. Если секрет устарел или скомпрометирован — автоматическая ротация по webhook.
Публичная система: Night Market live
Часть Night Market доступна публично: live.gerdennisai.com. Там можно наблюдать, как агенты реально исполняют команды, генерируют отчёты и реагируют на инциденты. Вся архитектура построена на открытых инструментах — никаких "чёрных ящиков".
FAQ
Какой стек лучше всего интегрируется с Claude Code?
Supabase для хранения задач и логов, n8n для оркестрации, Doppler для управления секретами, плюс стандартные open-source security-инструменты.
Сколько агентов реально нужно для SME-команды?
В среднем — от 7 до 15, если покрывать только тесты, code review и мониторинг. Но масштабировать легко до 50+ на enterprise-уровне.
Можно ли использовать Night Market для non-Python проектов?
Да, паттерн поддерживает любые языки: достаточно подменить инструменты (например, eslint для JS, shellcheck для bash).
Какой этап pipeline чаще всего ловит уязвимости?
По моим наблюдениям, самое полезное — pre-commit + code review. Но runtime monitoring критичен для сложных интеграций.
Как Night Market проходит комплаенс-аудит?
Весь стек логируется, все секреты — только через Doppler, никакие LLM-токены не хранятся в открытом виде, отчёты доступны для внешнего аудита.
Ваша команда ловит больше багов на стадии статического анализа, runtime или ручного ревью? Напишите, где у вас затык в проде. Я делаю бесплатный 30-мин аудит стека для DACH-команд, кто строит AI в регуляторных рынках. Пишите в LinkedIn или @ger_dennis_ai.
Turn your process into an AI system
Fixed price. Production quality. DACH B2B focus.