Потенціал AI-агента впирається не в силу моделі, а в Harness: механізм, який виконує дії, дивиться на результат і повторює спробу після помилки. Модель задає верхню межу можливостей. Доводить задачу до кінця саме цикл дій і перевірки. Тому агент на найсильнішій моделі зі слабким циклом віддає вам чернетку, яку доводиться доробляти руками.
Якщо ви вже пробували агентів і виходило по-різному, причина зазвичай не в силі моделі. Той самий інструмент добре пише текст і розсипається, коли треба щось зробити й перевірити зроблене. Нижче розберемо, з чого складається агент, як виглядає одне коло його роботи і що перевіряти на тестовій задачі, перш ніж пускати інструмент у робочий потік.
AI-агент складається з трьох частин: модель міркує, контекст показує їй потрібні дані, а Harness виконує дії, забирає результат, оцінює його й запускає нову спробу після помилки. Модель задає верхню межу можливостей, але без цього циклу агент не закриває жодної реальної задачі. Різниця видна на простому прикладі: один агент генерує код і зупиняється, другий запускає код, бачить помилку й сам її виправляє. Перед тим як брати інструмент у роботу, перевіряйте якість циклу на власній задачі, а не оцінки моделі в бенчмарках. Слабкий цикл обнуляє навіть потужну модель.
Короткий словник
- Harness — механізм навколо моделі, який перетворює її рішення на дії, забирає результат і керує повторними спробами.
- Контекст — дані, які агент показує моделі на поточному кроці: умови задачі, файли, помилка з минулої спроби.
- Агентне коло — повторюваний цикл «подумав, зробив, побачив результат, виправив», що триває до закриття задачі.
- Відкат — скасування невдалої зміни, щоб повернути робочий стан перед новою спробою.
Три частини AI-агента: модель, контекст і Harness
Зрілий агент описують через три частини. Модель міркує й ухвалює рішення. Контекст вирішує, що модель бачить на цьому кроці. Harness виконує дії й перевіряє результат.
Жодна з частин не замінює решту. Сильна модель зі сліпим контекстом старанно вирішує задачу, умов якої не бачить. Точний контекст без циклу перевірки дає гарний опис проблеми, що далі нікуди не рухається. Тому розчарування в агенті майже завжди розкладається по цих трьох адресах: не додумав, не побачив потрібного, не перевірив зробленого.
Модель — хто думає
Модель читає умови, розкладає задачу на кроки, вибирає інструмент і формулює наступну дію. Частина сильна: сучасні моделі добре справляються з аналізом і плануванням. На цьому її робота закінчується.
Контекст — що агент бачить на цьому кроці
Складна задача тягне за собою купу інформації: початкові умови, історія діалогу, файли проєкту, правила роботи, дані від інструментів, помилка з попередньої спроби. Усе це в модель не вміщується, та й не потрібно. Надлишок збиває рішення, брак потрібного веде до хибного кроку.
Тому система відбирає, стискає й переукладає дані перед кожним зверненням до моделі. Коли агент уперто робить не те, про що ви просили, винен часто саме відбір: модель не побачила умови, яку ви вважали очевидною.
Harness — хто діє й перевіряє результат
Harness часто плутають з обгорткою чи інтерфейсом. Насправді це робоча частина агента: вона вирішує, коли звернутися до моделі, збирає для неї дані, виконує дії, веде облік стану задачі, обробляє збої, повторює спроби, переплановує роботу, перевіряє результат і вирішує, коли зупинитися.
Сталого українського відповідника в терміна немає, тому в оглядах його лишають латиницею. Зустрінете «агентний каркас» чи «рантайм агента» — ідеться про те саме.
Модель думає, але сама нічого не робить
Мовна модель не звертається до бази даних, не змінює файли, не викликає сторонні сервіси й не відкриває браузер. Вона не перевіряє, чи вийшло те, що вона запропонувала. Усе, що вона видає, це рішення про наступний крок. Перетворює рішення на дію система навколо неї.
Чому сильний чат — це ще не агент
Чат працює лінійно: питання, відповідь, кінець. Ви отримуєте текст і далі застосовуєте його самі.
Агент працює по колу: отримує задачу, діє, дивиться на результат, виправляє себе й повторює, поки не закриє роботу. Саме це коло відділяє інструмент, який радить, від інструмента, який робить.
Harness простою мовою: подумав, зробив, побачив результат, виправив
Коло роботи агента легко прочитати по кроках.
Коло роботи агента: від задачі до результату
- Задача від людини
- Збір контексту
- Рішення моделі
- Виконання дії
- Результат і помилки
- Оцінка результату
- Задача закрита
- Оцінка результату
- знайдено помилкуВідкат і нова спроба
- Збір контексту
- Оцінка результату
- не виходить кілька разівПерепланування
- Рішення моделі
- Оцінка результату
- потрібне рішення людиниПауза й запит підтвердження
- Виконання дії
Що відбувається за одне коло
Агент отримує задачу. Harness збирає дані: умови, потрібні файли, результати попередніх кроків. Модель вирішує, що робити далі. Система виконує дію й забирає результат разом з усіма помилками. Далі оцінка: задача закрита чи ні.
Якщо ні, результат і текст помилки повертаються до даних наступного кроку, і коло починається знову. Модель на кожному витку бачить більше, ніж на попередньому, бо до умов додається досвід невдалої спроби. У цьому вся цінність: агент не мусить вгадати правильну відповідь з першого разу.
Ви просите агента привести сторінку до вигляду, зручного на телефоні, і прибрати помилки. Слабкий агент видає шматок коду й вважає роботу зробленою. Зрілий читає проєкт, вносить зміни, запускає сторінку, ловить помилку, шукає її причину й править код повторно, поки запуск не пройде чисто.
Умова зупинки: коли агент вважає задачу закритою
Коло мусить десь закінчуватися. Умову зупинки задає Harness: пройшла перевірка, закриті всі пункти задачі, вичерпано ліміт спроб. Агент без такої умови або віддає першу ж відповідь, або крутиться без кінця й витрачає ваш час.
Одна задача, два агенти: хто віддає результат, а хто перевіряє себе
Візьмемо ту саму задачу й подивимося на поведінку двох інструментів. Різниця майже ніколи не в якості першої відповіді: обидва згенерують щось розумне. Вона в тому, що відбувається після цієї відповіді.
| Крок роботи | Слабкий агент | Зрілий агент |
|---|---|---|
| Після генерації результату | віддає його вам і завершує роботу | переходить до перевірки зробленого |
| Перевірка | не запускає, вважає результат готовим | запускає сам і читає вивід |
| Власна помилка | помічає тільки після вашого зауваження | бачить у результаті перевірки без підказки |
| Після збою | повторює ту саму дію або зупиняється | відкочує невдалу зміну й пробує інакше |
| Зупинка | на першій відповіді | коли перевірка пройшла чисто |
Запит «перепиши скрипт вивантаження й виправ помилки» закривається одним шматком коду. Чи запускається той код, ви з'ясовуєте самі, і правити доводиться вручну.
Той самий запит. Агент змінює скрипт, запускає його, ловить помилку на читанні файлу, виправляє шлях і запускає ще раз, поки вивантаження не пройде.
Головна відмінність — поведінка після помилки
У демонстраціях агент завжди успішний: викликав інструмент, отримав результат, закрив задачу. У робочому потоці інакше. Сервіс не відповідає, файл відсутній, код падає, інструмент повертає сміття замість даних. На довшій роботі щось ламається майже завжди.
Повторна спроба, відкат і перепланування
Сама модель механізму відновлення не має. Що робити після збою, задає Harness, і варіантів тут небагато. Повторити спробу, якщо збій схожий на випадковий. Відкотити невдалу зміну, щоб повернути робочий стан. Перепланувати задачу, якщо кілька спроб підряд не дали результату.
Та сама модель, ті самі інструменти, та сама задача: з різними правилами відновлення ви отримуєте інструменти різної якості. Саме тут розходяться агенти, які в оглядах виглядають однаково.
Коли цикл мусить покликати людину
Частину рішень агент не повинен ухвалювати сам. Видалення даних, листи клієнтам, оплата, зміни, які важко відкотити: на таких кроках зрілий цикл ставить паузу й питає підтвердження. Інструмент, який робить їх без запиту, створює вам ризик, якого ви не бачите.
Поведінку на незворотних кроках перевіряйте до того, як дасте агенту доступ до робочих даних. Спершу копія або тестове середовище. Агент, який без запиту стер файл у піщаниці, зробить те саме з робочою базою.
Чому бенчмарки моделі не показують якість циклу
Бенчмарк міряє одну відповідь: модель отримує задачу, видає рішення, оцінка порівнює його з правильним. Це корисна інформація про межу можливостей. Про здатність довести багатокрокову роботу до результату вона не каже нічого.
Ефект ви бачили на практиці: інструмент чисто справляється з короткою задачею й розсипається на довгій. Чим більше кроків, тим більше шансів на збій, а без перевірки кожна помилка їде далі по колу й псує наступні кроки. Тому висока оцінка в тесті та стабільна робота на вашій задачі міряються різними способами.
Ту саму межу ми розбирали, коли говорили, чому дорога AI-модель не врятує бізнес-процес без рівнів контролю навколо неї.
Чек-лист: як перевірити Harness на власній тестовій задачі
Перевірка займає один вечір і економить тижні розчарування. Візьміть невелику задачу зі свого реального потоку, результат якої можна звірити об'єктивно, і проженіть її через кожен інструмент, який розглядаєте.
Виберіть задачу
- беріть реальну роботу з перевірюваним результатом
- уникайте задач, де «добре» вирішує смак
Дайте умови один раз
- опишіть задачу й не підказуйте по ходу
- усе, чого агент не спитав, він мусив знайти сам
Дивіться на кроки
- слідкуйте, чи називає агент свої дії
- звіряйте, чи збігається сказане з тим, що він зробив
Зламайте щось навмисно
- приберіть потрібний файл або дайте хибні дані
- подивіться, що агент зробить з помилкою
Порівняйте інструменти
- зводьте результати за однаковими ознаками
- не спирайтеся на враження від першої відповіді
Ознаки слабкого циклу, які видно одразу
Кілька речей впадають в око вже на першому прогоні.
| Що перевіряєте | Як це побачити на тесті | Що насторожує |
|---|---|---|
| Прозорість кроків | дивіться, чи називає агент дію перед виконанням | один фінальний результат без історії дій |
| Самоперевірка | дайте задачу, результат якої можна запустити чи звірити | агент віддає роботу без жодної перевірки |
| Реакція на збій | приберіть потрібний файл або дайте хибні дані | та сама дія повторюється без змін |
| Пам'ять про умови | згадайте в кінці діалогу пункт, названий на початку | пункт зник з результату |
| Межа самостійності | попросіть крок, який важко відкотити | агент виконує його без запиту підтвердження |
Де вибір вирішує модель, а де цикл
Не кожна задача вимагає циклу перевірки.
Що вирішує вибір інструменту під вашу задачу?
- Текст, ідеї чи переклад за один крокДивіться на модель: цикл дій тут майже не задіяний
- Дія з файлами, даними чи сервісамиРезультат можна перевірити автоматично?
- Таквирішує якість циклу — агент мусить сам побачити помилку
- Ніпотрібне підтвердження людини на кожному кроці
- Довга робота з багатьох кроківВирішує цикл: без перевірки помилки накопичуються до кінця
- Зміни, які важко відкотитиВирішує цикл плюс обов'язкова пауза на підтвердження людини
Для разової текстової роботи (написати лист, переказати документ, перекласти, зібрати ідеї) цикл майже не задіяний: ви дивитеся на результат самі й вирішуєте, чи годиться. Тут сила моделі справді вирішує більше.
Щойно в задачі з'являється дія з файлами, даними чи сервісами, вага зміщується на цикл. Такої роботи ми торкалися, коли розбирали, як AI-агент збирає групову подорож замість хаосу в чаті: результат там складається з багатьох кроків, і зламатися може кожен. Якщо ваша задача про цифри й таблиці, подивіться ще розбір, з чого починати аналіз даних в епоху AI.
Скільки контролю лишається за людиною
Зрілий цикл не означає, що про агента можна забути. Він знімає з вас дрібну перевірку: не треба дивитися кожен крок, бо свої помилки в межах задачі агент ловить сам. За людиною лишаються рішення на межі: що вважати готовим результатом, які дії дозволені без підтвердження, коли роботу пора зупинити.
Сила моделі показує, на що агент здатен у найкращому випадку. Цикл дій і перевірки показує, що ви отримаєте в середній вівторок, коли щось зламається. Один вечір тесту на вашій задачі скаже про це більше за будь-який огляд.