SSD Nodes Learn Hosting plans →
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-08-28

Як створити власного AI-агента на VPS

Розберіться, як працює цикл AI-агента на власному VPS: мовна модель, інструменти, MCP і пам’ять, а також як сервер виконує дії замість моделі.

Що насправді таке AI-агент

AI-агент — це цикл навколо мовної моделі. Модель аналізує ситуацію, визначає одну дію, ваш код виконує цю дію, результат повертається до моделі, і цикл повторюється, доки завдання не буде виконано. У цьому полягає вся ідея. Звичайний чат-бот відповідає один раз і зупиняється. Агент продовжує роботу, виконуючи реальні дії між власними кроками, доки не досягне заданої вами мети. Такий цикл достатньо простий, щоб самостійно реалізувати його за один день. Саме з нього починається поетапний шлях вивчення агентів з нуля, перш ніж додавати інструменти, пам’ять і засоби безпеки.

Найважливішою є дія. Сама по собі мовна модель лише генерує текст. Вона не може прочитати файл, викликати API або виконати команду. Агент надає моделі набір дозволених інструментів і спосіб запитувати їх. Коли моделі потрібно виконати пошук у вебі або записати файл, вона не робить це самостійно. Вона формує структурований запит, ваш код запускає інструмент, а відповідь повертається як наступні дані для читання моделлю. Модель приймає рішення, а ваш сервер виконує дії.

Не кожне завдання потребує агента, і типовою помилкою є використовувати його за замовчуванням. Якщо кроки відомі заздалегідь, звичайний скрипт буде простішим, швидшим і надійнішим. «Щогодини отримувати цю сторінку та надсилати мені ціну електронною поштою» — це заплановане завдання, а не агент. Створюйте агента, коли послідовність дій не визначена наперед і модель має проаналізувати отримані дані та вирішити, що робити далі. Недоліком агента є непередбачуваність, тому використовуйте його лише тоді, коли гнучкість виправдовує цю ціну.

Інструменти: як працює агент

Інструментом є будь-яка можливість, яку ви надаєте моделі й описуєте достатньо докладно, щоб вона знала, коли його використовувати. Прочитати файл, виконати shell-команду, виконати запит до бази даних або надіслати повідомлення — кожна така дія є інструментом з іменем, коротким описом і переліком вхідних параметрів. Ви визначаєте інструменти, а модель вирішує, коли їх викликати. Web search зазвичай є першим інструментом, який варто додати. Якщо ви вже використовуєте власний екземпляр SearXNG, його можна перетворити на бекенд пошуку агента замість оплати комерційного search API.

Механізм всюди однаковий, незалежно від вибраної моделі. Модель повертає структурований запит із назвою інструмента та заповненими вхідними параметрами. Ваш код отримує цей запит, виконує відповідну функцію та надсилає результат у наступній ітерації. Модель читає результат і або викликає інший інструмент, або формує остаточну відповідь. Function calling є базовим механізмом кожного агента, а цикл, який ним керує, складається лише з кількох рядків звичайного коду.

Саме тут ви контролюєте процес. Модель може запросити виконання команди, але нічого не виконується, доки ваш код не вирішить її запустити. На цьому етапі можна додати запити на підтвердження небезпечних дій, обмеження доступу інструмента та журнал усіх дій агента. Безпека агента залежить від наданих йому інструментів і перевірок перед їх виконанням.

MCP: стандартний спосіб підключення інструментів

Ручне написання окремої інтеграції для кожного сервісу швидко стає виснажливим. Model Context Protocol, або MCP, — це відкритий стандарт, який вирішує цю проблему. Замість написання нового інструмента для файлів, бази даних і системи відстеження завдань ви підключаєте агента до MCP-сервера, який уже надає доступ до них як до інструментів. Агент використовує один протокол, а сервер взаємодіє з реальною системою.

Основна перевага — повторне використання. MCP-сервер, створений іншими розробниками для потрібного вам сервісу, стає доступним агенту без написання нового коду інтеграції. Сервер, який створили ви, може використовувати будь-який агент, що підтримує цей протокол. Деякі self-hosted застосунки вже постачають власні MCP-сервери: openGym, трекер тренувань надає MCP-сервер лише для читання, тому агент може відповідати на запитання про історію ваших тренувань, але не може її змінювати. На VPS це важливо, оскільки MCP-сервери можна запускати як окремі невеликі сервіси поруч з агентом і надавати кожному лише потрібні йому права доступу. Якщо системи за цими серверами розташовані в мережі, яку VPS не бачить, наприклад база даних удома або в офісі, оголошення цієї мережі для вашого tailnet за допомогою subnet router дає агенту змогу підключатися до них через приватні адреси без відкриття доступу до публічного інтернету. Налаштування описано в розділі запуск MCP-серверів на VPS.

Пам’ять і пошук

Мовна модель не має власної пам’яті між викликами. Усе, що їй потрібно знати про поточне завдання, треба передавати під час кожного запиту. Для короткого завдання цього достатньо, оскільки вся розмова вміщується в один запит. Обсяг залежить від контекстного вікна. Self-hosted модель, яку обслуговує Ollama, має невелике значення за замовчуванням і непомітно відкидає найстаріші повідомлення. Тому варто налаштувати num_ctx відповідно до обсягу трафіку, який генерує ваш цикл, перш ніж звинувачувати агента в тому, що він забуває. Для довших завдань пам’ять потрібно організувати самостійно. Варто знати два підходи.

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

Другий підхід — пошук. Якщо агенту потрібні відомості з великого набору документів, який неможливо вмістити в один запит, ці документи зберігають у формі, придатній для пошуку, і завантажують до контексту моделі лише релевантні фрагменти в потрібний момент. Цей підхід називається retrieval-augmented generation, або RAG. Агент ставить запитання, ваш код знаходить кілька відповідних фрагментів, і лише їх передають моделі. Сховище розміщується на вашому сервері, тому приватні документи не залишають його.

Один агент, багато координаторів

Один агент із багатьма інструментами підходить для більшості завдань. Коли завдання велике або природно поділяється на частини, ефективнішою буде інша схема: агент-координатор, який делегує роботу спеціалізованим субагентам. Координатор розбиває мету на частини, передає кожну частину субагенту, створеному для такого типу роботи, і об’єднує результати. Для делегування потрібен канал зв’язку між частинами. Найпростіший варіант уже є на вашому сервері: дві сесії Claude Code на одному VPS можуть надсилати одна одній повідомлення. Це недорогий спосіб перевірити, як працює передавання завдань, перш ніж створювати власну систему координації.

Перевага полягає у фокусі. Субагент із вузькою спеціалізацією та невеликим набором інструментів ухвалює кращі рішення, ніж універсальний агент, який намагається керувати всім одночасно. Незалежні частини також можуть виконуватися паралельно. Вартість — координація, і вона може бути значною. Тому використовуйте одного агента, доки завдання явно не потребуватиме більшого. Починайте з простої схеми й додавайте агентів лише тоді, коли один агент явно не справляється.

Модель на власному сервері чи в хмарі: де працюватиме ваш агент

Модель — це єдина частина агента, яку не обов’язково запускати самостійно. Вибір місця її розгортання буде вашим найважливішим рішенням. Hosted model, доступна через API, забезпечує найкраще міркування без потреби щось адмініструвати: ви надсилаєте текст і отримуєте текст у відповідь. Self-hosted model працює на вашому сервері. Це зберігає конфіденційність усіх запитів, передбачає фіксовану вартість замість оплати за кожен токен і не залежить від доступності стороннього сервісу. Компроміс полягає у можливостях і складності обслуговування. Найкращі hosted models випереджають моделі, які можна запустити самостійно. Для власної моделі також потрібно забезпечити достатній обсяг пам’яті.

Саме тут виникає практичне обмеження. Модель має поміститися в пам’яті сервера, а під час використання GPU — у його відеопам’яті. Модель, завелика для наявного обладнання, не завантажиться. Перш ніж планувати self-hosted агента, перевірте, чи поміститься потрібна модель на вашій машині:

ToolWill your model fit your server?

Якщо обсягів недостатньо, є 3 варіанти: вибрати меншу модель, використати агресивнішу квантизацію для її зменшення або застосувати hosted API для міркування, залишивши на сервері лише свої інструменти й дані. Багато self-hosted агентів починають із локальної моделі через Ollama на VPS, а для найскладніших кроків переходять на hosted API.

Сервер — найнебезпечніша частина

Агент, який може виконувати shell-команди та записувати файли, має значні можливості, і саме тому він небезпечний. Модель добре оцінює ситуацію, але не безпомилково. Неправильна інструкція, помилка або шкідливі вхідні дані можуть перетворити корисного агента на інструмент, який видалить не той об’єкт або розкриє секрет. Заходи безпеки не є необов’язковими. На сервері саме вони мають найбільше значення.

Найбільший ефект дають кілька простих правил. Запускайте агента від імені окремого непривілейованого користувача, а не root. Так помилка матиме обмежені наслідки; те саме пояснення наведено в запуску сервісів від імені непривілейованого користувача. Зберігайте його секрети, наприклад API keys, поза кодом і надавайте доступ до них лише цьому користувачу. Також ізолюйте інструменти, які взаємодіють із системою, щоб агент мав доступ лише до справді потрібних ресурсів. Якщо ви не хочете вручну прописувати кожну перевірку, у плагінах DeepSeek Harness, які варто встановити є готові компоненти для тих самих завдань: правила дозволів для інструментів, сканування prompt injection і обмеження витрат агента до його зупинки. Практичний приклад захисту реального self-hosted агента наведено в матеріалі безпечний запуск OpenClaw на VPS. Якщо для інтелектуальної обробки ви віддаєте перевагу hosted model, супровідний посібник створення агента з Claude на VPS застосовує ті самі принципи до конкретної моделі.

Практичний приклад створення персонального агента в стилі OpenClaw поєднує ці компоненти. Якщо ви хочете запустити готового агента, почніть із self-hosting Hermes Agent на VPS або запуску Agent Zero на власному сервері. Матеріал найкращі self-hosted AI-агенти у 2026 році порівнює всі готові варіанти, які ми розглядаємо, в одному форматі.

FAQ

У чому різниця між AI-агентом і чат-ботом?

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

Чи потрібен GPU для запуску AI-агента на VPS?

Лише якщо ви розгортаєте модель самостійно. Цикл роботи агента, інструменти та пам’ять — це звичайний код, який нормально працює на звичайному VPS без GPU. GPU потрібен, якщо ви хочете запускати мовну модель на власному обладнанні, оскільки модель має поміститися в пам’яті. Якщо ви використовуєте hosted model через API, обчислення виконуються в іншому місці, і для цього достатньо VPS зі скромними ресурсами.

Що таке MCP і чи потрібен він для створення агента?

MCP, Model Context Protocol, — це відкритий стандарт для підключення агента до інструментів і джерел даних. Він не є обов’язковим, оскільки кожен інструмент можна написати вручну. MCP заощаджує цю роботу: він дає змогу повторно використовувати наявні сервери для поширених сервісів і один раз надати доступ до власних систем для використання будь-яким агентом. Це зручний засіб, цінність якого зростає зі збільшенням кількості інтеграцій.

Чи безпечно надавати AI-агенту доступ до мого сервера?

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