AI-First — это способ организации работы, при котором языковая модель постоянно включена в цикл разработки: написание кода, ревью, документирование, эксплуатация результата. Термин перекочевал из продуктового менеджмента, где «AI-first продукт» означает, что модель и есть продукт. В инженерной практике смысл уже и скучнее: модель — первый инструмент, к которому тянешься, и нужна причина, чтобы взять другой.
Оценки по моим проектам, а не замеры на стенде.
Что конкретно использую
Четыре вещи, по убыванию сэкономленного времени:
- Агентные CLI — Claude Code, Cursor. Отличие от окна чата принципиальное: агент читает репозиторий, выполняет команды, видит вывод и исправляется сам. Окно чата получает абзац контекста и угадывает.
- Модели в продакшене — GPT-4o-mini квалифицирует входящие лиды в Bitrix24. Достаточно дёшево, чтобы гонять на каждом лиде, достаточно точно для извлечения и классификации. Рассуждающие модели здесь — деньги на ветер.
- Структурированный вывод — JSON mode с фиксированной схемой вместо свободного текста, который потом разбираешь регулярками. Одна эта замена убрала бо́льшую часть плавающих ошибок в интеграции с CRM.
- Промпты в Git — промпт это код. Его правка меняет поведение для всех будущих запросов, значит ему место в системе контроля версий, с диффом и возможностью откатиться.
Три конкретных случая
Квалификация лидов. Менеджеры тратили 20–30 минут на лид, собирая бюджет, сроки и лицо, принимающее решение. Теперь вебхук срабатывает при создании лида, модель извлекает эти поля в JSON, CRM показывает их как поля сделки. Если уверенность ниже порога — лид уходит на ручную проверку, а не угадывается.
SEO-аудит. Python-движок собирает факты: коды ответов, мета-теги, структуру заголовков, битые ссылки, robots.txt. Детерминированная работа, модель в ней не участвует. Дальше модель превращает эту груду фактов в текст, с которым может что-то сделать клиент без технического образования. Разделение труда: измеряет код, объясняет модель.
Инфраструктура. Развернуть self-hosted хранилище на Raspberry Pi — Docker, обратный прокси, ACME-сертификаты, правила firewall, бэкап с проверкой восстановимости. Вечер вместо выходных, причём документация вышла лучше той, что я пишу уставшим в конце сборки.
Правила, без которых это не работает
Промпт — это техническое задание. «Сделай лучше» вернёт что-нибудь. «Перепиши эту функцию так, чтобы ошибки возвращались типизированным значением вместо null, сигнатуру сохрани, добавь тест на пустой ввод» вернёт то, что нужно. Бо́льшая часть претензий к качеству моделей, которые я слышу, — это претензии к качеству формулировок.
Вывод модели — это вход для проверки. Для всего детерминированного (миграции, деньги, права доступа) проверка означает тесты, а не вычитывание глазами. Глаза ловят очевидные ошибки. Тесты ловят остальные.
Не могу объяснить строку — строка не идёт в проект. Это ограничение удерживает AI-First от вырождения в копипаст. Оно стоит времени на входе и экономит гораздо больше на выходе: отладка кода, который ты никогда не понимал, — самая дорогая работа из существующих.
Контекст — это бюджет, а не ведро. Высыпать в окно весь репозиторий значит ухудшить ответ. Полезная нагрузка — относящиеся к делу файлы, реальный текст ошибки и ограничение, которое надо соблюсти.
Откуда на самом деле берутся отказы
Современные модели редко выдают бессмыслицу. Они выдают правдоподобное, и это проблема сложнее: правдоподобное проходит ревью. Конкретные типы отказов, с которыми я сталкиваюсь, по частоте:
- Выдуманные сигнатуры. Функция, которая должна была бы существовать, с аргументами, которые имели бы смысл, в библиотеке, где её никогда не было.
- Устаревшая конфигурация. Директивы, валидные две мажорные версии назад. На этом меня ловили и Caddy, и Docker Compose: ответ выглядит правильным и не проходит валидацию.
- Уверенно неверные константы. Таймауты, лимиты, номера портов, названные как факт. Вот эти опаснее всего: ничего не падает, система просто ведёт себя слегка неправильно.
Противоядие негероическое — сверяться с актуальной документацией прежде, чем применять что-либо, касающееся конфигурации.
Куда не пускаю
Архитектурные решения, всё, что касается денег и персональных данных, и всё, где ошибка одновременно дорогая и незаметная. Причина не в том, что модель не выдаст ответ. Причина в том, что я не могу дёшево его проверить, а непроверяемый результат при таких ставках — это риск, который я беру на себя лично.
Чего это стоит
Денег: меньше дневной ставки джуна, в месяц. Времени: первые две недели работаешь медленнее, потому что писать техзадания — отдельный навык, и большинство разработчиков, включая меня, приходят к нему неподготовленными.
Честный итог: AI-First переносит усилие с набора текста на формулирование и проверку. Если эти два занятия нравятся вам меньше, чем набор текста, станет хуже. Если интересной частью работы всегда было решать, что именно строить, — её станет больше.