Проактивний AI-агент, який працює, коли ви офлайн
Вітаю. Мене звати Роман. Я вже багато років працюю прогрмістом. За цей час доводилося працювати в різних сферах розробки програмного забезпечення — десктоп, веб, блокчейн, системні утиліти та ін. Нещодавно я долучився до хобі-проєкту, який започаткувала моя знайома, — створення персонального ШІ-асистента. Про нього я хочу тут розповісти.
Я розумію, що ШІ зараз усюди і для багатьох уже встиг трохи набриднути. Проте, на мою думку, цей проєкт справді має потенціал і буде особливо цікавим для людей з ІТ.
Основне завдання нашого ШІ-асистента — автоматизація рутинних задач, які зазвичай виконуються за комп’ютером.
Щоб краще пояснити ідею, ось приклад того, що з ним можна буде зробити.
Ви відкриваєте чат асистента (через вебінтерфейс або мобільний застосунок) і пишете:
«Я вийду на дві годинки. Якщо будуть нові запити на код-ревʼю PR основного проєкту — запусти Codex на основній робочій машині, нехай зробить ревʼю за інструкцією. Результат покажи тут і надішли сповіщення. Я відпишу, чи апрувити, чи ні».
Ви займаєтесь своїми справами. Через пів години застосунок надсилає сповіщення про нове повідомлення в чаті. У ньому — чорновик код-ревʼю. Ви відповідаєте: «Норм. Додай коментарі які ти тут запропував і апрувай».
Або інша ситуація. Ви пишете в чаті:
«У мене справи. Моніторь апруви на мій PR 123. Якщо буде два апруви — подякуй у Slack кожному, хто заапрувив, коротким повідомленням у дірект. Потім виконай мердж цього PR і зміни статус тікета в Jira на QA. Напиши в Slack у каналі #QA, що тікет готовий до тестування».
Хочете мати такого помічника? Я — так. Саме тому й почав працювати над цим проєктом.
А хіба Openclaw не робить те саме?
На момент початку обговорення цієї ідеї Openclaw ще не існував — він зʼявився трохи пізніше. Одразу стало зрозуміло, що загальна ідея подібна, але реалізація принципово інша. Openclaw підходить для експериментів, проте ми обрали інший підхід — з фокусом на безпеку, контроль і передбачуваність. Організація проактивної роботи в нашого агента буде виконана по іншому.
DMJBot — зроби мою роботу за мене
Для ШІ-асистента була обрана тимчасова назва — DMJBot («Do My Job Bot»). Можливо, вона залишиться постійною, адже вже почала приживатися.
DMJBot — це персональний ШІ-асистент, активний 24/7, проактивний і такий, що працює на основі подій від інтегрованих сервісів.
Агент не зобовʼязаний виконуватись у тому ж середовищі, де виконуються задачі. Він може працювати будь-де: у нашій хмарі, у вашій хмарі, на десктопі або на локальному сервері. «Мозок» ШІ-асистента відділений від його «рук» — інструментів та інтегрованих сервісів. До одного «мозку» може бути підʼєднано будь-яку кількість пристроїв: фізичних компʼютерів або віртуальних машин.
DMJBot, запущений у хмарі, може виконувати задачі на персональному ноутбуці, робочому десктопі, віртуальній машині або навіть у Docker-контейнері, запущеному будь-де. Основна вимога — наявність мережевого зʼєднання між середовищем виконання та ШІ-асистентом.
Для кого ми створюємо DMJBot
Ідея проєкту сформувалася під час активного використання Claude Desktop для виконання рутинних задач. Для інтеграції сервісів, які використовуються щодня, підключалися MCP-сервери. У процесі стало очевидно, що значну частину дій можна автоматизувати.
Водночас виявилось ключове обмеження: такий ШІ-агент є повністю пасивним. Він може виконати дію лише після прямої команди — наприклад, «перевір емейли». Але він не здатен самостійно реагувати на події, що відбуваються у фоновому режимі, коли користувач не взаємодіє з агентом. Неможливо, щоб агент сам виконав дію в момент надходження листа або іншої події без участі людини.
Кількість подібних ситуацій поступово зростала, що й привело до ідеї створення проактивного ШІ-агента — такого, який постійно «слухає» події від інтегрованих сервісів і може автоматично діяти у відповідь на них.
З часом стало зрозуміло, що подібний асистент буде особливо корисним саме для людей з ІТ. Сучасні ШІ-інструменти для написання коду дозволяють автоматизувати величезну кількість процесів, і значна частина повсякденної роботи розробника потенційно може виконуватися автоматично. Саме тому цей проєкт представлений на ресурсі, де переважно спілкуються представники ІТ-спільноти.
Технічна реалізація
DMJBot планується до випуску у вигляді Docker-контейнера, який міститиме сам ШІ-агент, API для керування та веб-інтерфейс.
Окремо розробляються застосунки для різних платформ (Windows, macOS, Linux), які називаються MCP-брокер. MCP-брокер відповідає за організацію звʼязку між усіма MCP-серверами, встановленими в системі, та ШІ-асистентом DMJBot. MCP — про протокол стандартного підключення інструментів до ШІ алентів.
Рівень доступу до системи, де встановлено MCP-брокер, визначається набором MCP-серверів, які користувач окремо обирає та встановлює. Таким чином, контроль доступу реалізується не на рівні самого агента, а через явні інтеграції.
Наприклад, якщо потрібно надати доступ до певної папки на локальному десктопі, достатньо встановити MCP-сервер типу File Storage та підʼєднати його до брокера. Після цього інструменти цього сервера стають доступними для ШІ-асистента, і DMJBot може керувати файлами в межах дозволеної директорії.
Інший приклад — керування роботою Claude Code через DMJBot. MCP-брокер встановлюється в системі, де вже налаштований Claude Code, та активується MCP-сервер для керування AI Code Agents. У такій конфігурації DMJBot, маючи доступ до робочого простору та можливість запускати Claude, може виконувати задачі з написання та ревʼю коду.
У подібних сценаріях особливу увагу необхідно приділяти безпеці. Не рекомендується запускати такі інтеграції в основному робочому середовищі — краще використовувати віртуальні машини або ізольовані середовища. Для цього буде підготовлена детальна документація з рекомендаціями та best practices.
Планується розробка власних MCP-серверів для найпопулярніших інтеграцій. Водночас залишатиметься можливість підключати кастомні MCP-сервери для специфічних потреб. Також буде створена документація зі створення активних MCP-серверів, які можуть надсилати події, працювати у фоновому режимі та виконувати довготривалі задачі.

Таким чином, сам ШІ-агент працює в окремому середовищі з мінімальними системними вимогами (за винятком випадків використання локальних open-weight моделей), тоді як усі реальні дії виконуються на підʼєднаних пристроях.
Винятком є найпростіший сетап, у якому агент взаємодіє лише з публічними віддаленими MCP-серверами — такими як Jira, GitHub, Dropbox та подібними — без необхідності локального виконання задач.
Налаштування LLM
ШІ-агент DMJBot підтримуватиме всі популярні
У майбутньому планується додати підтримку Docker Model Runner для зручнішої роботи з open-weight моделями.
Окрема увага приділяється контролю використання токенів. Це поширена проблема, коли агент може «захопитися» виконанням задач і в результаті призвести до несподівано великих витрат на API. Тому буде реалізовано кілька рівнів контролю: ліміти для окремих операцій, часові обмеження та загальні квоти використання.
Підтримка Skills та Sub-Agents
DMJBot підтримуватиме формат Skills у тому ж вигляді, в якому вони використовуються в Claude та OpenClaw. Це дозволить будувати поведінку асистента повністю під власні потреби, використовуючи знайомі та вже перевірені підходи.
Окрім цього, буде можливість створювати кастомні субагенти (Sub-Agents) для виконання специфічних задач. Такі агенти можуть мати власні інструкції, набір інструментів і зону відповідальності, працюючи як окремі спеціалізовані компоненти в межах одного ШІ-асистента.
Інтерфейс
Інтерфейс DMJBot складається з веб-додатка та мобільного застосунка.
Приклад чату у веб-інтерфейсі:

Керування задачами та подіями:

Мобільний додаток
Також планується окремий мобільний додаток для керування DMJBot. Відомо, що Openclaw може працювати через месенджери, і такий підхід також розглядався. Проте від нього було вирішено відмовитися.
Практика показує, що у реальній роботі виникає багато різних чатів, зʼявляються фонові задачі, для яких важливо бачити прогрес виконання. Окрім цього, передбачається окреме керування проєктами та кастомними агентами. У таких умовах простого чат-інтерфейсу недостатньо.
Саме тому буде створено окремий мобільний застосунок, який зможе працювати з асистентом за умови, що DMJBot доступний через інтернет (тобто не обмежений локальною мережею).

Більше прикладів
Щоб краще продемонструвати можливості автоматизації щоденної рутини, ось ще кілька прикладів сценаріїв.
«План на сьогодні: зранку виконай таск ABC-321 за схемою „Claude формує технічне завдання, Codex пише код, Claude робить ревʼю для мене“. Покажи ревʼю та весь diff тут у чаті. Після обіду — за тією ж схемою таск CBA-123, результат показати до 16:30».
«Монітор електронну пошту. Очікується лист від Петра з вкладеним файлом, тема — кошторис. Коли лист прийде, відповідай, що отримано, і подякуй. Файл перешли Миколі в Slack у дірект і напиши, щоб перевірив та затвердив. Коли він підтвердить затвердження — створи лист шефу, додай файл і напиши коротке ввічливе повідомлення, що кошторис готовий. Якщо Микола не затвердить — нічого більше не роби, лише надішли мені сповіщення».
Хіба це не круто? Вже зараз видно, наскільки багато різних автоматизацій можна побудувати на основі такого підходу і скільки часу він здатен звільнити для справді важливих задач. Саме такі сценарії поступово перетворюють ШІ з «чат-іграшки» на повноцінного робочого помічника.
Якщо по секрету — альфа-версія вже випробувана, і ці сценарії реально працюють. Інструкції задаються один раз, клієнт можна закрити, а сервер далі самостійно реагує на події й виконує роботу.
Результат у березні—квітні
Першу робочу версію DMJBot планується випустити наприкінці березня. Якщо вам цікаво мати такого ШІ-асистента, додайте свій email до листа очікування — ми повідомимо, щойно все буде готово.
Наш вебсайт: dmjbot.com Там же ви знайдете посилання на профілі проєкту в соціальних мережах.
На завершення
Ми стоїмо на порозі моменту, коли ШІ перестає бути просто чат-ботом і стає повноцінним цифровим помічником, який працює разом з нами — або навіть замість нас у рутинних задачах.
А яким ви уявляєте свого ШІ-асистента? Які задачі ви б довірили йому вже сьогодні?
19 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів