Создано за сутки: как нейросети написали аналог Discord с голосовыми комнатами и стримингом
Проект Calab — это self-hosted мессенджер с поддержкой WebRTC, кодеками Opus и стримингом экрана в AV1, созданный за 24 часа с помощью агентов Claude и Fable. Инициатор процесса отправил 90 запросов, включая скриншоты интерфейса, и не написал ни одной строки кода. Итоговая стоимость разработки составила около 12 400 долларов США, при этом 80% расходов пришлось на чтение контекста моделями, а не на генерацию кода.
# Смерть SaaS как бизнес-модели или новая реальность: кейс разработки за 24 часа
Проект Calab — это self-hosted мессенджер для команд, который способен похвастаться голосовыми комнатами, стримингом экрана, поддержкой PostgreSQL и сложной системой прав доступа. Главное, что отличает его от типовых решений, — это скорость создания. Разработчик сформулировал требования в виде «стены текста» без запятых, прислал серию скриншотов и отправил команду нейросетей на работу. Результат появился в продакшене уже вечером следующего дня: версия 0.3.1, готовые бинарные сборки для macOS, Windows и Linux, а также веб-клиент.
Этот эксперимент ставит под вопрос традиционную модель SaaS, где стоимость создания нового продукта ограничена лишь человеческим фактором и временем.
Технический стек и функциональность: что внутри Calab
Несмотря на скорость появления, функционал проекта не упрощен. Авторы обещают «не совсем эхо» и уровень стабильности, сравнимый с Zoom. Реализация включает в себя:
* Голосовые чаты и комнаты: Используются кодеки Opus с технологией DTX (Discontinuous Transmission), которая экономит трафик в тишине до 0,1 кбит/с, а на речи потребляет 30–45 кбит/с. Для фильтрации шума и подавления эхо задействованы RNNoise и AEC3 из стека WebRTC. * Стриминг экрана: Поддерживается формат AV1 с технологией simulcast. Отправитель кодирует картинку в нескольких качественных слоях, а зритель получает только тот, который подходит под его канал. Это позволяет транслировать код и документы с скоростью 20–300 кбит/с. * Инфраструктура: Сервер написан на Go, клиенты — на Electron. Для обработки потоков используется SFU (Selective Forwarding Unit) на базе LiveKit. Система работает за файрволом, автоматически переключаясь с UDP на TCP и используя TURN-серверы на порту 443 для безопасности. * Чат и интерфейс: Интерфейс базируется на «пузырях» в стиле Telegram, поддерживает реакции, закрепленные сообщения и морфологический поиск. Гости могут заходить в голосовые комнаты по ссылке без регистрации.
Согласно подсчетам, в исходном коде проекта содержится около 92 тысяч строк кода, а в репозитории на GitHub уже зафиксировано 282 коммита, из которых 31 — это слияние веток, сгенерированных автономными агентами.
Механика разработки: как работала «команда» агентов
Процесс разработки был организован не хаотично, а имитировал работу полноценного IT-отдела. Лид проекта ( Claude Fable 5.1) занимался архитектурой и принятием решений, в то время как кодинг выполняли другие модели.
Ключевую роль играла система изоляции и правил. Изначально агенты допускали ошибки, стирая друг другу данные и порождая бесконечные циклы ревью. Для предотвращения хаоса были введены следующие протоколы:
1. Свежие агенты на задачу: Каждый новый запрос запускался с чистого листа, а после завершения работы агент завершался. 2. Изоляция среды: Каждый разработчик («кодер») работал в отдельной копии репозитория (git worktree) со своими тестовыми базами данных. 3. Документация прежде кода: Архитектура, медиа-правила и протоколы должны быть описаны в документах (ADR — Architecture Decision Records) до начала написания кода. Агенты изучали эти файлы, вместо того чтобы задавать вопросы разработчику. 4. Единый коммитер: Роль мержера выполнял только один агент, который следил за целостностью кода.
Результатом стала версия 0.3.1, которая прошла через четыре цикла ревью и независимое UX-тестирование. В процессе создания агенты самостоятельно решили вопросы с доменами, бэкапами, подписью сборок и даже создали свои собственные аккаунты в созданном ими мессенджере для координации релиза.
Экономика «вайбкодинга»: где ушли деньги
Стоимость создания продукта стала одним из главных выводов кейса. За 22,5 часа работы было отправлено 19 324 ответа моделей, затрачено 16 миллионов токенов на вывод и 6,3 миллиарда токенов на чтение кэша.
Итоговый счет составил около 12 400 долларов США (по курсу на момент написания). Детальный разбор расходов показывает тревожную картину:
* Опрос 5.5 (код): 14,58 млн токенов вывода, 5 млн на вход. Расходы: ~10 769 долларов. * Fable 5.1 (лид): 2 млн токенов вывода, 810 тыс. на вход. Расходы: ~1 499 долларов. * Sonnet 5 (механика): 0,33 млн токенов вывода. Расходы: ~91 доллар.
Ключевая проблема: 80% бюджета ушло не на написание кода (вывод), а на чтение кэша (контекста). Агенты тратили огромные ресурсы на перечитывание предыдущих сообщений и документации. В дальнейшем оптимизация фокусируется на сокращении контекста и использовании свежих изолированных агентов, что позволяет сократить время на решение сложных задач с часов до минут.
Где нейросети ошибались и что нужно человеку
Несмотря на высокую скорость, модель совершала ошибки, характерные и для человеческого инженера. Примеры:
* Проблема с голосом: Тесты проходили на localhost, где политика безопасности не применялась. В реальности домены менялись, и голосовое соединение падало. * Клавиатура: Модель не учла, что на macOS клавиша Caps Lock меняет раскладку, из-за чего функция «говорить по нажатию» не срабатывала. Решение потребовало чтения физических событий через IOHIDManager. * Мобильная версия: Тесты в эмуляторе Chromium показали работоспособность, но на реальном iPhone кнопки перекрывали друг друга, а автофокус терялся. WebKit-тесты не выявили проблемы, так как не эмулируют реальную клавиатуру устройства.
Роль человека: Человек не писал код, но был критически важен на этапе контроля качества. Запросы про звук, форму кнопок, задержку при отпускании «push-to-talk» и размер аватаров — это субъективные требования, которые нейросеть не могла предсказать без обратной связи. Кроме того, именно человек принимал юридические решения по лицензиям и вопросам безопасности данных.
Умирает ли SaaS?
Короткий ответ: модель SaaS как «набор фич за ежемесячную подписку» действительно сталкивается с вызовами. Инженерная себестоимость создания продукта упала в 20–50 раз. Теперь барьером для входа является не код, а дистрибуция, доверие, эксплуатация и «вкус» продукта.
Как отмечают авторы, если ценность продукта ограничивается экранами и формами, нейросети могут создать аналог за выходные. Однако создание экосистемы, миллионных пользователей и поддержание инфраструктуры остается за человеком. Calab сейчас рассчитан на 20–30 одновременных голосовых участников и не имеет сквозного шифрования, но он доказывает, что «свой мессенджер» можно развернуть самостоятельно, заплатив единоразово за разработку.
Для тех, кто хочет повторить эксперимент, исходный код доступен на GitHub, а инструкцию по развертыванию можно найти в документации проекта.