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

Як вивчити AI-агентів з нуля: 6 етапів

Практичний план навчання AI-агентів з нуля: концепції, власний цикл, інструменти, пам’ять, проєктування та безпека з компонентом на кожному етапі.

Шість етапів

Щоб вивчити AI-агентів з нуля, послідовно пройдіть шість етапів: концепції, перший цикл, інструменти, пам’ять, проєктування циклу та безпека. На кожному етапі ви власноруч створюєте один компонент. Пропуск етапів є найпоширенішою причиною зупинки в навчанні, оскільки framework приховує саме ту частину, яку вам потрібно було побачити.

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

Наведений нижче план передбачає навчання через практичну роботу. Прочитайте опис етапу, створіть невеликий компонент, навмисно поруште його роботу, а потім переходьте далі. Етап, який ви лише прочитали, ви ще не пройшли.

Що насправді потрібно перед етапом 1

Чесний список вимог короткий і коротший, ніж припускає більшість навчальних сторінок.

  • Ви вмієте читати й писати код Python або TypeScript на рівні скрипту з п’ятдесяти рядків.
  • Ви впевнено працюєте в оболонці Linux: встановлюєте пакет, редагуєте файл, читаєте журнал.
  • У вас є API key для hosted model або машина, на якій можна запускати локальну модель.

Це повний список. Вам не потрібна теорія машинного навчання, і вам не потрібно було навчати модель. Робота з агентами не передбачає градієнтів або training data. Graphics card має значення лише якщо ви вирішите запускати модель самостійно. Це окрема навичка, яку можна опанувати пізніше за матеріалом розгортання Ollama на VPS для самостійного запуску LLM.

Найчастіше недооцінюють частину, пов’язану з оболонкою. Агенти виходять з ладу через права доступу, шляхи, змінні середовища та процеси, які непомітно завершуються. Якщо stack trace про PATH або режим файлу змушує вас закрити термінал, спочатку присвятіть вихідні основам Linux. Пізніше це заощадить вам місяць.

Етап 1: що таке агент і чим він не є

Почніть з одного API-виклику без циклу. Надішліть промпт, виведіть відповідь і перегляньте кількість токенів у відповіді. Тепер ви розумієте одиницю вартості та одиницю затримки.

Потім опануйте використання інструментів. Це єдина справді нова ідея в усій цій галузі. Ви описуєте функцію для моделі як ім’я, опис і JSON-схему (JavaScript object notation) її вхідних даних. Модель нічого не запускає. Вона повертає структурований запит: викличте run_command із цими аргументами. Ваш код виконує функцію, надсилає її результат назад як повідомлення та знову звертається до моделі. Модель планує: читає текст і записує текст. Ваш код — це компонент, який виконує дії. Код на вашому боці цього обміну має окрему назву, коли ви починаєте порівнювати різні підходи: це обв’язка агента, тобто цикл, інструменти та дозволи, організовані навколо моделі, яка сама їх не має.

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

Етап 2: один раз напишіть цикл самостійно

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

sudo apt update && sudo apt install -y python3-venv
python3 -m venv ~/agent
source ~/agent/bin/activate
pip install anthropic
export ANTHROPIC_API_KEY=your-key-here
import subprocess
import anthropic

client = anthropic.Anthropic()

tools = [{
    "name": "run_command",
    "description": "Run a read only shell command and return its output.",
    "input_schema": {
        "type": "object",
        "properties": {"command": {"type": "string"}},
        "required": ["command"],
    },
}]

messages = [{"role": "user", "content": "How much disk space is free here?"}]

while True:
    response = client.messages.create(
        model="claude-opus-5",
        max_tokens=4096,
        tools=tools,
        messages=messages,
    )
    if response.stop_reason != "tool_use":
        break
    messages.append({"role": "assistant", "content": response.content})
    results = []
    for block in response.content:
        if block.type == "tool_use":
            done = subprocess.run(
                block.input["command"], shell=True,
                capture_output=True, text=True, timeout=10,
            )
            results.append({
                "type": "tool_result",
                "tool_use_id": block.id,
                "content": done.stdout or done.stderr,
            })
    messages.append({"role": "user", "content": results})

print(next(b.text for b in response.content if b.type == "text"))

Запустіть програму за допомогою python3 agent.py. Під час успішного запуску виводиться один абзац із назвами ваших файлових систем і даними про вільний простір, оскільки модель запросила df -h, ваш код виконав цю команду, а другий прохід перетворив цю таблицю на речення. Якщо нічого не виводиться, цикл завершився до появи текстового блоку. Додайте print(response.stop_reason) всередині циклу й спостерігайте, як змінюються значення.

Тепер навмисно зламайте програму. Видаліть рядок tool_use_id і прочитайте помилку, оскільки API відхиляє результат інструмента без відповідного id, а це найпоширеніша помилка початківців. Поставте запитання, для якого потрібні дві команди, і спостерігайте, як цикл виконується двічі. Поставте неможливе запитання й подивіться, чи цикл завершиться, чи виконуватиметься без кінця.

Важливе застереження щодо цього прикладу. Він передає результат роботи моделі безпосередньо в shell за допомогою shell=True. Це прийнятно на тестовій машині, яку можна відновити, але в усіх інших випадках так робити не можна. Етап 6 розглядає це питання. Концепції, пов’язані з цим циклом, докладніше описано в матеріалі як створити власного AI-агента на VPS.

Етап 3: інструменти, яких агент ще не мав

Ваш інструмент run_command працює, але справжньому агенту потрібні інструменти для доступу до зовнішніх систем: системи заявок, бази даних, репозиторію. Написання окремої обгортки для кожного сервісу та кожного агента не масштабується.

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

npx -y @modelcontextprotocol/server-filesystem /home/you/projects

Для цього має бути встановлений Node, а аргумент із каталогом — це єдиний шлях, якого сервер торкатиметься. У цьому стисло виражена модель безпеки: межі визначає сервер, а не модель. Підключіть до нього клієнт — і агент отримає можливість читати та записувати файли, хоча ви не писали для цього окремий код. Належний запуск таких серверів під службовим обліковим записом із поясненням варіантів транспорту описано в матеріалі запуск MCP-серверів на VPS для AI-агентів кодування. Якщо потрібен другий сервер, який працює зі справжніми даними, а не з тестовим каталогом, у матеріалі самостійне розгортання openGym, трекера тренувань надається сервер лише для читання. Так ви зможете практикуватися в запитах про власну історію тренувань, не надаючи агенту доступу до дій, які він може виконати зі шкідливими наслідками.

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

Етап 4: пам’ять, яка здебільшого є просто файлами

Початківці на цьому етапі використовують векторну базу даних. Не робіть цього — принаймні поки що.

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

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

Етап 5: цикл — це продукт

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

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

Практичне завдання: візьміть агента з етапу 2, дайте йому завдання, що потребує чотирьох або п’яти кроків, і додайте жорстке обмеження кількості ітерацій. Потім приберіть це обмеження й подивіться, як необмежений цикл впливає на витрати токенів. Один раз виконайте це з невеликим бюджетом, щоб випадково не запустити такий цикл із великим бюджетом.

Етап 6: безпека, секрети та витрати

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

Запускайте агента від імені окремого непривілейованого користувача. Ніколи не запускайте його від імені root або власного облікового запису. Так зона потенційного впливу обмежується каталогом, а не всією машиною. Не надавайте облікові дані вмісту контексту моделі. Усе, що потрапляє у вікно контексту, може бути процитовано через виклик інструмента. Виправленням є короткоживучі токени з обмеженою областю дії, які передаються через helper, як описано в як не допускати витоку секретів до AI-агентів. Встановіть жорстку верхню межу витрат. Неконтрольований цикл оплачує кожну ітерацію, поки ніхто не стежить за його роботою. Обмеження та пакетна обробка, які допомагають контролювати витрати, описані в контроль витрат AI-агента на VPS, який працює постійно.

Якщо агент працює всередині harness, а не скрипта, який ви написали самостійно, частина цього етапу налаштовується конфігурацією, а не кодом. У плагіни DeepSeek Harness, які варто встановити описано багато відповідних можливостей: обмеження бюджету, правила дозволів для інструментів і сканування ін’єкцій.

Витрати потребують одного конкретного числа. Станом на July 2026 Claude Opus 5 стягує $5 за мільйон вхідних токенів і $25 за мільйон вихідних токенів. Агент, який постійно надсилає збільшуваний діалог, може передати через одну задачу кілька сотень тисяч токенів. Кешування промптів і менша модель для стандартних кроків змінюють цю арифметику значно сильніше, ніж будь-яке доопрацювання промпту.

Prompt injection також належить до цього етапу. Якщо агент читає вебсторінку, issue tracker або вхідні повідомлення, автор цього тексту одночасно пише інструкції для вашого агента. Вебпошук зазвичай є першим інструментом, який відкриває цей шлях. У як спрямувати агента до власного екземпляра SearXNG показано налаштування та поверхню ін’єкцій, яку воно створює. Захист полягає не в складнішому системному промпті. Він полягає в межі дозволів. Агент, який не може видалити репозиторій, не можна переконати його видалити.

Якої програми слід дотримуватися?

Оберіть одну навчальну програму й пройдіть її повністю, замість того щоб побіжно переглядати шість. Репозиторій Microsoft ai-agents-for-beginners є найповнішим безкоштовним варіантом: це курс із вісімнадцяти уроків, який станом на July 2026 отримав понад 70,000 зірок і чітко відповідає описаним вище етапам. Добірки популярних репозиторіїв агентів корисні, щоб побачити доступні варіанти, але значно менш придатні як навчальна програма, оскільки список, відсортований за кількістю зірок, відображає популярність, а не порядок навчання.

Коли потрібен реальний проєкт для практики, coding agent є найкращим першим варіантом: зворотний зв’язок надходить одразу, призначення інструментів зрозуміле, а помилки легко скасувати. У матеріалі Запуск coding AI agent на VPS описано весь процес від початку до кінця. Якщо ви хочете вивчати готові системи, а не створювати їх з нуля, у порівнянні найкращих self-hosted AI agents показано, як кілька проєктів по-різному реалізують той самий цикл.

Скільки часу це займає?

Для того, хто вже програмує, етапи 1 і 2 займуть один вечір. Етап 3 — вихідні. Більшість цього часу піде на опис інструментів, а не на протокол. Етапи 4 і 5 потребують кількох тижнів реального використання, оскільки зрозуміти, що саме ваш агент забуває, можна лише спостерігаючи за такими випадками. Етап 6 фактично не завершується, оскільки кожна нова надана можливість знову відкриває це питання.

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

FAQ

Чи потрібно знати машинне навчання, щоб створити AI-агента?

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

Чи варто починати з фреймворку на кшталт LangChain або CrewAI?

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

Скільки коштує навчання роботи з AI-агентами?

Менше, ніж очікує більшість людей, якщо встановити обмеження. Для всіх цих шести етапів достатньо ключа hosted API і невеликого VPS. Основний ризик — не погодинна оплата, а необмежений цикл, який виставляє рахунок за кожну ітерацію, поки ви спите. У перший день встановіть жорсткий ліміт витрат для свого API-акаунта, додайте обмеження кількості ітерацій до кожного циклу та використовуйте дешевшу модель для звичайних операцій. Локальний запуск моделі усуває витрати на токени, але потребує відповідного обладнання.

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

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

#ai-agents#learning#curriculum#mcp#self-hosting