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

Поясненне агентскага харнеса: компоненты, якія ператвараюць LLM у агента.

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

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

Крыніцы: Agent Harness — A complete guide

У 2023 годзе працаванне з мовным модэлем было лёгкае для апісання. Вы пісалі запіт, напрыклад "напісаць функцыю на Python, якая сортуе масэвую ціфр", і адпаведна адказа прыходзіла практычна мгновэнна. Модэль не пераходзіла у жадны відчутны рэжым разважанняў. Цэ быў просты LLM без дадатковых элементаў, якія ёсць частынай сучасных агентных сістэм: інструментаў, памяці, навыкаў і іншага. Саме этыя дадатковыя элементы ператвараюць просты LLM у AI-агента.

Як змянілася гонка

У 2023 і 2024 гадах канкурэнція была спрывачоўана модэлямі. У OpenAI быў лідарскі універсальны модэль, у Anthropic — лідарскі модэль для програмавання, і всі пераганялі адна другую на такіх тэстах, як MMLU і SWE-bench. У канцы канцоў гонка пачала стаць менш інтэнсіўной, а праблемы разважанняў і працы з дзялёным кантэкстам сталі важлівейшымі. У інтэрфейсах чату пачалі з’являцца індыкаторы "разважання...", і людзі цікавіліся, што ж вадзіцца за ўсім гэтым.

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

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

Да 2026 году той самы ўжоць можа напісаць: «Вылечыце баг, які з’яўіўся ў пытанні №122 на GitHub». У гэтым адносным рэчэнні скрытыя калькі крокаў. Мадэль 2023 года адпавязала б, што не можа дасягнуць вашага рэпазітарыю. Мадэль, якая апранутая ў хорашы «харнес», праграмавана на цікл размышлення: аналіз, планаванне, выбор засоба чы адпаведных дзеянняў, ўжыванне іх, аналіз рэзультатаў, пасля чаго можна абавязкова прабаваць знову чы завершыць.

Што такое харнес

Усі тыя дадатковы элементы, якія супакоўваюць LLM (кантэкст, засобы, памяць і т. д.), патрабуюць арганізаванага спосабу вяроўнага взаімадзеяння з модэлью. Гэтая дысцыпліна мае свое назва, а ўзвычайная яе вакліканне ёсць стасункава кораткая. Гэта — шар інфраструктуры, які апрануўвае AI-агента, адпавядае за яго апрануты, кераванне, тэставанне, назіранне за яго дзеяннямі і ацэнку рэзультатаў. Проста кажучы, гэта — аператывная сістэма, якая супакоўвае LLM.

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

Чаму гэта неабходна

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

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

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

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

Компаненты

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

  • Стан агента: дзе зараз ведаць працэ? Ён сочыць за тэкушчым заданнем, крокамі, спазырамі і рашэннямі. Калі план складаецца з чатырох крокаў, стан фіксуе, якія з іх выпаныя, які зараз адбываецца і якія ўсё не пачаліся. Без гэтага агент, які быў перарваны, не можа продаваць працу з таго месца, дзе ён зупініўся.
  • Інструменты: якія дзеянні ёсць доступнымі? Гэта самая відчутная частка. Тут знаходзіцца выкананне коду, прыгледач, API-і, базы дадзеных і шэл. Для агента, які займаецца програмаваннем, функцыя read_file ўсё час являе сабою адну з базовых.
  • Планаванне: што будзе далей? Ён вяршыць рашэнне, што будзе далей, і складае або перазрабатвае план. Для задання з програмаваннем гэта можа быць серыя з чатырох або пяці крокаў.
  • Памяць: што ужо вядома? Яна зберагае і выкарыстоўвае інфармацыю ў разныя этапы чыстаць або сесіі. Калі контэнт запрашваецца з базы дадзеных вектараў у кантэкст, яе паводлівыя падсумованні можа захаваць прастор, а гэта заведома на памяці.
  • Оркестрацыя: як выконваецца працэс? Яна кантролюе цыкл выканання, вызовы інструментаў, праказы, падагентаў, паралелізм і перадачу заданняў. У працэсе пакупкі падагент з оплатай можа працаваць, пакуль падагент з інвентаром паралельна апдэйтуе запасы, але можа і быць так, што падагенту з інвентаром будзе сказана чакаць, пакуль оплата не будзе завершаная.
  • Калітэкстнае адарожненне: што LLM павінна бачыць зараз? Яна выбірае, што будзе размешчана ў вікні кантэкста на кожны этап.
  • Безпека і каральна сістэма: што дазволена? Дазволы, сэндбоксы, процедуры затверджэння, правілы, ліміты і аўтэнтыфіка належаць да гэтага раздзела. Нават калі модэлю дазволена рэдагаваць файлы, розумна будзе забараніць ўсуненне іх.
  • Візуабільнасць і ацэнка: чы рэальна ўсё працавало? Гэты раздзел аналізуе тое, што адбылася, і вырахоўвае успех, неудачу чы наявнасць перакрыцэнняя правілаў. Калі для віканання задачы патрэбны тры з дзесяці доступных інструментоў, важна бачыць, як іх было выкарыстоўвана. Калі адны з інструментоў не працуе, прычыной можа быць тое, што модэль ніколі не мела такога інструмента, або ж даны, якія так і не прайшлі да ўсвядомлення модэлі. Следы ўсёга гэтага дапамагаюць розрозніць гэтыя прычыны.
  • Практыка праектавання, стварэння і адклэювання гэтых элементаў, каб агент выканаваў сваю працу на высокай якосці, называецца інжынерыям керування. Гэта новая галузь, і большасць командаў яшчэ выявляюць, дзе самэўказаныя абавязкі.

    Агент для програмавання ад з самага пачатку да канцо

    Взяце агента для програмавання з спецыяльным інструментам і дайце яму запіт «з’явіцься баг у праблеме #122 на GitHub». Цэў не запіт «пасвяціце мне гэта», а справжня задача, якой трэба планаванне, вікорыстоўванне інструментаў і запам’ятовуванне. Адны з логічных парадкав выглядае так:

    1. Даныя, якія даў корыстнік, прайшлі ў кантэкст. Мадэль аналізуе іх і стварае цэль, якая застаецца ў кантэксце пакуль не будзе адпраўнена.
    2. Мадэль плануе работу: аналізуе супаўзелічаныя багі, выправляе правы файл, компілюе, запускае тэсты і апдэйтуе кантэкст.
    3. Для першага крока інструментам запрашваецца інформацыя з базы дадзенаў вектароў, а самэй — дэталі пакульшых багоў, супаўзелічаных з гэтым. Інформацыя, асоўваная з автэнтыкацыяй, вяртаецца як найбліжэйшы адпаведнік і прайходзіць у кантэкст.
  • Існуючы ў такім кантэксце, мадэль прымае рашыненне ачыць auth.py і вылечыць баг з аўтэнтыфікацыяй. Для гэтага ёй патрабуюцца інструменты read_file і write_file, якія яна выкарыстоўвае для рэдагавання і зберэжэння файла.
  • Пасля чаго ёй тэстуецца змяна з тэрміналу, выкарыстоўваючы адпаведны інструмент з ёё наявных сэтак. Сістэма прызначаная для керавання пераканваецца, што ёй даўнасць правы рэвень доступу як да тэрміналу, так і да файлам.
  • Мадэль пераходзіць да наступнага крока плану і запускае тэстовыя кейсы, для чаго патрабуюцца дадатковыя інструменты. Кожны крок апдэйтуе кантэкст, так што мадэль ведае, дзе яна знаходзіцца і што засталося.
  • Усё гэта фіксуецца ў логах з метой стварэння можлівасці адзіроўкі: выкарыстоўваныя інструменты, паспеллі часу, спрацоўваная памяць, а таксама неудачы на шляху.
  • Ацэнка яшчо не выканана, і ёй патрабуецца самастоятны падход. Яна выходзіць за межы толькі точнасці і можа включаць калькуляцыю розных паказначыкаў, якія стосуюцца рэальнай працы агента.

    Куды працюе развітак

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

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