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

# На что способен бесплатный Devin: тест на реальном проекте
Искусственный интеллект продолжает захватывать рынок программного обеспечения, предлагая обещания полной автономности. Компания Cognition AI позиционирует своего продукта Devin не как простого редактора кода, а как полноценного инженера, способного планировать, писать и исправлять программы без участия человека. В этой статье мы проведем строгий эксперимент: попробуем заставить бесплатную версию Devin реализовать сложное приложение с нуля и посмотрим, сколько работы он способен выполнить самостоятельно.
Мы выберем задачу, требующую интеграции нескольких компонентов: базы данных, веб-интерфейса, работы с внешними API и мессенджера. Задача: создать сервис «Cheap Flights Alert», который отслеживает цены на авиабилеты по заданным маршрутам и отправляет уведомления пользователю через Telegram, если цена падает ниже установленного порога.
Как работает режим автономности
Существует несколько версий Devin: облачная, командная строка и десктопная среда (Devin Desktop). Для этого теста мы использовали десктопную версию, которая базируется на платформе Windsurf. Интерфейс здесь отличается от привычных IDE. Вместо стандартной панели файлов по умолчанию открывается доска сессий (Board view), напоминающая канбан-доску.
Это ключевой момент философии продукта: режим Agent (Агент) предназначен для запуска фоновых процессов. Пользователь формулирует задачу, Devin разбивает её на шаги, выполняет их и выдает отчет. Это не диалог с ассистентом, а наблюдение за работой виртуального разработчика. Система работает в цикле: модель анализирует задачу (Thoughts), ищет информацию в сети (Searched web) и обновляет список задач (Updated todo list).
Важно отметить ограничения бесплатной версии: на старте доступен только одна модель — SWE-1.6 Slow. Это влияет на скорость выполнения, но не на качество логики в данном контексте.
Архитектурные решения ИИ
Я поставил задачу Devin сформулировать в виде общих требований, не указывая конкретный стек технологий. Агент должен был сам выбрать инструменты для бэкенда, фронтенда, базы данных и API для поиска билетов.
Агент проанализировал доступные источники данных. Вариантов было несколько: Aviasales, Skyscanner, Kiwi.com и Travelpayouts. После поиска в интернете Devin остановился на Travelpayouts. Причиной выбора стала простота регистрации API и привязка к рубли, что важно для русскоязычного региона. Однако агент упомянул, что данные у партнера обновляются с задержкой до двух суток. Для системы оповещений это критичный минус: уведомление может прийти пользователю, когда дешевый билет уже давно куплен.
Для бэкенда агент выбрал FastAPI и базу данных PostgreSQL. Фронтенд был реализован на React. Выбор классический и рабочий. Авторизацию система построила через ввод Telegram ID, отказавшись от сложной OAuth-связи, что ускорило разработку, но могло создать уязвимости при масштабировании.
Особое внимание заслуживает работа с датами. В техническом задании я просил гибкий поиск билетов с разбросом в ±3 дня от выбранной даты. Devin, пытаясь упростить логику и снизить нагрузку на API, реализовал поиск по фиксированному окн между двумя конкретными датами. Это сделало задачу проще для ИИ, но снизило полезность сервиса для пользователя, которому нужны именно «гибкие» даты.
Этапы реализации и проблемы сборки
Процесс разработки занял около 20 минут активной работы агента. Он составил план из 10 пунктов, создал структуру проекта, написал Dockerfile и docker-compose.yml, а также репозиторий с тестами. Однако, когда наступила пора запускать проект локально, начались сложности.
Первая ошибка возникла при сборке фронтенда. Devin использовал устаревшую версию Node.js, из-за чего сборщик rolldown не запустился. Агент быстро обнаружил причину и предложил переключиться на Node.js 22. Следующая проблема оказалась в коде самого бота: присутствовал неиспользуемый импорт библиотеки requests, из-за чего процесс запуска прерывался с ошибкой.
Дальнейшая отладка потребовала вмешательства человека. Были выявлены проблемы с авторизацией, некорректная передача данных с фронтенда на бэкенд и ошибки в формате полей базы данных. Несмотря на наличие тестов, написанных агентом для проверки сравнения цен и дедупликации уведомлений, код требовал ручной правки.
Итог этого этапа: Devin успешно создал структуру и базовую логику, но готовый, работающий прототип с первой попытки не получился. Проект заработал только после того, как разработчик взял на себя роль ведущего, исправляя баги, допущенные ИИ.
Деплой на виртуальный сервер
Далее мы проверили возможность развертывания проекта на сервере Selectel. Для этого мы арендовали виртуальную машину (VDS) с Ubuntu 24.04 LTS, 1 ядром и 1 ГБ оперативной памяти.
Задача для Devin заключалась в следующем: подключиться к серверу по SSH, проверить наличие Docker, передать туда проект, настроить переменные окружения и запустить сервисы.
Процесс начался успешно: агент клонировал репозиторий, установил зависимости и заполнил файл .env. Однако при попытке собрать Docker-образы процесс столкнулся с нехваткой ресурсов. Сборка занимала слишком много времени и потребляла память, что приводило к тайм-аутам. Агент корректно диагностировал проблему и рекомендовал увеличить объем памяти сервера.
После масштабирования до 2 ГБ RAM процесс пошел успешно. Devin настроил автозапуск сервисов после перезагрузки сервера, установил лимиты памяти для контейнеров и подготовил инструкцию по обновлению кода в будущем.
Заключение
Эксперимент показал, что Devin на бесплатном тарифе способен реализовать сложную, многокомпонентную задачу с нуля. Он самостоятельно выбрал архитектуру, нашел подходящие API, написал код для бэкенда, фронтенда и мобильного приложения в Telegram, а также настроил контейнеризацию для удобного деплоя.
Однако слово «автономный» в данном случае стоит использовать с оговоркой. В реальном проекте ИИ стал мощным инструментом для генерации первого черновка, но критические ошибки сборки и логические упрощения в требованиях (с датами) потребовали активного участия человека. Devin не выдал готовый продукт «под ключ» с первого раза.
Таким образом, Devin может сократить время планирования и написания кода, но он пока не готов заменить разработчика полностью. Он способен превратить сырую идею в работающий прототип, но путь от прототипа до релиза по-прежнему лежит через отладку и проверку человеком.
Сервис успешно отправляет уведомления о дешевых билетах, веб-панель позволяет добавлять маршруты, а бот работает на выделенном сервере. Devin доказал свою эффективность как ускоритель разработки, но вопрос полной замены программистов остается открытым.