Контролювати ШІ-агента на довгій задачі треба через упряж, яку ви надягаєте на нього до запуску, а сила моделі тут вирішує значно менше, ніж здається. Англійською цю конструкцію називають harness, і найближчий побутовий образ - страхувальна система верхолаза: шлейки, карабін, трос до опори. Вона дає людині вільно працювати на висоті і водночас тримає її, коли нога зісковзує. Для агента упряж складається з пʼяти частин: права агента списком дієслів, пісочниця і слід дій, журнал кроків, стоп-лінія і повернення людини в заздалегідь визначених точках. Зайве агент робить там, де цих частин бракує, і жодне оновлення моделі цю прогалину за вас не закриє.
Власник інтернет-магазину побутової техніки попросив мене зібрати йому цифрового менеджера, якому можна довірити чат і замовлення і ТТН. На демо все йшло гладко: клієнт пише в месенджер, агент уточнює модель пилососа й адресу, створює картку в CRM, і за три кроки замовлення готове до відправки. Власник уже рахував, скільки годин звільнить у своєї єдиної менеджерки. Потім ми прогнали той самий сценарій на реальних заявках за минулий тиждень, і на одинадцятому кроці однієї з них побачили те, чого демо не показує. Агент пішов з CRM у складську таблицю перевірити залишок, повернувся в CRM оновити статус, відкрив чернетку ТТН, а звідти перейшов у сервіс перевізника, бо адреса не збіглася з довідником відділень. Там він вирішив, що помилився клієнт, повернувся в CRM і переписав адресу в картці. Клієнт нічого не міняв, він лише написав вулицю її старою назвою. Агент діяв з найкращих намірів, і посилка поїхала б в інше місто.
Коротко
- Довга задача відрізняється від демо кількістю переходів між системами, і помилки на ній накопичуються з кожним кроком.
- Керованість дає упряж harness для агента, а не розумніша модель: права, пісочниця, слід дій, стоп-лінія, повернення людини.
- Права агента записуються списком дієслів, які він може виконувати, а не переліком систем, до яких він має доступ.
- До першої бойової дії агент проходить пісочницю, де кожна дія лишається чернеткою, а кожен крок потрапляє в журнал.
- Стоп-лінія фіксує ситуації, в яких агент зупиняється сам і кличе людину ще до того, як станеться щось незворотне.
Демо на трьох кроках і цикл на двадцятому
Вісімнадцять років на фінансових ринках навчили мене поважати складні відсотки, і саме вони пояснюють, чому демо вводить в оману. Припустімо, агент ухвалює правильне рішення на кожному кроці в 95 випадках зі ста. На трьох кроках ймовірність, що весь ланцюжок пройде без помилки, становить приблизно 86 відсотків, і це виглядає як готовий продукт. На двадцяти кроках та сама точність дає близько 36 відсотків. Модель лишилася тією самою, ускладнилася лише дорога.
Друга причина - переходи між системами. Кожна CRM, таблиця чи сервіс доставки має свою логіку полів, свої назви статусів і свої дрібні винятки. Людина-менеджер тримає ці винятки в голові роками, агент отримує їх з опису задачі або не отримує взагалі. На третьому кроці він ще памʼятає, з чого почав. На двадцятому в його контексті вже лежать відповіді чотирьох систем, проміжні висновки і кілька власних здогадок, і саме тут зʼявляється зайве: дія, яку агент вважає логічним продовженням, а ви ніколи б не дозволили.
Третє: довга задача рідко йде по прямій. Клієнт дописує в чат посеред оформлення, залишок на складі змінюється, сервіс перевізника відповідає із затримкою. Агент мусить вирішувати, що робити з кожною новою обставиною, і кожне таке рішення стає ще однією точкою, де він може піти вбік.
Упряж harness для агента замість розумнішої моделі
Після сцени з адресою власник першим ділом спитав, чи не взяти потужнішу модель. Я чую це питання майже на кожному впровадженні і відповідаю однаково: розумніша модель помиляється рідше, а свої помилки пояснює переконливіше. Вона так само переписала б адресу, тільки з кращим обґрунтуванням, чому це було правильно.
На питання, як контролювати ШІ-агента на довгій задачі, я пропоную дивитися на нього як на нового працівника з дуже високою кваліфікацією і нульовим досвідом у конкретній компанії. Такому працівнику ви не даєте ключі від усього офісу першого дня. Ви визначаєте, що саме він робить, де вчиться, як звітує, коли зупиняється і кого кличе. Упряж робить те саме для агента, тільки записане це у вигляді налаштувань, які агент фізично не може обійти.
Між побажанням і упряжжю різниця така. Фраза в інструкції "не змінюй дані клієнта" залишається проханням, яке агент на двадцятому кроці може зважити проти інших міркувань і вирішити, що зараз саме той випадок. Відсутність у агента права змінювати поле адреси вже є упряжжю. Перше залежить від того, як модель зрозуміє ситуацію. Друге працює незалежно від її розуміння.
Права агента списком дієслів і вузький бейдж
Часто права агенту видають іменниками: доступ до CRM, доступ до таблиці, доступ до сервісу доставки. Це схоже на бейдж, який відчиняє всі двері на поверсі. Надійніше писати права агента списком дієслів, і тоді бейдж стає вузьким: він відчиняє лише ті двері, за якими лежить конкретна робота.
Для того магазину список вийшов на пів сторінки. Агент може читати картку клієнта, читати залишок у таблиці, створювати чернетку замовлення, створювати чернетку ТТН, писати клієнту в чат з погодженого набору відповідей, ставити статус "очікує перевірки". Агент не може змінювати адресу, телефон чи імʼя клієнта, скасовувати замовлення, змінювати ціну, підтверджувати ТТН до відправки, писати в таблицю залишків. Кожне дієслово з другої частини списку ми прибрали з налаштувань доступу, щоб у агента навіть технічно не було такої кнопки.
Тут корисна одна перевірка. Візьміть кожне дієслово зі списку і спитайте себе, що станеться, якщо агент виконає його не там і не тоді. Якщо відповідь звучить як "нічого страшного, виправимо за хвилину", дієслово лишається. Якщо у відповіді зʼявляються гроші, репутація або дані клієнта, це дієслово або прибирається, або стає місцем, де повертається людина.
Пісочниця і слід дій до першої бойової дії
Пісочниця - це копія вашого робочого середовища, де агент робить усе те саме, але нічого не відбувається насправді. Копія CRM з учорашніми даними, копія таблиці, тестовий режим сервісу доставки, в якому ТТН створюється і нікуди не їде. Саме в пісочниці ми знайшли історію з адресою, і там вона коштувала нам пʼять хвилин розбору, а не посилку в чужому місті.
Різниця між чернеткою і бойовою дією для мене центральна в усій конструкції. Чернетка - це дія, яку можна відкликати без наслідків: незбережене замовлення, неподана ТТН, повідомлення, яке ще не пішло клієнту. Бойова дія змінює щось у світі: гроші списано, посилку відправлено, дані клієнта перезаписано. На першому етапі агент працює виключно з чернетками, навіть коли вже підключений до бойових систем.
Слід дій становить другу половину пісочниці. Кожен крок агента лягає в журнал кроків: що він прочитав, яке рішення ухвалив, що змінив і чому. Журнал має бути зрозумілим людині, яка не пише код: власник відкриває його ввечері і бачить двадцять рядків звичайною мовою, від першого повідомлення клієнта до чернетки ТТН. Коли щось іде не так, журнал показує, на якому кроці агент звернув. У нашому випадку запис звучав так: "адреса не знайдена в довіднику, вважаю, що клієнт помилився, виправляю в картці". Одного рядка вистачило, щоб зрозуміти, яку стоп-лінію ми забули поставити.
Стоп-лінія і повернення людини
Стоп-лінія - це перелік ситуацій, у яких агент припиняє роботу над задачею і кличе людину, навіть якщо бачить, як продовжити. Для магазину ми записали такі: дані з двох систем розходяться; агент хоче змінити будь-яке поле, яке ввів клієнт; сума замовлення перевищує встановлену межу; агент зробив вісім кроків без руху до результату; наступна дія незворотна. Перетин будь-якої з цих ліній означає паузу, короткий опис ситуації і питання до менеджера.
Повернення людини - це заздалегідь визначені точки на маршруті, куди менеджер заходить незалежно від того, чи щось пішло не так. Тут легко сплутати цю ідею з approve кожної відповіді клієнту, і я свідомо розводжу ці речі. Approve одного повідомлення в чаті становить найменшу частину контролю, бо окреме повідомлення рідко коштує дорого. Дорогі моменти лежать на стиках між системами: перед підтвердженням ТТН, перед списанням оплати, перед зміною статусу, від якого залежить склад. Саме туди я ставлю людину, а решту кроків агент проходить сам, залишаючи слід.
Така конструкція зберігає швидкість. У тому магазині менеджерка тепер витрачає на замовлення близько хвилини: відкриває готову чернетку, дивиться на три рядки журналу, підтверджує ТТН. Раніше на те саме йшло десять хвилин ручної роботи в чотирьох вікнах. Автопілота, який увімкнули і забули, тут немає. Є агент, який бере на себе девʼяносто відсотків рутини, і людина, яка тримає в руках ті десять відсотків, де живуть гроші й довіра клієнтів.
Упряж з часом змінюється. Коли журнал за місяць показує, що на якомусь кроці агент жодного разу не помилився, я переводжу це дієслово з точки повернення в самостійну роботу. Права розширюються за даними журналу, а не за відчуттям, що агент уже все зрозумів.
Що робити далі
- Розпишіть одну довгу задачу агента крок за кроком, від першого повідомлення в чаті до відправленої ТТН, і позначте кожен перехід між системами.
- Складіть права агента списком дієслів, розділіть його на дозволені й заборонені, а заборонені приберіть з налаштувань доступу.
- Запустіть агента в пісочниці на реальних заявках за минулий тиждень і читайте журнал кроків щодня, поки сюрпризи в ньому не закінчаться.
- Запишіть стоп-лінію з пʼяти-шести ситуацій, у яких агент зупиняється сам, і перевірте її на випадках, знайдених у пісочниці.
- Визначте дві-три точки повернення людини на стиках, де рухаються гроші й товар, і раз на місяць переглядайте права за даними журналу.
Про цей матеріал
Цей текст має навчальний характер. Сцени й приклади в ньому ілюстративні, узагальнені з досвіду впроваджень і знеособлені. Вони не є індивідуальною порадою для вашого бізнесу: налаштування прав, пісочниці й стоп-ліній залежить від ваших систем, процесів і ціни помилки, тому кожне рішення варто перевіряти на власних даних.

