Привет! Хочу поделиться опытом работы с агентом в Replit — ну, тем самым GPT-помощником, который вроде как всё делает за тебя. Я сел попробовать, думал, сейчас он мне всё напишет, и я за пару дней выкачу MVP. Всё так и вышло, но есть нюансы. Особенно когда речь идёт про стоимость, архитектуру и тот самый вайб-дебаггинг.


? Сколько это стоит

Сначала кажется: Replit — это дёшево и удобно. Подписка доступная, агент включён, работай в удовольствие. Но через несколько дней активной разработки появляется сюрприз — лимит токенов. Как только они заканчиваются, каждый запрос к агенту начинает стоить отдельно. И это не абстрактные суммы — по итогу за день вполне может выйти $40, если активно взаимодействовать с агентом.

На первый взгляд, «30–40 центов за изменение» звучит терпимо. Но когда агент активно правит функции, добавляет логику, рефакторит — счёт идёт на десятки запросов в час. Понимаешь: платишь не за результат, а за каждое действие. Это формирует новую метрику — ценность запроса. Начинаешь задумываться: «А точно стоит просить его переписать эту функцию?». Начинаешь составлять запросы чётче, внимательнее, указывать конкретно что нужно исправить, где и как именно. Всего я потратил на приложение 170$ к этому моменту. Само приложение тут.


? Как агент пишет код

Первое впечатление — магия. Пишешь: «Сделай приложение, которое делает X» — и через пару минут у тебя уже что-то рабочее. Для старта приложения я попросил GPT на официальном сайте подготовить мне промт для replit. Результатом был доволен. Код с комментариями, валидацией, всё запускается. Но как только погружаешься в детали — начинаешь видеть хаос.

Агент не выстраивает структуру. Он может дублировать, например, getUserInfo() в каждом компоненте, не объединяя повторяющуюся логику. Утилиты, сервисы, единая точка входа? Нет. Всё разрозненно, каждый фрагмент кода — как будто написан в вакууме.

Такой подход хорош для «быстро запустить». Но как только приложение усложняется — конструкция начинает сыпаться. Агент пишет код «на сейчас», а не «на потом». Он не думает о масштабировании. И это приводит к проблемам с фиксом багов — он лупит костыли во все места куда может дотянуться, это может заруинить работу приложения. Обнаружили баг? Просите агента исправить — и он переписывает весь блок. Иногда — весь файл. Вместо точечной правки — полный рефакторинг. Это дорого (в прямом смысле) и рискованно: может исчезнуть всё, что работало.

Оптимальный подход: сначала просить проанализировать, а не править. «Что может быть причиной бага? Не исправляй — просто подумай». Так вы получаете рассуждение, иногда оно не стоит денег. И уже на основе этого можно попросить правку — точечно и безопасно. Или попросить подумать его еще, внести правки в его ход мысли.

Пример промта который я ему дал и он в целом отработал хорошо:

Давай сделаем рефакторинг. Понадобятся изменения на сервере.
Сейчас выполняется запрос new-wishes-count с параметром username. Так же в него передаётся поле since. Перед этим мы получаем это поле с сервера. Это лишняя работа, давай напишем новый запрос на сервер update-new-wishes-count без параметров
когда запрос придёт на сервер, то сервер сделает следующее

  1. найдёт все контакты которые есть в подписках у клиента который выполняет запрос

  2. найдёт все контакты которые есть в истории поиска у клиента который выполняет запрос

  3. для этих контактов найдёт дату последнего прочтения этим клиентом их вишлистов

  4. получит число новых желаний которые еще не успел прочитать. Эта функция уже реализована на сервере в методе new-wishes-count.

  5. функция должна возвращать массив пар пользователей и число непрочитанных сообщений

    Дальше измени фронтенд:

    1. временно закоментируй вызовы new-wishes-count, чтобы не сломать код

    2. Вызови новую функцию при запуске приложения

    3. Используй ответ, чтобы встроить его в существующую логику работы. Она уже написана и используется для запроса new-wishes-count чтобы обновить бейдж в нижней навигации и нарисовать бейджи на экране подписок. Не надо писать новую, переиспользуй то, что есть


?️ Архитектура: хаос или порядок — зависит от тебя

Одна из главных особенностей: агент не закладывает архитектуру. Всё складывается в один файл, без разделения на слои, без выделения бизнес-логики. UI, логика, вызовы API — всё вперемешку. Это напоминает черновик, а не структуру приложения.

Когда проект растёт, добавляются React, сервер, компоненты — всё внедряется «поверх» существующего. Как результат: один файл может включать компонент, стили и вызовы API. Без файловой структуры, без организации.

Интересный момент: стоит прямо сказать «раздели код по слоям, выдели бизнес-логику, оформи красиво» — и он всё перестраивает. Грамотно, с паттернами, с правильной архитектурой. Но сам — не предложит. Вся структура появляется только по требованию или как у него будет настроение.

Агент мыслит «целиком». Если просишь сделать изменение и описываешь его в общем виде — он не меняет кусок, он переписывает всё. Это может быть полезно, но и опасно: легко потерять работоспособность. Поэтому важно задавать узкие рамки и маленькие задачи.


? UI: каждый раз с нуля

Работа с интерфейсом — ещё один вызов. Попросишь отобразить карточки моих желаний — получаешь какой-то UI. Попросишь сделать карточки желаний моих друзей — он создаёт новый компонент с другим стилем. Компоненты не переиспользуются, стили не унифицированы, поведение отличается.

Чтобы избежать этого, нужно сразу задавать компонентный подход: «Эта карточка — универсальная. Используем её везде». Только тогда агент будет соблюдать единый стиль. Иначе — каждый экран становится уникальной реализацией.

С анимациями похожая история. Он может добавить CSS-транзишн, но заодно сломать вёрстку. У агента нет чувства UI, он не дизайнер. Поэтому визуальную часть лучше контролировать самому или проверять каждый шаг.


? Где дебажить: браузер рулит

Есть баги на которых он тупит. Буквально фиксит их по несколько раз и с каждым разом кажется всё хуже и хуже и в этом случае надо дебажиться самому. Replit даёт базовую консоль, но для нормального дебага этого мало. Гораздо эффективнее запускать проект в браузере. DevTools, нормальные логи, интерактивность — всё под рукой.

Иногда полезно просить агента добавь логирование по всей цепочке событий и самому следить за логами. Это упрощает поиск проблемы и контроль за работой кода. Тут вообще полезен опыт программирования, так что это уже немного продвинутый уровень.


? Интеграции: вот где он силён

Одна из самых впечатляющих способностей агента — интеграции. Сказал: «Хочу Telegram Mini App» — он уточнил детали, сгенерил шаги, выдал код, запросил токен — и всё заработало.

Без гугла, без документации, без лишней суеты. Такие вещи обычно занимают день. Тут — 15 минут. И вот тут агент раскрывает свой потенциал: как проводник в незнакомые технологии. Тут я бы сказал совсем оптимально использовать его в связке с GPT в соседнем окне — токенов на день хватает, чтобы обсудить с GPT все нюансы, составить план, узнать об особенностях, а потом уже попросить его составить промт который нужно скормить агенту.

? Надо ли уметь программировать

Смотря какая цель. MVP может сделать любой человек, проблем не будет. А вот сделать работающий продукт — тут мне хорошо помогли мои навыки программирования. Имея опыт разработки вы можете предположить что/где пошло не по плану: парсер не учитывает регистр, тупит кэш, запросы уходят в цикл и т.д. За 6 лет коммерческого программирования появилось достаточно опыта, чтобы догадываться где проблема, следить за логами в браузере и давать чёткие инструкции как её фиксить или как добавлять фичи с нуля.

Пример:

Надо было добавить дату рождения пользователя. Я попросил его на сервере обновить структуру данных о пользователе, добавить в неё поле с ДР, на клиенте попросил получать это поле при запуске приложения, вместе со всем инфой о клиенте, добавить поле в экран настроек, чтобы оно туда подставлялось из информации о пользователе и писалось на сервер. Понимание как должно работать и как правильно сделать даёт хорошие результаты, почти без багов.


? Как выстроить процесс работы с агентом

  1. Формулируйте чётко. Без «сделай красиво». Лучше — «раздели по MVC», «вынеси в сервис».

  2. Задачи — маленькие. Не просите переписать всё. Шаг за шагом — безопаснее и дешевле.

  3. Ошибки — через размышление. Сначала анализ, потом правка. Это и дешевле, и надёжнее.

  4. Компоненты и паттерны — заранее. Если этого не сказать, в проекте будет хаос.

  5. Контроль за UI. Агент — не дизайнер. Проверь всё, что связано с интерфейсом.


✅ Итог

Replit с GPT-агентом — мощный инструмент для быстрого старта. MVP за день-два — реально. Но внутри часто будет месиво: код работает, но плохо организован, архитектура отсутствует, баги непредсказуемы.

Программистам с опытом будет куда проще из говнокода сделать вполне приличный, потому что ИДЕ и опыт разработки могут хорошо сэкономить как деньги, так и нервы.

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

Комментарии (1)


  1. Politura
    13.07.2025 21:24

    Попробуйте Roo Code - опенсорсный плагин к VS Code. Там несколько иной подход: есть разные типы агентов со своими специализациями и можно добавить еще свои типы. Из встренных, есть оркестратор, архитектор, кодер и дебаггер. вы даете задание архитектору, он его анализирует под текущую кодовую базу и разбивает на несколько шагов, затем запускает кодера для выполнения шагов, один за другим. Правда до начала работы все-таки почитать про него, всякие хитрости и понастраивать под себя, например, у него системный промпт, который выполняется для всех агентов, просто огромный, половина из которого про MCP сервера, которые по-умолчанию никакие не используются, еще есть незаметная кнопка, которая промпт улучшает (не всегда, на мой взгляд, именно улучшает, но часто помогает), ну и еще куча мелочей.

    Косяк, когда может накопипастить одинаковых компонентов вместо переиспользования кода тут тоже встречается. Поэтому после каждого выполненного архитектором задания, я внимательно просмотриваю код, коммичусь, чтоб можно было проще откатиться и даю задание отрефакторить с конкретикой, что-нибудь типа: проанализируй такие-то классы и вынеси общие компоненты туда-то. Или даже еще более конкретно.

    А вот когда он полностью переписывает какой-то класс вместо исправления ошибки я не помню чтоб видел. Обычно именно что какой-то код определенный в классе меняет, или пару строчек. Может от модели зависит, я чаще всего использую DeepSeek R1 0528 и Gemini 2.5 pro/lite.

    Ну и $170 за приложение это довольно дохрена. Есть варианты удешевить. Во-первых, люди используют дешевые подписки Gemini/OpenAI/Claude и просто роллят их: дошли до лимита в одном, переключились на другой. Во-вторых, у OpenRoute есть бесплатный доступ к нормальным моделям, правда с rate limiter-ом. Ну или не бесплатный, можно просто временно переключаться на него, пока у дешевой подписки к любимой модели кулдаун не закончится. И наконец, все почему-то помешанны на моделях Claude, а лично меня код на порядки более дешевого DeepSeek вполне устраивает. Правда это я про Roo Code / Cursor, никогда не пробовал Replit и не знаю, можно ли там использовать сторонние модели.