Предыстория: от Cursor до собственной платформы

Меня зовут Сергей Игнатенко. В прошлой жизни — девлид, 20+ лет в разработке, от C# до Kafka. Сейчас — фаундер. Эта статья про то, как первое привело ко второму.

Последний год я активно работал в Cursor — IDE с ИИ-ассистентом. И в какой-то момент меня начало подбешивать.

Cursor переименовал режим «Code» в «Agent». Звучит красиво, но по факту — это тот же автокомплит на стероидах. Никакой автономности. Никакого планирования. Ты по-прежнему сидишь в IDE, по-прежнему руками переключаешь файлы, по-прежнему сам решаешь что делать дальше. Какой же это «агент»?

Тогда я решил попробовать Claude Code — инструмент от Anthropic, о котором в тот момент восторженно писал весь Twitter. Установил, столкнулся с блокировками (я в России, привыкли), пошёл к Claude с просьбой помочь обойти защиту. Claude сказал категорическое «нет» и добавил фразу, которая засела в голове:

«Ты же разработчик. Зачем тебе Claude Code?»

Ирония ситуации дошла не сразу: я просил Claude взломать продукт Claude. Но главное — он был прав. Зачем мне чужой инструмент, если я могу построить свой?

Три причины, которые сложили пазл

Причина первая — Claude Code недоступен. И не только Claude Code. В России за последний год заблокировали 315 крупных VPN-сервисов за один день. Западные сервисы уходят, платёжные си��темы не работают, API отваливаются. Строить бизнес на инфраструктуре, которую могут заблокировать в любой момент — безумие.

Причина вторая — наблюдение за рынком. Я видел, как люди продают курсы по вайбкодингу неайтишникам старше 40. Буквально учат их Git, терминал, как создавать лендинги и доводить их до ума в разных инструментах. И люди платят за это деньги, потому что им нужен результат, а не знания о Git. Методика одного такого курса: «задаю тупые вопросы, пока не начинает всё работать». А я подумал — почему бы не убрать «тупые вопросы» из уравнения?

Причина третья — момент прозрения. Я проанализировал собственный рабочий процесс в Cursor и осознал: я использую ровно три вещи — чат, терминал и иногда файловый менеджер. Всё. Весь остальной интерфейс IDE — подсветка синтаксиса, дебаггер, Git-панель, расширения — мне не нужен, когда я работаю с ИИ.

Если мне, разработчику с 20-летним опытом, хватает чата, терминала и файлов — то зачем всё это нужно маркетологу, который хочет сделать лендинг?

Эти три причины сложились в одну идею: нужен «Cursor без Cursor». Чат, в который человек пишет что хочет, и получает готовый результат. Без IDE. Без терминала. Без «выберите x64 или ARM64».

Кстати, про ARM64. Недавно один человек написал в соцсетях: «Решил скачать Cursor, увидел вот это, ничего не понял, закрыл. Не стать мне вайбкодером, мам…» На скриншоте — страница загрузки с выбором между шестью вариантами. Вот моя целевая аудитория.

MVP: просто чтобы посмотреть

Как любой уважающий себя разработчик, я начал с MVP. Но с одним принципиальным отличием — никаких «времянок». Каждое архитектурное решение принималось так, как будто этим будут пользоваться тысячи людей.

Первая версия была простой: веб-интерфейс с чатом, бэкенд на FastAPI, и один AI-агент, который получает запрос и пишет код. Без базы данных, без проектов, без пользователей. Просто agent loop: получил задачу → декомпозировал → написал код → показал результат.

Docker с первого дня

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

Почему это важно? Потому что ИИ-агент выполняет произвольный код. Он может установить любой npm-пакет, создать любой файл, запустить любой процесс. Если агент одного пользователя может добраться до файлов другого — это катастрофа. Docker решает эту проблему элегантно: контейнер — это песочница. Агент может делать внутри что угодно, но выбраться не может.

Позже, когда на Хабре обсуждали OpenClaw — open-source AI-ассистента, который работает на Mac Mini — основная критика была именно про безопасность: агент имеет полный доступ к файловой системе, может выполнять любые команды, читать почту и удалять файлы. Мой подход с Docker-изоляцией оказался правильным с самого начала.

Тест на маркетологе: холодный душ

Когда MVP заработал, я был доволен собой. Всё работает, код генерируется, файлы создаются. Красота. А потом ко мне в гости пришёл друг — маркетолог по образов��нию.

Я показал ему платформу. Дерево файлов слева, терминал снизу, редактор кода справа. Всё как в настоящей IDE. Я ждал реакции «вау». А увидел растерянный взгляд. Ему было не за что зацепиться. Он видел непонятные папки, мелькающие команды в терминале и код, который ему ни о чём не говорил.

Это был холодный душ. Я строил «Cursor для неразработчиков» — и построил ещё один Cursor. Интерфейс, понятный только разработчику.

После этого я полностью пересмотрел подход к интерфейсу. Добавил визуальный workflow — пользователь видит не код, а этапы работы агента: «Анализирую задачу → Создаю структуру → Пишу код → Тестирую». Смотреть на это можно вечно, как на огонь. Добавил превью результата — ещё до того как проект закончен, можно увидеть как выглядит сайт. Превью стало настолько важным, что я встроил его даже в чат-бота — отправляешь задачу в мессенджер, получаешь скриншот результата прямо в чат. Добавил панель активности агента — что он делает прямо сейчас, сколько шагов выполнил, какие инструменты использует.

Один визит маркетолога изменил продукт больше, чем месяц моей собственной разработки. С тех пор я завёл правило: каждую крупную фичу показываю нетехнарю. Если он не понимает что происходит — фича не готова.

Мультиагентная архитектура

Одного агента быстро стало мало. Одна модель теряет контекст на длинных задачах, пишет код с ошибками и не может сама себя проверить. Решение — разделение ролей:

  • Designer - занимается разработкой макетов в случ��е разработки лендинга.

  • Planner — декомпозирует задачу пользователя на конкретные шаги. Не пишет код, а создаёт план.

  • Coder — получает план и реализует его. Пишет код, устанавливает зависимости, создаёт файлы.

  • Reviewer — проверяет результат. Ищет ошибки, запускает тесты, предлагает исправления.

  • Tester - проверяет задачу и выносит вердикт о готовности. Если не готова - задача отправляется на доработку.

Это работает как конвейер: Planner думает, Coder делает, Reviewer и Tester проверяют. Точно как в реальной команде разработки.

Три варианта дизайна: сначала утверди, потом строй

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

Это решает классическую проблему: «я представлял это совсем по-другому». Когда ты показываешь результат через два часа работы — переделывать больно. Когда показываешь три лёгких превью через минуту — выбрать и скорректировать легко.

Не только лендинги: полноценная среда разработки

Важно подчеркнуть: это не конструктор сайтов. Это полноценная платформа разработки. Агент работает внутри Docker-контейнера с полным Linux-окружением — а значит, может создать всё что можно создать на сервере.

Бэкенд на FastAPI или Express — пожалуйста. REST API с базой данных — без проблем. Telegram-бот с вебхуками — легко. Парсер, который собирает данные с сайтов по расписанию — тоже. Агент сам ставит зависимости, сам настраивает конфигурацию, сам запускает и тестирует.

Один из реальных кейсов — я взял коммерческий заказ на сайт для управляющей компании и полностью делаю его через свою платформу. С бэкендом, с базой данных, с формами обратной связи. Не как демо, а как боевой проект за деньги.

По сути, всё что разработчик делает в терминале и IDE — агент делает внутри контейнера. Разница в том, что команды ему даёт не разработчик через командную строку, а обычный человек через чат.

Телеграм-бот: идея, которая всё изменила

Потом случился хайп вокруг OpenClaw. Все обсуждали AI-ассистента, который живёт в мессенджере и выполняет задачи. Я посмотрел на свою платформу и спросил себя: «А мы так можем?»

Оказалось — можем. Прикрутил Telegram-бота, через который можно управлять проектами. Создать новый проект, отправить задачу агенту, получить результат — всё через чат в телефоне. При этом агент работает в том же изолированном Docker-контейнере, поэтому «восстание машин» мне не грозило.

Но настоящее открытие было впереди.

«Мои документы»: когда агент перестал быть программистом

В какой-то момент я понял очевидную вещь: для языковой модели нет разницы между «напиши код на JavaScript» и «создай документ Word». Это всё текст в конечном итоге для LLM. И я попросил агента: «Зайди в проект „Мои документы", найди в интернете информацию по теме X и создай отчёт в формате Word».

Агент справился. Без каких-либо доработок. Он сам установил нужные npm-пакеты, сам сформировал структуру документа, сам заполнил его данными из интернета. Excel — пожалуйста. PDF — тоже. Если агенту чего-то не хватает — он подтягивает из npm и делает то, что нужно.

Это был момент, когда платформа перестала быть «конструктором сайтов» и стала универсальным ИИ-агентом, который может делать всё, что можно сделать на компьютере.

Зрение: загрузи макет — получи сайт

Следующий прорыв — зрение. Я подключил vision-модель, и теперь пользователь может загрузить скриншот дизайна — из Figma, из Canva, просто фотографию сайта конкурента — и агент создаст точную копию в коде.

Модель описывает всё до пикселя: расположение блоков, цвета, шрифты, отступы. Затем Coder берёт это описание и генерирует HTML/CSS/JavaScript. Результат — рабочий сайт, который выглядит как макет.

Я не встречал подобного в российских инструментах, но буду рад если кто-то в комментариях поправит.

«Руки»: браузер под управлением агента

Агент умел создавать файлы и писать код. Но ему не хватало одного — возможности взаимодействовать с внешним миром. Не просто «сходить по URL и получить текст», а полноценно работать в браузере: кликать кнопки, заполнять формы, скроллить страницы.

Я интегрировал Playwright — инструмент для автоматизации браузера — и добавил noVNC для визуализации. Теперь пользователь может наблюдать в реальном времени, как агент открывает сайты, заполняет поля, кликает по кнопкам. Это как смотреть, как кто-то работает за соседним компьютером — только этот «кто-то» — ИИ.

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

Грабли с браузером

Было бы нечестно не упомянуть грабли. Их было много:

  • Google мгновенно распознаёт бота. Headless-браузер без стелс-настроек получает captcha на первом же запросе. Решение: кастомный user-agent, удаление navigator.webdriver, отключение AutomationControlled. И всё равно — для поиска лучше использовать API, а не скрейпить Google.

  • Таймауты на динамических страницах. Современные SPA загружаются асинхронно, и стандартные селекторы не находят элементы. Решение: умные ожидания, повторные попытки, fallback на чтение всей страницы.

  • Память. Каждый скриншот — это PNG в несколько мегабайт. При активной сессии с десятками действий — сотни мегабайт. В Docker-контейнере с ограничением памяти это критично. Решение: скриншоты в base64 без сохранения на диск, с периодическим дампом для дебага.

Деплой: от кода до рабочего URL

Последний кусок пазла — публикация. Пользователь создал сайт через чат. Теперь ему нужен рабочий URL, который можно отправить клиенту. Не localhost:3000, а настоящая ссылка.

Я интегрировал API российских хостинг-провайдеров. Агент са�� создаёт сервер, деплоит код, и пользователь получает рабочий URL. Весь путь от «хочу сайт» до «вот ссылка» — через чат.

Блокировка Telegram: кризис, ставший фичей

А потом Telegram начали блокировать в России. Мой бот, который управлял проектами через Telegram, оказался под угрозой.

Решение пришло быстро: я адаптировал бота для VK Max — нового мессенджера, который работает без VPN в России. Миграция заняла считанные дни, потому что архитектура была правильной с самого начала: бот — это тонкий слой между мессенджером и платформой. Замена одного канала на другой — это замена одного адаптера, а не переписывание системы.

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

Экономика: как не разориться на API

Отдельная история — стоимость. Самые мощные модели (Claude Opus, GPT-5.2) стоят дорого. Если каждый запрос пользователя тратит $0.50 на API — юнит-экономика не сходится.

Решение — мультимодельная архитектура. Для 80% задач хватает DeepSeek или Qwen — они стоят в десятки раз дешевле, а качество для типовых задач более чем достаточное. Премиальные модели подключаются точечно: для сложной декомпозиции, для code review, для анализа дизайна.

Это как в ресторане: не нужен шеф-повар, чтобы нарезать хлеб. Но для соуса — да, нужен.

Плюс — все модели, которые я использую, доступны в России без VPN. DeepSeek — китайская компания, Qwen — Alibaba. Никаких санкционных рисков, никаких VPN, никаких «а вдруг завтра заблокируют».

Где я сейчас

Платформа выросла из MVP в полноценную среду разработки. Сейчас я работаю на ней сам — взял реальный коммерческий заказ на сайт для управляющей компании и полностью делаю его через своего агента. Лучшего тестирования не придумаешь: ты одновременно зарабатываешь и находишь баги.

Каждую неделю появляется новая крупная фича. На прошлой неделе — распознавание дизайна по скриншоту. На этой — миграция ботов из Telegram в VK Max.

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

Что дальше

Сейчас агент умеет писать код, создавать документы, работать в браузере и деплоить результат. Но это только инструменты. Следующий шаг — превратить агента в полноценного ИИ-сотрудника.

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

И если довести эту идею до конца — можно сдавать таких сотрудников в аренду. Компания «нанимает» ИИ-аналитика на месяц, он работает с их данными, присылает отчёты, отвечает на вопросы в чате. Не SaaS, не подписка на инструмент — а буквально аренда цифрового сотрудника.

Безумная идея? Возможно. Но год назад идея «Cursor без Cursor» тоже казалась безумной.

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

Если хотите следить за развитием проекта — пишите в личку, расскажу подробнее.


Готов ответить на вопросы в комментариях: про мультиагентную архитектуру, Docker-изоляцию, интеграцию с браузером, экономику API-запросов — спрашивайте.