Команда ZeBrains начала 2025 год с признания: несмотря на то что Cursor, Windsurf и Copilot уже были в ежедневном обиходе, реального агентного подхода в работе не было — только продвинутый автокомплит. Переломным стал клиентский проект с жёстким условием: один разработчик, месяц, только ИИ-инструменты, никаких дополнительных специалистов.
Первый кейс — фармацевтика. Задача: автоматически сверять промоматериалы с содержимым сайтов и проверять корректность текстов. На входе — расплывчатое ТЗ в одном docx, на выходе — микросервисная система из пяти компонентов: Site Parser, OCR/VLM Extractor, Text Comparer на базе LLM, бэкенд на Keystone и фронтенд на Vue 3. MVP появился через две недели. Но когда разработчик заглянул внутрь, обнаружил, что около 40% кода можно безболезненно удалить: лишние поля в базе, ненужные связи, переусложнённая логика. Пришлось тратить токены на то, чтобы ИИ убирал собственную работу.
| Кейс | Стек | Команда | Время | Ключевой результат |
|---|---|---|---|---|
| Фармацевтика: сверка промоматериалов | Keystone, Vue 3, LLM, VLM | 1 разработчик | 2 недели до MVP | 5 микросервисов; ~40% кода оказалось лишним |
| Миграция внутреннего продукта | Keystone, TypeScript, Vue | 1 разработчик | не указано | Перенос данных без потерь через скрипты трансформации |
| CV-система для мясного производства | Vue + PrimeVue, Keystone, WebSocket | 1 разработчик | ~40 часов | Масштабируемая архитектура с авторегистрацией конвейеров |
Здесь сформулировался первый практический вывод: ИИ — сильный исполнитель, но слабый архитектор. Без чётких ограничений он решает задачу, но с избыточностью. Второй вывод касается декомпозиции: задачи лучше нарезать не по слоям («сделай бэк», «сделай фронт»), а по фичам — «реализуй такую-то функцию от базы до интерфейса». Агент способен одновременно писать в несколько сервисов и сам разбирается с контрактом между ними.
ИИ-агент генерировал до 40% лишнего кода — без явных архитектурных правил он переусложняет логику.
Второй кейс — миграция внутреннего продукта со Strapi на Keystone, переписывание бота с Go на TypeScript. Здесь нашёлся неочевидный приём для работы с большими объёмами данных: вместо того чтобы просить ИИ напрямую переписывать сотни строк SQL, разработчик попросил его написать скрипты для извлечения, преобразования и сборки дампа. Результат предсказуемее, воспроизводим и сработал почти с первого раза — без потерь данных. С тех пор это стало правилом: большие файлы, стили, CSV, дампы — всегда через скрипт, не вручную.
Третий кейс — система компьютерного зрения для мясного производства. Конвейерная лента, камера, анализ процента мяса на кости в реальном времени, сигнализация о перерасходе. Фронт на Vue + PrimeVue, бэкенд на Keystone, CV-сервисы подключались по WebSocket. Ключевое архитектурное решение: бэкенд не знал ни адресов, ни количества конвейеров — CV-сервисы сами регистрировались и привязывали к себе сессии. Задуманный под один конвейер проект получился легко масштабируемым. На всё, включая созвоны и доработки, ушло около 40 часов.
После трёх проектов встала системная проблема: у каждого разработчика в отделе свой инструмент, свои промпты, свой стиль. Код от разных ИИ выглядит по-разному. Решением стал собственный MCP-сервер — npm-пакет с сотнями markdown-файлов, описывающих архитектурные подходы, стеки, языки, Git Flow, CI/CD. Каждая тема написана с точки зрения разработчика: как поступать и почему именно так. Базу начали наполнять все отделы.
Но полевые испытания показали: правила сами по себе не работают. В одном из проектов MCP не подключился, и ИИ полностью проигнорировал базу знаний — собрал собственный дизайн, переписал бэк и фронт по-своему. Cursor rules и Windsurf rules тоже игнорировались. Проблему решил один файл — AGENTS.md в корне проекта. Его логика проста: всегда обращайся к базе знаний, всегда подключайся к MCP. После этого агент при каждом задании сверялся с базой, сам решал — генерировать новый код или переиспользовать существующий, дублирующий код исчез, логика ушла в переиспользуемые сервисы.
MCP (Model Context Protocol) — это стандарт, предложенный Anthropic в конце 2024 года для подключения языковых моделей к внешним источникам данных и инструментам. Он позволяет агенту обращаться к структурированным базам знаний, файловым системам или API прямо в процессе генерации кода. ZeBrains использовала этот механизм как способ передать корпоративные стандарты непосредственно в контекст агента — вместо того чтобы каждый раз вручную вставлять правила в промпт.
