На рынке AI-агентов царит гонка за универсальностью: кто даст модели больше инструментов, доступа и свободы. Мы пошли против течения. Вместо бесконтрольного расширения возможностей сделали ставку на безопасность, предсказуемость и экономию ресурсов. Так появился десктопный агент «Союз».
Сегодня мы открываем исходные коды проекта. Рассказываю, как всё начиналось, какие решения привели нас к результату и почему ограничения оказались преимуществом.
Начало: агенты повсюду
В июле 2025 года я писал статью для «Космотекста» о том, как создать своего AI-агента. К тому времени десктопные агенты уже были везде: друзья показывали голосовых помощников на базе API OpenAI и Anthropic, коллеги разрабатывали решений для автоматизации рутины.
Хакатон: отказ от гонки с Anthropic
В августе 2025 года мы с коллегой решили поучаствовать в ИИ-хакатоне Сбера. Решили не конкурировать с универсальными агентами вроде Claude Code — это казалось нереалистичным.
Вместо этого выбрали узкую, но важную задачу — агент для слепых. Не требовал UI, но нуждался в распознавании экрана и управлении мышью и клавиатурой. У меня уже был опыт автоматизации: в 2016 году я писал боты для клавиатурных тренажёров, а позже создал библиотеку на Clojure и DSL-интерпретатор для автоматизации десктопа.
Победа в отборочном, провал в финале
За неделю до хакатона собрали прототип: невидимый агент, управляющийся голосом — открывает сайты, кликает, печатает, работает с закладками. Судьи были впечатлены, и мы прошли в финал.
За день до финала Гигачат обновился: даже слово «закладка» попадало под цензуру. Мы провели ночь без сна, переключив агент на модели Anthropic и запуская его через VPN. Это замедлило работу, но спасло демонстрацию.
Новый старт: KMP и свой фреймворк
В сентябре 2025 года начали с нуля. Разрабатывали агента для мобильных приложений, открыли для себя Kotlin Multiplatform и создали собственный фреймворк для агентов.
Этот опыт лег в основу нового стека: KMP и отказ от готовых решений в пользу полного контроля.
Фокус на безопасность — и неожиданная экономия
К ноябрю 2025 стало ясно: агентов для программистов — много, а для обычных пользователей — нет. Они не понимают, что безопасно, а что нет. Мы поставили три условия:
- Работать из коробки, без настроек.
- Не требовать VPN, криптовалют или иностранных карт.
- Быть безопасным по умолчанию.
Эти требования исключили использование MCP — он избыточен, небезопасен и раздувает контекст. Это критично для Гигачата и локальных моделей, которые теряют эффективность при большом объёме данных.
Наши guardrails: контроль через код
Поскольку все инструменты мы пишем сами, можем жёстко контролировать поведение агента:
- Опасные действия — удаление файлов, отправка сообщений — требуют подтверждения.
- Агент не может скачивать и запускать бинарные файлы.
- Доступ ограничен папкой $HOME.
- Файлы из компьютера отправляются только в сохранённые сообщения Telegram, исключая случайную передачу третьим лицам.
Каждый из более чем 70 инструментов проектируется с учётом безопасности.
Сравнение: наш подход vs. индустрия
Типичный универсальный агент проходит через десятки этапов, включая множественные guardrails, проверки LLM и подключение MCP. Получается машина Голдберга.
Наш агент работает проще:
- Промпт.
- Классификация.
- Добавление своих функций.
- Добавление RAG.
- Ответ от LLM.
- Вызов инструментов.
- Возврат результата.
Нет MCP. Нет многоуровневых проверок. Всё безопасно на уровне кода. Это даёт не только защиту, но и экономию токенов.
Релиз и развитие
В феврале 2026 года, после выхода Claude Cowork, OpenClaw и Perplexity Computer, стало ясно: нужно выходить на рынок. Мы подготовили релиз: улучшили UI, добавили онбординг, настройки, политики безопасности.
Сборка под macOS заняла целую неделю отпуска — KMP выдал ожидаемые сложности.
К марту 2026 года добавили бесплатный интернет-поиск, поддержку локальных моделей, метрики, улучшили работу с текстом и UX.
Как я использую «Союз»
Агент помогает мне в работе с текстами: исправляет опечатки, находит ссылки для подтверждения тезисов, приводит контраргументы с доказательствами. Например, он помог отредактировать эту статью.
Возможности «Союза»
- Работа с документами: doc, pdf, xls, csv, txt, md.
- CRUD и fuzzy-поиск по файлам.
- Запись экрана и скриншоты.
- Интеграция с заметками, календарём, почтой.
- Автоматический логин (с подтверждением кода).
- Суммаризация и поиск в чатах.
- Отправка и чтение сообщений.
- Управление через Telegram.
- Передача файлов между компьютером и Telegram (в сохранённые сообщения).
- Поиск в интернете и глубокий ресерч.
- Работа с браузером: вкладки, закладки, история.
- Анализ таблиц, построение диаграмм.
- Создание презентаций (пока в зачаточной форме).
- Запоминание команд пользователя.
- Поддержка локальных моделей.
Итог: меньше — значит надёжнее
Другие агенты обещают магию и универсальность. Мы выбрали иной путь: «агент не делает лишнего».
Фокус на ограничениях дал безопасность, экономию токенов и простую архитектуру. Не через бесконечные проверки, а через контроль на уровне кода.
Пока доступна версия для macOS. В планах — Windows и Linux. Скачать можно на souz.app или с GitHub.