Проактивний AI-агент, який працює, коли ви офлайн

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до 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 підтримуватиме всі популярні LLM-провайдери — OpenAI, Anthropic, Google — через API. Також передбачена підтримка Ollama та безкоштовних open-weight моделей. Це означає, що для використання асистента необхідно мати власний API-ключ або локально встановлену LLM.

У майбутньому планується додати підтримку 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 Там же ви знайдете посилання на профілі проєкту в соціальних мережах.

На завершення

Ми стоїмо на порозі моменту, коли ШІ перестає бути просто чат-ботом і стає повноцінним цифровим помічником, який працює разом з нами — або навіть замість нас у рутинних задачах.

А яким ви уявляєте свого ШІ-асистента? Які задачі ви б довірили йому вже сьогодні?

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А він зможе із ріалтаймовим діпфейком особи включатися на міт і базово відповідати? Ну і в слаку відповідати в стилі особи, враховуючи звичні паттерни мови (в т.ч. почуття гумору і т.п.)

Бо якщо так — то чом би не допілити систему таким чином, щоб в умовному клауді крутилися сотні таких віртуальних вася-аватарів, яких можна було б здавати в аренду в бодішопи? Типу як хмарний геймінг, тільки це «хмарні» працівники?

Це можна спробувати. Але агент сам по собі не може робити діпфейки. Це має бути якийсь зовнішній сервіс або програма. А dmjbot міг би нею керувати.
Я не знаю чи такі програми є в доступі, так щоб відео в ріалтаймі передавалося в зум і рухи обличчя відповідали тексту який треба сказати.

Що може робити dmjbot це отримувати сповіщення по типу «Нова фраза сказана у відео дзвінку». В нього може бути інструкція — «Коли щось кажуть на дзвінку, проаналізуй фразу і визнач чи це звертання до тебе (твоє імя таке-то). Якщо звернулися до тебе то побудуй найможливо коротшу відповідь. Додаткові дані отримай з бази знань. Відповідь відправ через інструмент say_on_video_call» .
Але чи технологія готова до цього, щоб воно виглядало правдодібно я не знаю.

На рахунок відповідати в стилі особи. Ми цим цікавилися і робили деякі досліди. Це можна зробити, може ми щось зробимо але пізніше.

Перш за все треба зібрати всі дані — записи старих чатів, тексти які писала особа всюди де можна. Чим більше тим краще.
Це не так лагко зробити. Ось я пожалів що не зробив дампи в скайпі (роки там спілкувався). Так само в попередньому місці роботи в Слак.
Фактично писав багато але воно все втрачено.

Потім якщо дані є то треба якось навчити систему їх використовувати. Ми дивилися в сторону LLM Fine Tuning. Так виглядає що можливо навчити ЛЛМ стилю письма конкретно людини, але це буде мати певну вартість на навчання і потім на використання цієї кастомної ЛЛМ.

Можливо ми випустимо якийсь таторіал як це зробити, але самі ми не будемо це робити.

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

Heygen такое делает, например. можно свой pipeline собрать, но realtime lipsync задача будет непростая, ну и еще зависит от языка.

Так виглядає що можливо навчити ЛЛМ стилю письма конкретно людини, але це буде мати певну вартість на навчання і потім на використання цієї кастомної ЛЛМ.

это прям сложная задача, я уже занимался, может у вас лучше получится. пробовал fine-tune GPT4, пробовал делать extract tone of voice и промптирование. получается вроде бы и похоже, но лично я читаю этот текст и понимаю, что он не мой.

Чи буде можливість ганяти вашого агента на on-premise серверах?

Агент може працювати будь де якщо там можна запустити докер контейнер.
Навантаження мінімальне. Він сам не робить якихось обрахунків.

А інструмента агента працюють окремо в тих середовищах де ви хочете виконувати якісь дії.

Єдина вимога — має бути мережа від середовища з інструментами до сервера де працює агент (агент виступає як вервер в термінології TCP/IP)

І ще одна осбливість, якщо on-premise сервер в локальній мережі то ви не зможете використовувати мобільний додаток дл керування ним (додаток може конектитися лише до паблік хоста)

Ну, це як раз не проблема. WireGuard навіщо придумали? :)
В додатку ж можна буде вказати IP-адресу агента?

Так. В додатку буде http endpoint агента (http or https)

Супер! Чекаємо із нетерпінням! Цікаво порівняти із OpenClaw

Принаймні, в професійному плані персональні асистенти уйдуть у минуле. Але це якщо ІШ не буде галюцинувати і лінитись. А вони це вміють :)

Круто, можна буде робити вигляд присутності на роботі.

Ще б функцію щоб курсор миші рухав кожні 5 хв)

таку функцію ви можете зробити самі.
Для цього треба буде зробити кастомний MCP сервер і підключити його до вашого агента (нехай імя інструмента буде random_move_my_mouse).

І сказати агенту в чаті «Кожні 5 хвилин рухай мишкою через інструмент random_move_my_mouse» .

Я бачу що такі MCP сервери вже є. наприклад github.com/CursorTouch/Windows-MCP
Це дуже потужний. Вам підійде знайно простіший . Я думаю claude code зробить щось таке на python за 3 хв.

Тобто відповідь для вас — це можна буде зробити дуже легко

Я б користувався ботом який крутиться в клауді і має доступ до необхідних сервісів (email, slack, Jira, репозиторії). Але виникає питання що корпоративні полісі думають з цього приводу.

Так. Це треба враховувати.
Варіантів є декілька. Один з них це діяти по принципу «те що не заборонено те дозволено».
А якщо заборонено то обговорювати в компанії.

Обговорення може швидко розбитись об контракт з клієнтом.

Цікаво, а чи зможе цей агент виступати в ролі самостійного користувача, який виконує своє завдання, скажімо, ходить по відео та коментарях в ютубі, знаходить ворожу пропоганду, аналізує коментарі та дає аналітичну відповідь. Це до прикладу. Щоб він самостійно міг гортати браузер і взаємодіяти з інформацією через нього

Можна, для цього існують Playwright, Puppeteer, Selenium

І так і ні. Такі сервіси як Ютуб активно борються з ботами. Там немає АПІ яке дозволить це робити масово. Можна робити обхідними шляхами, але це буде ненадійно. Вони все одно будуть вичисляти і банити.
Щоб це зробити вам треба якесь проміжне АПІ яке бере на себе обхід захистів, а ваш ШІ агент лише виконує автоматизацію, читає коментарі та думає що і де відповісти

Але якщо ми можемо безперебійно гортати стрічку соц мереж, в тому числі і Youtube, без додаткови капч і всього іншого, що не дає повністю зімітувати цей процес.

Тоді немає ніяких обмежень. Це можна буде зробити з нашим ботом DMJBot без якогось особливого програмування. Тільки описато йому що треба робити.
А також це можна зробити простий кастомний агент з використанням Langchain чи чогось подібного щоб робив це.

Якби не було капт і боротьби великих платформ з ботами, то ми б не могли з вами спілкуватися, все було б забито ботами.

Захисти можна обходити, це питання бюджету.

Підписатись на коментарі