Усі уроки · 44
Що таке AI-агенти?
Модель у циклі з інструментами: думає, діє, спостерігає, повторює. Що таке агенти, чим вони відрізняються від чат-ботів і чому стали практичними лише нещодавно.
Від відповідей до дій
Чат-бот відповідає на запитання. Ви друкуєте, він відповідає, розмова закінчується. AI-агент робить щось інше: він працює заради мети й для цього може діяти у зовнішньому світі — шукати в інтернеті, читати файли, викликати API, запускати код. Які кроки зробити і в якому порядку, він вирішує сам.
Саме агенти відрізняють інструмент, який говорить про вашу роботу, від інструмента, який виконує її частину. Асистенти для коду, що лагодять тест, який падає, боти підтримки, які оформлюють повернення, дослідницькі завдання, що завершуються звітом із посиланнями на джерела, — усе це агенти. А ідея, на якій вони тримаються, достатньо проста, щоб вміститися в голові за дві хвилини.
Якщо потрібна одна картинка, ось вона: шеф-кухар із командою помічників. Шеф ніколи сам не ріже цибулю. Він дивиться на замовлення, вирішує, що потрібно далі, і командує: «Наріж дві цибулини кубиками». Помічник виконує й кладе результат на стіл, шеф дивиться на результат і називає наступний крок. Шеф тут — модель, помічники — інструменти, а стіл — контекст. Так повторюється, доки страва не піде в зал.
Суть вміщається в одну фразу: візьміть модель, дайте їй інструменти й поставте її в цикл — думати, діяти, спостерігати, повторювати. Решта уроку розповідає про цей єдиний цикл трьома різними способами, доки все не стане очевидним.
Нічого не «запущено»: кожен крок — це один виклик
Тут новачки губляться найчастіше, тому розберемо покроково.
Усередині моделі не працює жодного процесу. Там не виконується код, не цокають годинники, не заплановано жодних завдань і ніщо не чекає у фоні. Мовна модель — це скринька, яка приймає текст і видає текст. Один виклик — одна відповідь. Це весь інтерфейс; другого немає.
Робота агента тримається на тому, що ваш код викликає цю скриньку знову і знову:
- Ваш код збирає список повідомлень — мету, правила, меню інструментів — і викликає модель один раз. У відповідь приходить одне повідомлення.
- Якщо в цій відповіді сказано «запусти
searchз такими-то аргументами», то пошук запускає ваш код. Модель поки що лише написала запит, у світі нічого не змінилося. - Ваш код вставляє результат назад у список повідомлень як ще одне повідомлення й викликає модель знову — надсилаючи всю розмову, яка тепер на одне повідомлення довша.
- Повторюйте. На кожному кроці модель перечитує все з самого початку, бо між викликами вона нічого не пам’ятає. Розмова і є її пам’яттю.
А цикл закінчується тому, що так вирішує ваш код, — зазвичай тоді, коли у відповіді моделі немає запиту до інструмента, а є лише сама відповідь. Модель не зупиняється сама — вона просто перестає просити. Акуратний цикл зупиняється й за лімітом кроків чи бюджетом токенів, щоб заплутаний агент не міг безкінечно ходити по колу.
Одним реченням: модель пише, ваш код діє, модель читає, що повернулося, а ваш код вирішує, коли зупинитися.
Пройдіться по одному циклу від початку до кінця й подивіться, де ухвалюються рішення:
Користувач просить про те, чого самим текстом не зробити.
«Знайди три проєктори з найвищими оцінками дешевше 600 доларів і порівняй їх у таблиці.»
Зверніть увагу: саме крок після першого результату робить це агентом. Чат-бот відповів би вже після першого виклику. Цей же подивився на те, що повернулося, і змінив план.
Той самий цикл — так, як повідомлення виглядають насправді
Нижче — той самий цикл у вигляді списку повідомлень, який ваш код надсилає знову і знову. Пройдіться по ньому й стежте, як росте лічильник токенів у куті: модель перечитує все — щоразу.
Із цього можна зробити три висновки:
- Другий виклик надіслав усе заново. Модель отримала ту саму розмову, тільки довшу, і прочитала її з початку. Через це довге завдання стає дорогим, і через це важливий розмір контекстного вікна.
- Результати інструментів — це просто текст. JSON, число, повідомлення про помилку — для моделі все це ще один текст для читання, нічим не відмінний від вашого повідомлення.
- Одного числа бракувало, і цикл це помітив. Таке відновлення й становить усю цінність шаблону.
Ще дві речі, на яких люди спотикаються. По-перше, інструменти запускає ваш код, а модель лише просить про них. По-друге, фіксованого плану немає: кожен крок існує тому, що попередній повернув нову інформацію. Цикл реагує на те, що модель щойно побачила, і готового сценарію в нього немає.
Агент і чат-бот
Модель в обох випадках може бути та сама. Різниця в тому, хто веде розмову:
- Чат-бот: один запит — одна відповідь. Кожен наступний крок вирішує людина. Підходить для пояснень, чернеток і мозкових штурмів.
- Агент: багато запитів, якими керує сама модель, доки мету не досягнуто. Підходить для завдань із кількох кроків, де важливий результат, а не процес.
Корисний тест: якщо завдання можна закінчити за одну відповідь, беріть чат-бота. Якщо потрібно «знайди це, а потім, виходячи з цього, зроби те» — і так кілька разів, — вам потрібен агент. Асистенти для коду на кшталт Claude Code чи Cursor в агентному режимі — саме це: модель, яка читає файли, редагує їх, запускає тести й продовжує, доки збірка не пройде.
Класичні сценарії
Одні й ті самі схеми трапляватимуться знову і знову:
- Агенти для коду — читають репозиторій, реалізують нову можливість, запускають тести, доопрацьовують після збоїв. Сьогодні це комерційно найуспішніший тип агентів.
- Дослідження й стислі огляди — шукають, читають десяток джерел і зводять їх у звіт із посиланнями.
- Підтримка клієнтів — знаходять замовлення в базі даних, перевіряють API доставки, оформлюють повернення через внутрішній інструмент — і все це в одній розмові.
- Робота з даними — беруть CSV, пишуть і запускають Python, щоб очистити його, будують графік результату й описують, що він показує.
- Експлуатація й автоматизація — стежать за панеллю моніторингу, розбирають сповіщення за важливістю, готують виправлення й відкривають pull request, щоб людина його затвердила.
Чому саме зараз?
Ідея агента стара: дослідники писали статті про цикли з інструментами за роки до того, як вони запрацювали добре. Змінилися три речі:
- Виклик інструментів став повноправною можливістю API. Раніше моделі вигадували текст у надії, що ваш парсер упорається; тепер їх навчають видавати структурований виклик інструмента (ім’я функції плюс аргументи в JSON). Це найважливіший із чинників, які зробили агентів можливими.
- Моделі стали достатньо надійними. Агент ухвалює багато дрібних рішень поспіль. Якщо кожен крок надійний на 90 відсотків, десятикрокове завдання вдається лише приблизно в третині випадків. Сучасні моделі підвищують надійність одного кроку настільки, що багатокрокові завдання доходять до кінця.
- Інтелект подешевшав. Агент може зробити 20 чи 50 викликів моделі заради одного завдання, і кожен несе розмову, що росте. За вчорашніми цінами це було нерентабельно, за сьогоднішніми для більшості компаній це похибка округлення.
Ціна самостійності
Агенти міняють надійність на самостійність. Чат-бот нічого не може зламати, бо він лише створює текст. Агент викликає інструменти з реальними наслідками, тому можливі й реальні помилки: неправильний виклик API, видалений файл, невдала покупка. Саме тому в серйозних агентних системах є дозволи та білі списки, а все руйнівне схвалює людина — модель пропонує, код вирішує.
Хто запускає інструменти в циклі агента?
Чим агент відрізняється від чат-бота?
Завдання з десяти кроків, кожен крок надійний на 90 відсотків. Як часто приблизно вдається все завдання?
Хто вирішує, що цикл завершено?
Що отримує модель під час другого виклику циклу?
Підсумок
Тепер ви знаєте, що таке агент: це модель, яку викликають знову і знову, щоразу з розмовою, що росте, і результатами інструментів, а діє й вирішує, коли зупинитися, ваш код.
Поглиблену версію цього циклу — рефлексію, пам’ять і перелік випадків, коли агент зайвий, — читайте в уроці AI-агенти 101, докладно. Далі на цьому шляху ще три зупинки. SDK для агентів обгортають цей цикл повторними спробами, трасуванням і реєстром інструментів. Мультиагентні системи — те, що виходить, коли одного циклу не вистачає. А MCP — відкритий стандарт підключення інструментів до моделей.