Многие слышали про AutoGPT и GPT Engineer — агентные системы, которые позволяют генерировать код по промпту от пользователя. Меня зовут Евгений Кокуйкин. Я руководитель AI продуктов компании Raft. Сегодня расскажу про Replit Agent — AI Copilot для написания кода без знаний в программировании. Без шуток! Раньше у меня на такие прототипы уходили часы кодинга и отладки. А сейчас я сгенерировал код приложения через агент — быстрее, чем писал эту статью. Так что теперь можно участвовать в хакатоне, не зная Python.
Replit — это онлайн-IDE, где с помощью AI можно быстро создать прототип приложения и задеплоить его прямо в облаке. Недавно вышла экспериментальная фича Replit Agent, которая стоит 25 баксов. Правда, для оплаты потребуется зарубежная карта, но это уже каждый сам решает, стоит заморачиваться или нет. Эта фича позволяет начать генерацию проекта одним промптом. Я так вдохновился постом Степана Гершуни, что тестировал кодинг-агента в Replit, а потом не спал всю ночь, записывая впечатления. Так появился этот обзор.
Для теста решил сделать минимальную версию нашего рабочего продукта audioinsights.ru. Мой промпт: «Хочу создать приложение, которое будет брать URL видео с YouTube, расшифровывать его с помощью OpenAI Whisper и позволять задавать вопросы по транскрипции.»
Далее агент предложил добавить фичи: кеширование транскрипций, выгрузка результата в CSV и т.д. Выбрал пару фичей и запустил генерацию. Бэкенд агент написал на Flask, фронтенд — на ванильном JavaScript. Replit запросил ключ от OpenAI. Через пару минут появился скелет веб-приложения с базовыми контролами. Запускаю — не работает.
И тут началось самое интересное — режим отладки. Агент постоянно спрашивает: «Вы видите такую-то кнопку? Введите адрес YouTube-видео и нажмите на кнопку. Вы получили транскрипцию?». Я естественно все делаю, как он пишет. Но несколько раз при попытке скачать видео возникают ошибки, но когда агент добавил yt_dlp — загрузка прошла успешно.
То есть, на отладку загрузки файла ушло минут 10, а вот скачивание отчета с ответами на вопросы заняло значительно больше времени. Отладка не потребовала знаний программирования. Всё, что было нужно, это отвечать на вопросы агента и ждать, пока он исправит код и передеплоит проект. Агент оказался достаточно умным, чтобы править различные corner cases. Например, вначале я стал тестировать транскрибацию часовых видео. Посыпались ошибки загрузки, а потом работы с OpenAI API, но агент все быстро обработал и в итоговой версии загрузка велась чанками, а работа с GPT шла через саммари на длинных видео. Магия какая-то!
Работа с отладчиком напоминает взаимодействие в команде: менеджер выдает задачу, программист ее берет, отправляет на тестирование, и если не работает — заводят баг, программист исправляет, и так по кругу, пока приемка не завершена. Для тех, кто хочет полного погружения, есть функция голосового ввода — можно даже проводить дейли с агентом. :)
Каждая фича сохраняется в отдельный коммит, и можно переключаться между версиями во время работы над проектом. Как только проект готов, его можно задеплоить, и доступны разные варианты: выделенная VM, автоскейлинг для «богатых», статика, деплой по запросу. Так как мой аккаунт OpenAI не бесконечный, деплой я пока отключил, чтобы избежать эффекта «хабра». Выложил код проекта на github, благо синхронизация с github автоматическая.
Редактирование кода — это то, чего раньше не хватало scaffolding-тулзам прошлого поколения. В Replit после окончания работы над фичей можно продолжить дорабатывать приложение. Например, я добавил функцию схлопывания панели, и это заняло всего пару минут.
В конце решил смигрировать фронтенд на ReactJS, но агент завис на установке npm-модулей из-за warning'ов при запуске.
Не смотря на то, что миграция на React не удалась, процессом разработки через чат-бот удобно управлять. Если не получилось создать фичу, то можно остановить агент или откатиться к прошлой версии и продолжить добавлять фичи через агент с любого момента.
Видно, что Replit сейчас ограничен, он поддерживает несколько стандартных шаблонов кода на Python и сама идея имеет ограниченное покрытие, когда дело касается всего многообразия фреймворков библиотек. Пока помимо интеграции с OpenAI и сервисами Google в инструментарии есть возможность работы с Postgres, хранилищем S3 и варианты SSO. Но в последнем раунде финансирования проект привлек почти 100 миллионов долларов. Так что с учетом высокого интереса к новому агенту, команда конечно же получит поддержку на доработку и интеграцию с популярными библиотеками, облачными сервисами и языками программирование. Это всего лишь вопрос времени. Так что в скором времени мы наверняка сможем писать рабочие микросервисы на Java или микрофронтенды на React.
Итоги
На мой взгляд это лучший способ потратить 25 баксов этой осенью и самый продвинутый кодовый агент.
Агент узко направлен: основной фокус на Flask & Python/Node.js, поддержки фронтенд-фреймворков пока нет.
Если вы разрабатываете AI-приложения, обратите внимание на чатовый интерфейс агента. Трудно поверить, что можно программировать без открытия IDE, используя только смартфон.
В своем канале я недавно написал заметку про функцию миграции легаси-кода в Amazon Q. Несмотря на мощный экономический эффект — 4,5 тысячи человеко-лет, сэкономленных для Amazon, их кодовая модель больше похожа на классический code-to-code транслятор. Replit же, безусловно, агент другого поколения. Он может с нуля решить небольшую прикладную задачу. Поддержка фреймворков в кодовой модели пока ограничена, но это ведь только начало… Так что посмотрим, какие технологии команда добавит в ближайшем квартале.
В заключение хочу поделиться TED talk CEO Amjad Masad рассказывает про первые звоночки агентных систем, когда продукт еще не был создан https://youtu.be/kCudFI4tcpg
Уже совсем скоро 26 и 27 сентября я буду выступать на AiConf 2024 в Москве. У меня будет доклад про обзор уязвимостей моделей https://aiconf.ru/2024/abstracts/12705. Но там будут темы про будущее технологий машинного обучения. Мне кажется, что такие агенты как Replit — это наше будущее. Ведь завтра они могут стать настольным инструментом каждого программиста.
Комментарии (5)
vagon333
09.09.2024 10:54+1Как увлекающийся, под впечатлением от вашей статьи чуть было не взял годовую подписку ($120 за год выгоднее чем $25/мес). :)
Затем слегка остыл и решил позадавать Perplexity вопросы насчет Replit Agent.
Линк на вопросы ниже, но ключевые вопросы-ответы меня охладили:Does Replit has its own proprietary IDE or I can use my own IDE, for example PyCharm?
-- ProprietaryDoes Replit work with MSSQL Server Database? (для меня важно)
-- НетCan I point Replit project to my own Git server for version control system?
-- Нет
https://www.perplexity.ai/search/what-are-the-strongest-feature-qxNOtFGmQ2yyd0J8OavpKQ
artmaro Автор
09.09.2024 10:54+1Более правильно использование сейчас - это создание прототипа. Они туда только Постгрес добавили и гитхаб, на счет кастомного сервера не уверен, сейчас хотел посмотреть настройки, но в интерфейсе пишет ошибку "get back to replit staff" :) Инструмент, конечно, сыроват сейчас
APXEOLOG
09.09.2024 10:54Красивая история. Жаль только работает для наколенных проектов-однострочников.
На данный момент есть несколько кардинальных проблем, которые не позволяют сделать полноценного "ИИ-программиста". И я не думаю что эти проблемы уйдут даже с выходом GPT5/Claude4 и т.д.
Но поднимать бабки на хайпе это норм тема, так и подмывает идти свой ИИ-продукт анонсировать.
19Zb84
А если библиотеки сырые и очень часто обновляются, он возьмет вчерашнее обновление и сможет изменить код под новые изменения ?
artmaro Автор
Агент должен поменять под указанную версию. Здесь я бы попробовал запросить "используй эту либу и версию Х". Там внутри кодовая модель, она скорее всего старые либы подкинет, которые "загуглит" в интернет через плагин или попадают через дообучение периодически. Какая там кодовая модель не смотрел.
Сейчас потестил, очень не охотно агент работает со списком зависимостей.