Галоўная / Артыкулы

Тэставанне АІ-агентаў па рынку: перакананне ў стане заместо даверы да адказаў

Навучыцеся ацэніць АІ-агентаў, якія выкарыстоўваюць інструменты, па пераканальнай станові, следах дзеянняў і правдазнасці, уключаючы часавыя ліміты, ситуацыі без дзеянняў і надзею на надзейнасць пасля паўтарных спроб.

Выдавец: REACTAPP.TOP9 хв чытання2131 слоў

Крыніцы: Your AI Agent Says “Done.” Did Anything Actually Happen?

Калі агент AI адпавядае словамі «Заканчэўна», гэтыя словы ёсць тверджэнням, а не паказаннем пра выпаленне задачы. Ацэнка, якая берае ў вялікай меры пад заўважэнне толькі фінальную прыемку, можа спачатку счылі такі «успех», створаны вымыслам, за паспэўнае завершэнне. У гэтым кяліквідзе показана, як тэставаць агенты, якія викорыстоўваюць інструменты, на адпаведнасць таму, што на самай працоўнай сфере фактычна змянілася: як визначаць завершэнне задачы, якія доказы трэба пераглядаць, як карацца з працэйскімі тайма-аутамі і ситуацыямі, калі агент не павінен нічога рабіць, а таксама як мераваць надзеямасць, а не толькі удачны прыклад.

Упэўнены адпаведзень не ёсць доказам

Возьмім просты запит да асистента з планавання: перасунуць заўстрэч на четвер па апоўнаку. Асистент вежліва і без ваганоў адпавядае, што заўстрэч вядзецца ўжо о 15:00. Аднак калі вы ачыняеце календар, заўстрэч застаецца там, дзе і была.

Можна таксама выдумаць іншыя варіанты: заход перасунуўся на 15:00 у іншай часовой зоне, або з’явіўся абсалютна новы заход, тады як первісны застаўся на месцы, і ў корыстніка застаецца два варыянты. Прыклад выдуманы, але проблема тэставання ўсё ж рэальная: якщо оцінюваць толькі текст, які створыў агент, усе тры невдачы выглядзяць будуць так сама, як і успех.

Корыстны падход да розумення ў тым, што для агента адпаведзь — цэлае звястка пра выкананую роботу, а звястка можа быць некоректной. Сістэма, якая отачвае модель, тыя інструменты, якія ёй даюць можлівасці, вярнююць, чы модель можа надзеявана дзейваць (гэты аспект мы розглядаем у статыі пра тое, звядзе насправды выходзіць надзеяваная дзейнасць агента). Оцэнка — гэта етап, які паўтарыць, чы тая сістэма даслужыла ўсё-такі позытывны рэзультат.

Спачатку напісці контракт на прийманне

„Перасунуць маюя зустрэч“ здаецца простым, пакуль вы не спробавайце запісаць критэрыя прынятнага рашэння для гэтаго.

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

Этыя правілы належаць да гэтага гіпотэтычнага продукту. Іншы продукт можа надсілать паведамлення, выказваць патрэбу ў явнай згодзе або ставіцца да учаснікаў інача. Галоўнае — кантракт пісаны. Без яго адні эксперты хваляць асистента за ініцыятыву, а іншыя зазначаюць той жа запуск як неавтарызаваную змяну, і вашы балы стаюць некориснымі.

Таму кожны прыклад ацэнкі павінен чытальна назначаць:

  • пачатковы стан средовышча;
  • запит корыстніка;
  • дзеянні, якія агент можа выконваць;
  • условія, якія павінны быць выпалены пасля таго; і
  • тое, што павінна застацца незменным.

Гэты пасляпяршні пункт лёгка забыць. Хорашы тэст визначае як цель, так і межы ўсероўні.

Тры падходы да адного запуску

Кожны рэжым работы агента можна аналізаваць з трохоў кантактаў, і кожны з яных выявляе разныя неудачы.

  • Рэзультат: паведамленне, якое бачыў корыстнік. Чы ён точны і карысны, і чы ён адзначае незаканчаную работу замест таго, каб яе падсвятліць?
  • Траекторыя: спостарэжуемая серыя вызоў інструментаў, рэзультатаў іх работы, затверджэнняў, праказаў і пераканранняў. Чы выбраў агент праверны ўзлёт, застаўся у межах своіх прав і рэагаваў разумна, калі інструмент не запрацаваў?
  • Вынік: фактычны стан календара пасля завершэння спробы.

Адаптаваныя Anthropic для ацэнкі агентаў таксама робяць разліку межы транскрыптам і заканчоўным станом сяродавішча, і ў ягох паведамляецца пра небяспеку ацэнкі кожнага правільнага рашэння на адной і той жа фіксаванай последовасці крокаў. Такой баланс варыта прыйняць. Паглядзіце, як паводзіўся агент, але не настаіць на вашым прагаданым шляху, як толькі порядак дзеянняў справды не ёсць часткай угоды.

Конкрэтна, два агенты могу чытаць календар за дапамою разных дзеянняў і пры тым доходзіць да таго ж правільнага рэзултата; оба яны должны прыняць тэст. З іншай боку, праігнораванне обав’язковага затверджэння ёсць невыпаннем задачы, нават якщо календар у падсумку выглядае правільна. Рэзултат вяршыць, чы задача была выпаная, правілы — чы гэта было дазволена, а ход дзеянняў — чаму існуе розніца межы гэтымі двума.

Пераканайцеся ў стане сяродавішча чераз незалежны канал

Ёнколі трэба пераканацца ў правільнасці тэсту календара, неабходна прачытаць зберажаны заўданне через автарызаваны інтерфейс, які не мае нічога спакульнага з сабестой адпаведнага агента. Агенту не разрашаецца оцэніваць сябе самога.

Порашчыце поля, якія фактычна визначаюць правільнасць, з апэктываўаным станам:

  • стабільны ідэнтыфікатор заўдання;
  • час пачатку і заканчэння, а таксама часовая зона;
  • спіс учаснікаў;
  • суседзяючы заўданні, якія должны застацца незменнымі.

Хаця бы не спылучаць правільнасць на назве заўдання. Два зборы могу маты аднаковую назву, і падабеннае паспаўненне назвы можа правільна падтвердзіць не тое заўданне.

Гэта ідея існавала ўчора, яшчэ до сучасных фреймворкаў агентаў. Инструмент τ-bench оцінюе кантакты з викорыстанням інструментаў, параваняючы канечны стан базы дадзенаў з анотаваным цільным станам, а WebArena выявляе, чыі задачы функцыйна завершаны ў рэалістычных веб-сераўедовашчых супакоўках. Оба ёсць прыкладамі даследжэнняў, якія оцінююць тое, што адбылася, а не тое, што было сказана.

З’ясавайце, што насправді обяцвае сигнал успеху

Успешны адпаведзень API ёсць корыстным доказам, але толькі калі вы ведаеце, што ён гарантуе. Статус „Прыйнята“ можа означаць, што запит быў паданы у чергу, а не выконаны. Строка успеху ў браузеры можа з’явіцца раней, чым базовая інформацыя будзе збережана.

Для асінхронных систем заранее паказвайце, як даваць верыфікатору чакаць і який стан лячыцца завершаным. Якщо вы вовсе не можете спазіраваць стан, заносіце рэзультат як неверыфікованы. Не считайце яго таямніча прынятым, але і не прыпускайце працоўнае. Гэтая трэцяя катагорыя становіцца неабходной як толькі запиты пачынаюць таймаутаваць.

Найважэлівейшы момент: адразу пасля таймаута

Таймаут нічога не паказвае пра тое, чыяж апдэйт быў застосаваны. Запит могаў згінуць пры пераводзе на службу календаря, а можа быў успешны, але толькі адпаведзь згубіўся па дарозе назад.

Агент, які рэагуе ствароўчы новую заменную зустрэч, можа заставіць корыстніка з двумя запісамі. Чырвоныя рэакцыі на гэта станавяцца прыоритетным тэстам. Правільная последовасць вяснавання выглядае так:

  1. Зноў прачытайце цэльвы запіс.
  • Пераканаўцеся, чы рошучыя змены вже застосаваны.
  • Праказваце спробу зноў толькі тады, калі наявныя доказы і правілы аптэкары забезпечваюць безбеднасць такой спробы.
  • Якщо сервіс гэта падтрымляе, выкарыстоўваце механізм ідэмпотентнасці, каб паўтарная запытка была распазнаная як та ж самая операцыя, а не як новая.
  • Якщо пасля гэтага рэзультат заўсёды застаецца невядомым, можа быць правільным зупініцца і поясніць корыстніку прычыны неяснасці. Чыстая інформацыя пра стан справ краща, чым вымушаны успех. Той жа принцып практыкуецца і ў звычнай разработцы бэкенду; дакладнейша інфармацыя пра ключы ідэмпотентнасці для POST-канцаўак у Node.js аднаходзіцца тут: idempotency keys for Node.js POST endpoints.

    Неабяжна оцэнка як самага стану, так і формулювання. Фраза «Я не мог упэўніцца ў апдэйты» є правдзівай, нават якщо служба застосуе змяну чырвоны момант пазней. Фраза «Нічога не было зменяна» ў абодвух выпадках яўляецца непадтрыманай твэрдзеннем. Неабяжнасць — гэта легітымны рэзультат, з якім агент должен справіцца, а не праслойка, якую ён павінен запэўніць доверам.

    Спарабатайце адпаведнае оцэнюванне да пытання

    Разныя пытанні заслуговуюць на разных суддзяў.

    • Дэтэрміністычны код для точных фактов: ідэнтыфікаторы, часавыя меткі, набор дазволеных змян, колькасць дуплікатных запісаў.
    • Оцэнювальны прыстрой на адной з модэляў з чысткім критэрыям для калітэты комунікацыі: чы супавягчык розлічыў завершаную работу ад працы, якая толькі прабавалася, і чы ён описаў наступныя крокі без выдумкі деталей?
  • Людская пераглядка для неодназначных случаў, а таксама для періядычнай пераконтроўкі, чы рэзультаты, атрыманыя за дапамогай автаматаў, яшчэ падтрымліваюць тое, чаго спакульвалая команда чакае.
  • У дасведчэннях па ацэнкі LangSmith правілы коду, людская пераглядка і ацэнкі на аднойчыне з моделямі расследжваюцца як аднаэтажныя варыянты. Чыба не трэбаецца гэтай платформы, каб скорастаць ад выкарыстоўвання ўсіх іх окрема.

    Адзін анті-патэрн заслуговае на спецыяльную увагу: перадача другай модэлі адпаведнай, на вашу думку, адказу агента і запытанне, чы задача выконана успешна. Суддзя будзе перакананы той жа самай абэрнуццю, якая падвела вас. У замен неабходна даць суддзе доказы, якія на самай працоўцы трэбуюцься, і дазволіць яму адпавесць «недастатковыя доказы».

    Неякісныя працэздаты трэба аддзеляць ад рэйтингу якосці. Неавтарызаваныя змены календара не павінны быць скасываны за дапамою прыемнага тону чы рэзкай формуліраціі. Корыстны ўжотканы карточкі з рэйтингамі: правильны результат, сачыванне меж, адказчыцкія данні — правдывыя, а дзеяння па восстановлении — адпаведныя. Указваюце затрымку і вартасць побачныя ля гэтага, а не сплетаюце все ў адзін незрозумелы цифры.

    Уключыце прыклады, калі правам адказам ёсць нічога не робіць

    Разумны набор пачатковых сцэнарыёў для асистента календара включае:

    • нормальную перэзначку часу;
    • два заходы з аднаковым назвам;
    • запрос без пазначэння часовага пояса;
    • відмову ў правах;
    • таймаут ад службы календара;
    • апдэйт, які вже быў застосаваны ранейш, чым запрацаваў агент;
    • запрос пра падготовку прыказу пра змяну без яе рэальнага застосавання.

    Гэты пасляпэўны прыклад заходзіць вас ад тонкага паклёнства. Якщо кожны тэст адзначае плюсамі змены, якія выкалікаюцца ззаўні, вы ў канечнасці выберазееце агента, які дзейнае занадта ажырана.

    Адрабатывайце тэсты, якія зменяюць стан у ізольаваных тэстовых акаунтах чы рэгулюемых средах, і перазначайце настройкі между незалежнымі спробамі. Рэзультаты тэста, заставленыя праз предыдущую спробу, ніколі не должны выглядаць як успех у наступной спробе.

    Гэты список ўжо ёсць пачатковай точкай, а не статыстычна достатнім праекамплем. Расшироўваеце яго на аднойчынку таго, чаго насправды прасяць вашы корыстувальнікі, дзе располагаюць рэальныя рызыкі і якія неудачы з’яўляюцца на практыцы. Адзьмяйце персональныя даны з налашчэнняў, якія вы намераваеце перызнаць, і обмежыце права на чытанне следоў, якія маюць прыватныя даны.

    Меравайце адпаведнасць, а не найлепшую дэманстрацыю

    Адрабатывайце кожны прыклад больш чым аднаразова і фіксуйце кожную спробу, уключаючы праханні часу та спробы, у якіх верыфікацыя не выйшла.

    τ-bench адаптава метрыку падзейнаў з паўтарэнням, pass^k, якая выявляе, чы робот успевае ў всіх k спробах, а не прынеймна ў адной. Публікуемыя яго рэйтынгі ўсё ж історычныя і не павінны спрыйматься як класыфікацыя сучасных роботаў, але урок застаецца: «можа успэсці» і «успэшна дзеяе» — гэта разныя характарыстыкі, і адна успешная спроба паведамляе толькі пра першую з іх.

    Падсказкі да першага продуктавога панелі могу включаць:

    • штоўк правільных завершэнняў;
    • колькасць неавтарызаваных дзеянняў;
    • заявы пра успех, якія не падтрымваюцца;
    • належныя пераводы справы вышэй;
    • затрымкі;
    • вытраты на кожна правільная завершэння.

    Неабходна чыткая адмова ў дэнумератары. Чы вы лічыце запиты корыстнікаў, незалежныя спробы чы адзінаковыя паўтарэння? Тыя ж самыя даны можу даць вельмі разныя показнікі залежна ад выбору.

    Чытайце ці сумы разам. Зменшэнне колькасці незавершаных задач, якое адночасна прызводзіць да збільшэння колькасці неавтарызаваных дзеянняў, не ёсць справжнім успехам. Таксама не ёсць успехам агент, які ухілваецца ад усіх рызыкаў, адмовляючыся ад кожнага корыстнага задання. Поручайце версіі для адных і тых жа задач з аднаковымі бюджетамі і паведамляйце, сколькі задач вы адрабаталі і наскількі разлічыліся рэзультаты праз разныя адработкі. Колькасць прыбліжных тэстаў занадта мала, каб можна было атрымаць точны показатэль надзеямоўнасці працы системы.

    Ператворайце кожную неудачу на тэст регрэсіі

    Калі задача не выйшла, спачатку з’ясавайце, што на самай працэ выйшла не так: чы то агент, чы інструмент, чы сяродавішча або прыстрой для оцэнкі. Неўдалы тэст не є доказам неўдалага моделі.

    Потым неабяжна зафіксаваць мінімальны прыклад, які можна перадаць і відтворыць, а таксама зафіксаваць усе, што можа на яго вплываць: задачу, адакованы стан, прыстрой для оцэнкі, настройкі моделі, інструкцыі та умовы викорыстоўвання інструментаў. Калі ў чым-небудзь з гэтага выйдзе змяна, павторна запрацаваць тыя прыклады, якія паддаліся вплыву. Зафіксаванне адакованага стану мае такое ж значэнне, як і зафіксаванне моделі; наша стаття пад назвай зафіксаванне версій у комплектах для ацэнкі LLM детальна розглядае гэты аспект.

    Тесты паўнастаі і жывая стежэнне адпаведзяюць на разныя запытанні. Ретельна падготавленая ацэнка прыяўленняя версіі паведамляе, чы рэшты змян безбедныя; ацэнка рэальных взаімадзеянаў паведамляе, што йдзе не так у рэальных умовах. Дакументацыя LangSmith описвае аба падходы і рэкамендуе включаць проблемы, якія выйшлі пад час рэальнай роботы, у набор тестаў.

    Для дапаможніка з календарем такой цыкл можа пачынацца з абявленняў корыстніка пра дублікаты запісаў, дагадваючы да адносу да справы з загубленай адпаведзю, і паўтарная перакананасць у тым, што спосаб выкарыстоўвання працюе правільна, перш чым яго запускнуць у шырокіх масштабах.

    Ключовыя выводы

    • Спрытываць „Завершана“ як тэзу, якая трэба падтвердзіць, а не як доказ.
    • Складаць контракт па кожнай справе: початковы стан, запит, дазволеныя дзеяння, неабходны канечны стан і тое, што не павінна змяніцца.
    • Оцэнюваць рызыкты, санкціонаваць межы і выкарыстоўваць трэйс, каб паясніць разлік.
    • Падтверджваць через незалежны, автарызаваны спосаб чытання і залічваць статус „непадтверджана“ як чысты рэзультат.
    • Явна теставаць часы выканання, дублікаты і справы без дзеяння; самэль тут паспехаваюць агенты з недастаткам доверы.
    • Не включаць критычныя бракі ў сярэжнія балы якосці і мераваць надзею на павтарны тэст.
  • Перш чым верыць якой-небудзь паведамленню пра успех, запытайцеся, што змянілася, якія обмежэнні застаўся і якія доказы падтрымліваюць гэты апаведамлення.