Введение в задачу
Как разработчик Swift/iOS, я хорошо знаком с такими концепциями, как MVVM, async/await и внедрение зависимостей. Однако, мне была поставлена задача создать полноценное веб-приложение на основе Next.js, что было для меня новым опытом. Вместо того, чтобы тратить две недели на изучение технологий, я решил использовать ИИ-агенты (Claude Code) для ускорения процесса разработки.
Описание проекта
Целью было создание веб-сервиса DubbAI, который может транскрибировать аудио/видео, переводить его и дублировать обратно на целевом языке. Проект был выполнен за 3 дня, и в результате были написаны 33 успешных теста. Несмотря на отсутствие опыта работы с Next.js в начале, я смог добиться успеха благодаря правильному подходу к использованию ИИ-агентов.
Ошибки и уроки
Одной из первых ошибок было то, что я попросил ИИ-агента написать код для реализации Google OAuth и схемы базы данных Turso. Хотя код был рабочим, он не соответствовал общей архитектуре проекта. Чтобы избежать подобных ошибок, я начал с того, что попросил ИИ-агента создать документ по дизайну архитектуры, который включал в себя описание данных, стратегию обработки ошибок и контракты API. Этот подход позволил мне выявить потенциальные проблемы на ранней стадии и избежать дорогостоящих ошибок.
Использование ИИ-агентов для проверки кода
Другой ошибкой было то, что я попросил один и тот же ИИ-агент проверить код, который он сам написал. В результате были получены только незначительные предложения, не выявившие никаких структурных проблем. Однако, когда я открыл новую сессию и попросил ИИ-агента проверить код с другой точки зрения, были выявлены несколько серьезных ошибок, включая отсутствие обработчика ошибок в OAuth-callback и невалидированную проверку сессии на маршруте API. Этот опыт показал, что ИИ-агент, написавший код, не всегда может его эффективно проверить.
Выводы и рекомендации
Использование ИИ-агентов может значительно ускорить процесс разработки, но важно использовать их правильно. Первым шагом должно быть создание плана и документа по дизайну архитектуры, который должен быть тщательно проверен и исправлен. Затем ИИ-агент может быть использован для реализации плана, а его код должен быть проверен с разных точек зрения, чтобы выявить потенциальные ошибки. Этот подход позволит разработчикам оставаться в контроле над направлением проекта и использовать ИИ-агенты для выполнения рутинных задач.