SSD Nodes Learn 8GB RAM — $66/рік
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-08-01

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

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

Шлях у шість етапів

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

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

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

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

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

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

Це весь список. Вам не потрібні теорія машинного навчання чи досвід навчання моделі. У розробці агентів немає градієнтів або навчальних даних. Графічна карта потрібна лише якщо ви вирішите запускати модель самостійно. Це окрема навичка, яку можна опанувати пізніше за матеріалом розгортання 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 відхиляє, і це найпоширеніша помилка початківців. Поставте запитання, для відповіді на яке потрібні дві команди, і простежте, як цикл виконається двічі. Поставте запитання, на яке неможливо відповісти, і подивіться, чи програма завершить роботу, чи зациклиться.

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

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

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

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

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

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

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

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

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

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

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

Етап 5: цикл є продуктом

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

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

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

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

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

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

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

Ін’єкція підказок також належить до цієї теми. Якщо агент читає вебсторінку, систему відстеження задач або вхідні повідомлення, автор цього тексту одночасно задає інструкції вашому агенту. Захист полягає не в складнішій системній підказці. Він полягає в обмеженні повноважень: агента, який не може видалити репозиторій, неможливо переконати його видалити.

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

Виберіть одну навчальну програму та пройдіть її повністю замість того, щоб поверхово переглядати шість. Репозиторій Microsoft ai-agents-for-beginners є найповнішим безкоштовним варіантом: це курс із вісімнадцяти уроків, який станом на липень 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-агентами?

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

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

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

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