От часов к минутам: как мы перестали ждать и начали делать
Типичная история конца 2024 года: команда из пяти разработчиков тратит три недели на новый микросервис. Планирование, написание шаблонного кода, настройка Docker, конфиги, тесты – все это съедает время с удручающей регулярностью. Мы упирались в потолок скорости, и никакие agile-ритуалы не помогали. Потом мы попробовали вайб-кодинг с LLM. Не просто как игрушку для генерации hello-world, а как полноценный инженерный инструмент. Результат шокировал даже нас: среднее время на создание сервиса упало с 3 недель до 2-3 дней. Для отдельных компонентов – в 12 раз. Вот как мы этого добились.
Стек 2026 года: что работает, а что – просто хайп
Перепробовали всё. От открытых моделей на собственном железе до облачных API с астрономическими счетами. Итоговый стек – это компромисс между скоростью, стоимостью и качеством. Главный критерий: модель должна понимать контекст проекта, а не просто уметь писать функцию на Python.
- Основная рабочая лошадка: Claude 4 Sonnet (2025 Release). Да, он платный. Но его контекст в 200K токенов и понимание сложных архитектурных задач не идет ни в какое сравнение с остальными. Используем для проектирования, рефакторинга больших кусков кода и работы с уже существующей кодобазой.
- Для локальных экспериментов и быстрого кодинга: Qwen Coder 32B (Qwen4-Coder-Instruct, квантование Q4_K_M). Запускаем через оптимизированный llama.cpp. На Mac M4 Pro 64GB выдает 40-50 токенов/с, что достаточно для интерактивной работы. Идеален для генерации boilerplate-кода, DTO, простых CRUD-операций.
- Инференс-сервер для команды: vLLM с Qwen3.5 28B. Развернут на отдельной машине с B200 GPU. Почему не самая новая модель? Потому что для vLLM есть отлаженные конфиги, и она стабильно работает в режиме одновременного обслуживания 5-7 разработчиков без деградации скорости.
- Инструменты интеграции: Cursor IDE (режим Agent), Windsurf (для работы с промптами), самописный CLI-тул на Go для батч-генерации файлов проекта.
Неочевидный лайфхак: Не гонитесь за самой новой моделью. Qwen Coder 32B (2025) в 90% задач кодинга бьет GPT-5 Turbo (2026) по точности и следует инструкциям лучше. Потому что она заточена именно под код, а не под общие диалоги. Выбор модели – это про ваши задачи, а не про цифру версии.
Промпты, от которых у модели не срывает крышу
Самая большая ошибка – думать, что промпт это «напиши мне микросервис». Так вы получите либо ерунду, либо код, который невозможно поддерживать. Наш подход – структурированный контекстный промптинг. Мы даем модели не задачу, а роль, рамки и конкретные примеры.
1 Архитектурный брифинг (Context Anchor)
Первым сообщением в сессии загружаем в модель контекст всего проекта. Это не 10 тысяч строк кода, а выжимка.
ТЫ: Senior Backend Engineer с 10-летним опытом в Go и Python.
КОНТЕКСТ ПРОЕКТА:
- Проект: «Платежный агрегатор» (paygate)
- Стек: Go 1.24, PostgreSQL 17, Redis 7.4, gRPC, Docker, k8s
- Стиль кода: без глобальных переменных, error handling с wrapping, logging через slog
- Существующие сервисы: user-service (порт 8080), auth-service (порт 8081)
- Задача: создать новый микросервис `transaction-service` для обработки платежей.
ТРЕБОВАНИЯ К НОВОМУ СЕРВИСУ:
1. Должен принимать платежи через REST API (эндпоинт POST /api/v1/process)
2. Валидировать входящие данные по схеме (см. ниже)
3. Сохранять транзакцию в БД со статусом PENDING
4. Отправлять асинхронное событие в Kafka (топик transactions)
5. Предоставлять эндпоинт для проверки статуса (GET /api/v1/status/{id})
СХЕМА ДАННЫХ ВХОДЯЩЕГО ЗАПРОСА (JSON Schema):
{
"type": "object",
"properties": {
"user_id": { "type": "string", "format": "uuid" },
"amount": { "type": "number", "minimum": 1 },
"currency": { "type": "string", "pattern": "^[A-Z]{3}$" }
}
}
СГЕНЕРИРУЙ ПОЛНУЮ СТРУКТУРУ ПРОЕКТА (список файлов и краткое описание каждого). После этого приступи к поэтапной реализации.
2 Итеративное уточнение (Step-by-Step Refinement)
Не просим сразу весь код. Сначала получаем структуру, потом просим реализовать конкретный файл, например, `internal/models/transaction.go`. После генерации проверяем, даем фидбек: «Добавь валидацию поля amount на максимальное значение 1000000». Модель корректирует. Так мы держим контекст под контролем.
Архитектура процесса: где сидит человек, а где – модель
Ключевой инсайт: LLM – не автономный программист. Это супер-умный ассистент, который работает под управлением инженера. Наша архитектура выглядит так:
| Этап | Действие человека | Действие LLM | Инструмент |
|---|---|---|---|
| Проектирование | Определяет бизнес-логику, API контракты, интеграции | Генерирует список компонентов, предлагает схемы БД, варианты архитектуры | Claude 4 + диаграммы Mermaid |
| Бойлерплейт | Выбирает из предложенных вариантов, корректирует | Пишет Dockerfile, docker-compose.yml, Makefile, конфиги логгера, подключение к БД | Qwen Coder 32B локально |
| Ядро логики | Пишет сложные алгоритмы, интеграционные тесты | Генерирует шаблонные handlers, репозитории, DTO, юнит-тесты | vLLM сервер (Qwen3.5 28B) |
| Ревью и рефакторинг | Анализирует код, ищет уязвимости, оптимизирует | Предлагает оптимизации, находит антипаттерны, генерирует документацию | Claude 4 (анализ всего кода разом) |
Эта схема убивает главную проблему – деградацию контекста. Модель не перегружается, потому что на каждом этапе получает четкую, ограниченную задачу. Человек остается архитектором, модель – универсальным исполнителем. Это и есть вайб-кодинг: состояние, когда ты не пишешь каждый символ, а дирижируешь процессом.
Цифры, которые заставят вашего тимлида задуматься
Мы измеряли все. Не «ощущения», а время от создания репозитория до первого работающего прототипа в dev-среде.
- CRUD-микросервис (Go, PostgreSQL, 5 эндпоинтов): Раньше – 5-7 дней. Сейчас – 6-8 часов. Ускорение в 10-12 раз.
- Интеграционный модуль (обработка событий из Kafka, запись в 2 БД): Раньше – 3 дня. Сейчас – 5 часов. Ускорение в 8 раз.
- Написание комплексных юнит-тестов (покрытие 80%+): Раньше – 1 день на модуль. Сейчас – 1-2 часа. Ускорение в 6-8 раз.
- Создание полного набора DevOps-артефактов (Dockerfile, Helm chart, CI/CD pipeline): Раньше – 1 день. Сейчас – 30 минут. Ускорение в 16 раз. (Да, это вообще нечестно).
Где спотыкается большинство: ошибки, которые сведут на нет весь gain
Ошибка 1: Доверять модели архитектуру. LLM в 2026 году все еще не понимает бизнес-контекст вашей компании. Она может предложить красивую, но абсолютно непригодную схему. Архитектор – вы. Модель – только инструмент.
Ошибка 2: Экономить на контексте. Давать модели задачу «напиши обработчик платежа» без указания, какие поля должны валидироваться, как называются таблицы в БД и куда слать ошибки – гарантированный путь к генерации мусора. Контекст – это бензин для LLM. Управление контекстом – ключевой навык.
Ошибка 3: Не проверять сгенерированный код. LLM ошибаются. Они могут использовать устаревшие методы, предлагать небезопасные конструкции (например, конкатенацию строк в SQL-запросах). Ревью кода от человека обязателен. Всегда.
Вопросы, которые вы зададите (и наши ответы)
А если у нас мало VRAM? Локальные модели не потянуть.
Используйте квантованные версии. Qwen Coder 32B в квантовании Q4_K_M отлично работает на 12 ГБ VRAM. Нет видеокарты? Сравнение моделей на слабом железе показывает, что даже на CPU с AVX2 можно добиться приемлемой скорости, если использовать оптимизации инференса. Или арендуйте инференс-сервер в облаке (наш vLLM кластер стоит около $300 в месяц на всю команду).
Модель выдает ошибку «exceeds context size». Что делать?
Разбивайте задачу. Не пытайтесь запихнуть весь проект в один промпт. Сначала сгенерируйте структуру, потом работайте с отдельными файлами. Если проблема в самом инструменте (например, llama.cpp падает с ошибкой контекста), проверьте настройки квантования и сборки.
Это же дорого? API Claude 4 стоит $75 за 1M токенов на вход.
Дорого – это платить пяти разработчикам три недели за написание шаблонного кода. Наш месячный счет за Claude 4 (используем только для проектирования и сложного рефакторинга) – $200-300. При экономии 400 человеко-часов в месяц. Математика простая.
А качество кода? Он же будет как у стажера.
Качество кода определяет не модель, а промпт и последующее ревью. Если вы явно зададите стиль, требования к обработке ошибок и структуре, модель выдаст код уровня мидла. Плюс, она не устает и не делает опечаток. Но финальное слово – за человеком. Всегда.
Что будет дальше? (Спойлер: еще быстрее)
К 2027 году, по нашим прогнозам, вайб-кодинг станет стандартом для 80% рутинной разработки. Модели будут лучше понимать длинный контекст (спасибо таким подходам, как WeDLM от Tencent). Интеграция в IDE станет настолько плотной, что вы будете просто надиктовывать архитектуру, а система – генерировать весь проект, сразу с тестами и деплоем. Главный навык разработчика сместится от умения писать код к умению ставить четкие задачи AI и проверять результат. Кто освоит этот навык сейчас – окажется в выигрыше. Остальные будут в растерянности смотреть, как их коллеги делают за день то, на что у них уходит две недели.
Начните с малого. Возьмите одну небольшую задачу, подготовьте для нее детальный промпт, как описано выше, и запустите с Qwen Coder или Claude. Сравните время. Вы удивитесь. А потом – привыкнете.