Як вивчити AI-агентів з нуля: 6 етапів
Покроковий план навчання AI-агентів: концепції, власний цикл, інструменти, пам’ять і безпека. На кожному етапі створіть один компонент.
Шість етапів вивчення
Щоб вивчити AI-агентів з нуля, послідовно пройдіть шість етапів: концепції, перший цикл, інструменти, пам’ять, проєктування циклу та безпека. На кожному етапі ви власноруч створюєте один компонент. Передчасний перехід до наступних тем — найпоширеніша причина, через яку навчання зупиняється, оскільки фреймворк приховує саме ту частину, яку вам потрібно було побачити.
AI-агент — це цикл навколо мовної моделі, якій дозволено викликати інструменти. У цьому полягає вся суть теми. Усе інше — деталі про те, що входить до циклу, до яких ресурсів можуть отримувати доступ інструменти та як зупинити цикл у разі помилки. Якщо ви можете пояснити цей цикл іншій людині, ви зрозуміли суть. Якщо ви лише можете назвати фреймворки, ви ще не опанували тему.
Наведений нижче план передбачає навчання через створення власних реалізацій. Прочитайте етап, створіть невеликий компонент, навмисно зламайте його, а потім переходьте далі. Етап, який ви лише прочитали, ще не можна вважати пройденим.
Що насправді потрібно перед етапом 1
Чесний список попередніх вимог короткий і значно коротший, ніж у більшості навчальних матеріалів.
- Ви вмієте читати й писати код на Python або TypeScript на рівні скрипту з п’ятдесяти рядків.
- Ви впевнено працюєте в оболонці Linux: встановлюєте пакети, редагуєте файли, читаєте журнали.
- У вас є API key для hosted model або машина, здатна запускати local model.
Це весь список. Вам не потрібні теорія машинного навчання чи досвід навчання моделі. У роботі з агентами немає градієнтів або навчальних даних. Graphics card потрібна лише якщо ви вирішите запускати модель самостійно. Це окрема навичка, яку можна опанувати пізніше за інструкцією з розгортання Ollama на VPS для self-hosting LLM.
Найчастіше недооцінюють частину, пов’язану з оболонкою. Агенти дають збій через права доступу, шляхи, змінні середовища та процеси, які непомітно завершуються. Якщо stack trace про PATH або режим файлу змушує вас закривати термінал, спочатку витратьте вихідні на основи Linux. Це заощадить вам місяць роботи згодом.
Етап 1: що таке агент і чим він не є
Почніть з одного API-виклику без циклу. Надішліть prompt і виведіть відповідь. Перегляньте кількість токенів у відповіді. Тепер ви розумієте одиницю вартості та одиницю затримки.
Потім опануйте використання інструментів. Це єдина справді нова ідея в цій галузі. Ви описуєте функцію для моделі як назву, опис і схему 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-hereimport 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 за допомогою 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: пам’ять, яка здебільшого є просто файлами
На цьому етапі початківці часто обирають векторну базу даних. Не робіть цього — принаймні поки що.
Між викликами агент не має пам’яті. Щоразу ви повторно надсилаєте весь діалог, тому довга сесія коштує дорожче за кожен хід, ніж коротка. Отже, пам’ять розпадається на дві проблеми. Перша — це те, що зараз поміщається у вікні контексту. Цим керують за допомогою підсумовування, видалення старого виводу інструментів і кешування стабільного префікса prompt, щоб платити за нього лише частину вартості. Друга — це те, що зберігається після перезапуску. Це сховище.
Для другої проблеми звичайний markdown-файл, який агент може читати й записувати, майже для кожного першого проєкту кращий за векторну базу даних. Дайте агенту один файл, опишіть його формат, попросіть читати цей файл перед початком роботи й оновлювати його, коли він дізнається щось нове. Ви отримаєте більшість переваг і зможете відкрити файл та побачити, що саме вважає відомим ваш агент. Переходьте до embeddings і retrieval, коли нотатки перестануть поміщатися у вікні контексту, але не раніше.
Етап 5: цикл є продуктом
На цьому етапі ви вже можете створити агента, який працює під вашим наглядом. Етап 5 полягає в тому, щоб агент працював без нагляду.
Безпечність агента, залишеного без нагляду, визначають чотири запитання. Що його запускає, щоб він не працював без причини. У яких межах він працює, щоб наслідки помилки залишалися обмеженими. Як перевіряється результат, адже агент, який сам оцінює власну роботу, завжди поставить собі позитивну оцінку. Який бюджет його зупиняє — за кількістю токенів або за wall-clock time. Уміння свідомо проєктувати ці чотири складові — це дисципліна, описана в проєктуванні циклів і змісті цього визначення.
Вправа: візьміть агента з етапу 2, поставте йому завдання, для виконання якого потрібно чотири або п’ять кроків, і додайте жорстке обмеження кількості ітерацій. Потім приберіть це обмеження та подивіться, як необмежений цикл збільшує витрати на токени. Виконайте це один раз із невеликим бюджетом, щоб ніколи випадково не зробити те саме з великим бюджетом.
Етап 6: безпека, секрети та витрати
Цей етап не є необов’язковим. Він стоїть останнім лише тому, що ви не відчуєте ризиків, доки не створите щось працездатне.
Запускайте агента від окремого непривілейованого користувача, ніколи не використовуйте root або власний обліковий запис. Тоді наслідки компрометації обмежуються каталогом, а не всією машиною. Не надавайте моделі доступу до облікових даних, оскільки будь-які дані в контекстному вікні можна процитувати у відповіді через виклик інструмента. Рішенням є короткоживучі токени з обмеженою областю дії, які передаються через helper, як описано в як не надавати секрети доступу вашим AI-агентам. Встановіть жорстке обмеження витрат, оскільки цикл без нагляду оплачує кожну ітерацію. Обмеження та пакетна обробка, які допомагають контролювати витрати, описані в контроль витрат AI-агента на постійно увімкненому VPS.
Витрати варто проілюструвати конкретним числом. Станом на July 2026, Claude Opus 5 коштує $5 за мільйон вхідних токенів і $25 за мільйон вихідних токенів. Агент, який часто надсилає запити та щоразу передає збільшуваний контекст розмови, може пропустити через одне завдання кілька сотень тисяч токенів. Кешування промптів і використання меншої моделі для типових кроків змінюють цю арифметику значно сильніше, ніж будь-яке коригування промпту.
Ін’єкція промпту також належить до цієї теми. Якщо ваш агент читає вебсторінку, issue tracker або вхідні повідомлення, автор цього тексту одночасно формує інструкції для агента. Вебпошук зазвичай є першим інструментом, який відкриває цей шлях. У матеріалі як спрямувати агента до власного екземпляра SearXNG показано його налаштування та поверхню для ін’єкцій. Захист полягає не в складнішому системному промпті. Захист забезпечує межа доступу, оскільки агента, який не може видалити репозиторій, неможливо вмовити його видалити.
Якої дорожньої карти слід дотримуватися?
Оберіть одну навчальну програму та пройдіть її повністю, замість того щоб поверхово переглядати шість різних. Репозиторій Microsoft ai-agents-for-beginners — це найповніший безкоштовний варіант: курс із eighteen уроків, який станом на 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 моделі. Це інша робота з іншими вимогами.
Чи варто починати з framework, наприклад LangChain або CrewAI?
Спочатку напишіть один цикл без framework, а потім використовуйте framework. Framework замінює тридцять рядків на етапі 2 об’єктом конфігурації. Це зручно, коли ви розумієте, що саме він замінив, але до цього може ускладнити розуміння. Коли агент працює неправильно, потрібно безпосередньо аналізувати список повідомлень і результати роботи інструментів. Це значно складніше, якщо ви ніколи їх не бачили. Після власноруч написаного циклу framework заощаджує час, а не приховує механізм роботи.
Скільки коштує навчання роботі з AI-агентами?
Менше, ніж очікує більшість людей, якщо встановити обмеження. Для всіх цих шести етапів достатньо API key хостингу та невеликого VPS. Реальний ризик полягає не в погодинній вартості, а в необмеженому циклі, який оплачує кожну ітерацію, поки ви спите. У перший день встановіть жорсткий ліміт витрат для свого API account, додайте обмеження кількості ітерацій до кожного написаного циклу та використовуйте дешевшу модель для типових кроків. Локальний запуск моделі усуває витрати на токени, але потребує відповідного обладнання.
У чому різниця між AI-агентом і chatbot?
Chatbot відповідає один раз. Агент повторює цикл: модель запитує інструмент, ваш код запускає його, результат повертається моделі, а модель визначає наступну дію. Саме це повторення дає агенту змогу виконувати завдання з кількох кроків. Через це агентам також потрібні обмеження, які chatbot не потребує. Неправильна відповідь chatbot — це невдалий абзац. Неправильна відповідь агента — це невдалий абзац і все, що агент після цього виконав.