Игорь Градов
Игорь Градов
6 мин
ai

Разработка ИИ-агентов на практике: платформа на Laravel с 1300 тестами без единого программиста

Автор-аналитик, не умеющий писать код, собрал полноценную Laravel-платформу силами Claude Code и делится конкретными граблями, на которых горят даже опытные команды, от несовпадения баз данных на локалке и в проде до багов мобильной клавиатуры, невидимых в эмуляторе.

Разработка ИИ-агентов на практике: платформа на Laravel с 1300 тестами без единого программиста
Почему это важно

Разработка ИИ-агентов для кода вышла из стадии демо: здесь реальное приложение с 1300+ автотестами, очередями, WebSocket и OAuth живёт на боевом сервере, а единственный «программист» в команде это нейросеть.

Блогплатформа «Думайте» собрана двумя людьми: аналитиком, который не пишет продакшн-код, и дизайнером интерфейсов. Весь код генерировал Claude Opus через Claude Code, агентный режим работы с кодовой базой от Anthropic. Автор описывает не рекламный кейс, а инженерный дневник с конкретными поломками и выводами, которые пригодятся любому, кто пробует разработку ИИ-агентов в связке с Laravel.

Какой стек стоит за платформой?

Проект далёк от учебного CRUD-приложения. Вот что внутри:

  • Бэкенд: PHP 8.4, Laravel, Livewire, очереди через Horizon, реалтайм на WebSocket (Reverb)
  • Данные: MySQL 8 в проде, полнотекстовый поиск на Meilisearch (через Scout), Redis, медиа на S3
  • Фронт: Livewire + Alpine.js + Tailwind, кастомный редактор на TipTap, PWA (Progressive Web App, приложение, которое работает из браузера как нативное) с web-push-уведомлениями
  • Авторизация: OAuth через VK, Яндекс, Telegram
  • Тесты: больше 1300 автотестов на Pest, запускаются перед каждым деплоем (выкаткой на боевой сервер)
  • Админка: Filament

Релиз не «вышел сам»: автор выступал архитектором, продакт-менеджером и тестировщиком одновременно. Нейросеть заменила только операцию «набирать код руками».

Что понадобится

  • Claude Pro или Team с доступом к Claude Code (агентный режим работы с файлами проекта)
  • Laravel-проект с настроенным окружением (PHP 8.4, Composer, Node.js)
  • MySQL 8 и на локальной машине, и на сервере (критично, объясню ниже)
  • Git для контроля версий и просмотра диффов (diff, разница между версиями кода)
  • Тестовый фреймворк Pest (или PHPUnit), подключённый с первого коммита
  • Около 30 минут на настройку среды, дальше итерации по фичам

Пошаговая инструкция

  1. Опишите фичу как аналитик, а не как программист. Не «сделай оценки», а полная спецификация: сущности, инварианты (правила, которые не должны нарушаться ни при каких условиях), граничные случаи, поведение на мобильном экране. Пример промпта:
Нужна модель голосования по двум осям: «Полезно» и «Интересно».
Каждый пользователь может проголосовать один раз за запись.
При отзыве голоса пересчитай агрегат.
Лимит: не больше 50 голосов в сутки на пользователя.
Покажи схему БД и объясни выбор индексов.
  1. Попросите ИИ-агента предложить архитектуру и схему базы данных. Не принимайте первый вариант. Задайте уточняющие вопросы: какие индексы, нет ли проблемы N+1 (когда ORM делает отдельный запрос на каждую строку вместо одного общего), как пройдёт миграция на живых данных, сохранится ли обратная совместимость.

  2. Получите код и тесты одним запросом. Ключевое правило: ни одна фича не считается готовой без покрытия тестами. Пропишите это в системных инструкциях Claude Code с первого дня.

  3. Читайте диффы, а не слепо принимайте. Вы не обязаны понимать каждую строку как сеньор-разработчик, но обязаны видеть логические дыры: «а что будет, если пользователь отправит пустую строку?», «а если у автора нет ссылок в профиле?».

  4. Гоняйте тесты перед каждым деплоем. 1300+ тестов в описанном проекте это не перфекционизм, а, по словам автора, «протез зрения для не-программиста». Без тестов вы слепы.

  5. Выровняйте локальную среду с боевой. Если в проде MySQL, на локалке тоже должен быть MySQL той же версии. SQLite на локалке и MySQL в проде это гарантированный источник невоспроизводимых ошибок.

  6. Проверяйте мобильную версию на реальных устройствах. Ни один эмулятор не воспроизводит поведение экранной клавиатуры в Chrome на Android, Яндекс Браузере и Safari на iOS одновременно.

Как это применить

Автор менял формат поля «список ссылок» в профиле: простые строки стали массивом объектов. Claude Code обновил всех известных потребителей поля, но пропустил один самописный фрагмент, который вызывал parse_url() в расчёте на строку. В PHP parse_url(массив) бросает ошибку. Результат: ошибка 500 на каждой странице записи, где отображался блок автора. Исправление заняло минуты, но урок дорогой: любое изменение формата данных это изменение контракта для всех, кто это поле читает. Теперь в проекте действует правило: смена формата только с полным аудитом потребителей и тестом на реальной странице.

Частые ошибки

SQLite на локалке, MySQL в проде. MySQL строже относится к группировкам (режим only_full_group_by), а некоторые функции, одинаковые по названию, ведут себя в двух СУБД (системах управления базами данных) по-разному. Код выглядит «правильным», но на боевом сервере падает с ошибкой 500. Автор перевёл локальную разработку на MySQL 8, и целый класс продовых багов просто исчез.

Фича без тестов. Если вы не пишете код сами, тесты это единственный способ убедиться, что сгенерированный код делает то, что вы задумали. Без них каждый деплой это лотерея.

Слепое доверие к мобильной вёрстке. ИИ напишет логически безупречный CSS, но панель ввода комментария, которая должна держаться над клавиатурой, в трёх браузерах на трёх устройствах ведёт себя по-разному. Автотест этого не поймает, только живой телефон в руках.

Промпт без контекста. «Сделай авторизацию» это не задача. «Сделай OAuth через VK, Яндекс и Telegram, вот callback-URL, вот что хранить в сессии, вот что показать при ошибке» это задача. ИИ-агент знает весь стек, но не знает, зачем вы это делаете.

Что с этого вам прямо сейчас?

Разработчику на Laravel. Описанный workflow это готовый шаблон: формулируете фичу как спецификацию, получаете код с тестами, читаете диффы, держите паритет сред. Если вы уже пишете код сами, ИИ-агент ускорит рутину, но архитектурные решения и аудит миграций останутся на вас.

Аналитику или продакт-менеджеру. Кейс показывает, что «не умею кодить» больше не блокирует запуск. Узкое место сместилось: теперь главный навык это умение декомпозировать задачу, продумать граничные случаи и написать внятную спецификацию. Кодинг стал дешёвым, мышление нет.

Предпринимателю в РФ и СНГ. Claude Code доступен через подписку Claude Pro. Из российских аналогов для генерации кода можно смотреть на GigaCode от Сбера, но по агентным возможностям (когда модель сама навигирует по проекту, правит файлы, запускает тесты) прямого аналога пока нет. Стек Laravel + MySQL + Redis полностью доступен и широко используется в России.

Мнение редакции dzen.guru

Этот кейс ценен не тем, что «ИИ написал весь код», а тем, что честно показывает: разработка ИИ-агентов для продакшна требует той же инженерной дисциплины, что и обычная разработка. Из процесса вынули одну операцию, набор кода, а всё остальное (архитектура, тестирование, паритет сред, проверка на железе) осталось на людях. По нашим наблюдениям, большинство провалов с ИИ-кодогенерацией случается не из-за плохой модели, а из-за того, что человек решил, что тесты и код-ревью больше не нужны. Нужны. Даже больше, чем раньше.

Самый практичный вывод из всего кейса укладывается в одно правило: чем точнее вы описали задачу до первого промпта, тем меньше граблей после деплоя. ИИ-агент это неутомимый сеньор-разработчик без контекста, и контекст ему даёте вы.

Научитесь формулировать задачи для ИИ

В dzen.guru мы разбираем промпт-инжиниринг на практике, от текстов до кода. Попробуйте наши инструменты для работы с нейросетями.

Попробовать
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Selectel запустила бесплатный кроссворд про искусственный интеллект: 100+ вопросов за 4 дня
ai

Selectel запустила бесплатный кроссворд про искусственный интеллект: 100+ вопросов за 4 дня

Компания Selectel запустила третий сезон бесплатного онлайн-кроссворда на Хабре, целиком посвящённого искусственному интеллекту и машинному обучению, и принять…

4 мин
ai

MCP протокол заменяет десятки коннекторов: как подключить ИИ к любому сервису

MCP протокол (Model Context Protocol) появился в конце 2024 года как открытый стандарт от Anthropic, и за полгода превратился в инструмент, который меняет…

6 мин
Бионика и искусственный интеллект: почему 99% точности в лаборатории не работают на улице
ai

Бионика и искусственный интеллект: почему 99% точности в лаборатории не работают на улице

Бионика и искусственный интеллект звучат как союз будущего, но между лабораторной точностью в 99% и реальной пользой для пациента лежит барьер, который пока не…

7 мин