SSD Nodes Learn
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-07-24

Як створити AI agent на власному VPS

Дізнайтеся, як реалізувати цикл роботи агента, налаштувати tools, MCP та пам'ять для LLM на вашому сервері без зайвих витрат на хмарні сервіси.

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

AI agent — це цикл, що обгортає мовну модель. Модель аналізує ситуацію, обирає одну дію, ваш код виконує цю дію, результат повертається моделі, і цикл запускається знову, доки завдання не буде виконано. Це основна ідея. Звичайний chatbot відповідає один раз і зупиняється. Agent продовжує роботу, виконуючи реальні дії між своїми ходами, доки не досягне поставленої мети.

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

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

Tools: як діє агент

Tool — це будь-яка можливість, яку ви надаєте моделі, описана достатньо чітко, щоб вона знала, коли її використати. Прочитати файл, запустити shell command, виконати запит до бази даних, надіслати повідомлення: кожен з цих пунктів є інструментом з назвою, коротким описом та списком вхідних даних. Ви визначаєте інструменти; модель вирішує, коли їх викликати.

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

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

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

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

Результат — можливість повторного використання. MCP server, написаний кимось іншим для сервісу, який ви використовуєте, стає доступним для вашого агента без написання нового коду інтеграції. А сервер, який написали ви, буде доступний будь-якому агенту, що підтримує цей протокол. На VPS це має значення, оскільки ви можете запускати MCP servers як окремі невеликі сервіси поруч із агентом, кожен з яких має лише необхідний доступ. Я описую налаштування у статті running MCP servers on a VPS.

Memory and retrieval

Мовна модель не має власної пам'яті між викликами. Усе, що вона знає про поточне завдання, має передаватися їй на кожному ході. Для коротких завдань цього достатньо, оскільки вся розмова вміщується в один запит. Для тривалих завдань вам потрібно керувати пам'яттю самостійно; існує два підходи.

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

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

Many agents, one coordinator

Для більшості завдань достатньо одного агента з багатьма інструментами. Коли завдання велике або складається з окремих частин, допомагає інша структура: coordinator agent, який делегує завдання спеціалізованим sub-agents. Координатор розбиває ціль на частини, передає кожну частину sub-agent, створеному для такого типу роботи, і об'єднує результати.

Перевага — у фокусі. Sub-agent з вузьким завданням та обмеженим набором інструментів приймає кращі рішення, ніж універсальний агент, що намагається впоратися з усім одночасно. Крім того, незалежні частини можуть виконуватися паралельно. Проте координація потребує ресурсів, тому використовуйте одного агента, доки завдання явно не потребуватиме більшого. Починайте з простого і додавайте агентів лише тоді, коли один агент не справляється.

Self-hosted or hosted: яка модель працює з вашим агентом

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

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

ToolWill your model fit your server?

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

The server is the dangerous part

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

Основними заходами є наступні: запускайте агента від імені виділеного непривілейованого користувача, а не root, щоб обмежити масштаб помилки (читайте про це в running services as an unprivileged user). Зберігайте секрети, такі як API keys, поза кодом, зробивши їх доступними лише для цього користувача. Також ізолюйте (sandbox) інструменти, що взаємодіють із системою, щоб агент мав доступ лише до необхідного. Для прикладу посилення безпеки реального self-hosted агента див. running OpenClaw safely on a VPS. Якщо ви віддаєте перевагу використанню hosted model для інтелекту, посібник building an agent with Claude on a VPS пропонує ті ж ідеї з використанням конкретної моделі.

Для практичного прикладу building an OpenClaw-style personal agent застосовує ці принципи. Якщо ж ви хочете запустити готове рішення, почніть з self-hosting Hermes Agent on a VPS або running Agent Zero on your own server. Порівняння всіх готових варіантів, які ми розглядаємо, наведено у статті the best self-hosted AI agents in 2026.

FAQ

What is the difference between an AI agent and a chatbot?

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

Do I need a GPU to run an AI agent on a VPS?

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

What is MCP and do I need it to build an agent?

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

Is it safe to give an AI agent access to my server?

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