Інтерфейс чату чы роцэктыў агента? Как выбраць тое, што патрэбна вашай функцыі AI
Дазвольце дазнацца, як адзначыць чат-бота для размов з агентам, які выконваюць конкрэтныя задачы, што дадзеяўаць цикл агента і як выбраць тое, калі саме патрэбна вашай функцыі ШІ.
Крыніцы: Your AI Chatbot Can Talk — But Can It Actually Take Action?
Два продукты на базе ШІ можу выкарыстоўваць аднаковы поле для тэксту і аднаковае прывітанне, пры тым будучы створаныя на абсалютна разных архітектурах. Адны з іх ператварае вашае паведамленне на адпаведную адказ; іншы спрыяе вашаму паведамленню як меты, запускае інструменты, аналізуе рэзультаты ўсіх дзействаў і прымечае, што робіць далей. Якща вы праектуеце функцыю на базе ШІ, плутанне эўх двух падходаў можа прывести як да продукту з недастатнімі можлівасцямі, так і да дорогага та нестабільнага продукту. Шырокі практычны кярыер дапаможае вам разумець розніцу межы гэтымі падходамі, визначыць, дзе ў спектре знаходзіцца той чы іншы падход, а таксама дае пераконлівы список крэатываў для выбору таго падходу, які трэба застосавіць.
Мы вже розглядалі канцэптуальныя аспекты грані межу чатботамі та АІ-агентамі у стацыі, якая адзначае разлік межу чатботамі та АІ-агентамі за межамі LLM. Хутчэй увага здесь сконцентравана на рашынках дизайна: якія є витраты на функцыонаванне ціклу, калі вон стае корыстным, і як звычайны чатбот поступова перетвараецца на агента, практыкуючы кожную з можнасцей по чарзе.
Два системы за аднай полкой для тэксту
Разглянем ужоў, які запытаеся пра найлепшы ноутбук з тэхналогіямі машыннага навучання, які падходзіць за заданым бюджэтом. Асистент для дыялогу адпавядае спісам рэкамендацый, якія базуюцца на тым, што ведае модель. Гэта дзейсна корыстна, але спіс можа быць застарэлым, і пераканалка яго з вашымі абмежэннямі застаецца вашай задачай.
Другія система прыме тую ж самую фразу і рабіць ўсё іншае. Яна запытвае актуальныя даны пра продукты через падключаныя інструменты, поручае характэрыстыкі, тестуе кандыдатавакі на адпаведнасць вашым ваказанням, і калі першая партыя не падходзіць, яна перапісвае свой пошук і пробуе знова. Аператна вікно застаецца тым самым. Разліка ў тым, што работа выконваецца пасля таго, як вы нажмете Enter.
Гэтая ўсё тое, што являе сабою центральны вопыт гэтага кяліку: у які момент система, якая размовляе, становіцца системай, якая дзейнае?
Што праглядаеся стварыць чатботу
Чатбот — это програмнае забезпечэнне, чыя галоўная задача — размова. Адносінсы маюць простую структуру:
- пользователь адправляе паведамленне
- система яго обрабоцвае
- яна генеруе або запрашвае адпаведны ўтвар і вяртае керуванне пользователю
Запытайце яго паясніць, што такое кераваная навучэнне, і ён паясніць. Пасля запытайце прыклад, і ён знову адпавядае. Кожны крок — это запытка, за якой следуе адпаведзь, і сама розмова являецца рэзультатам.
Эты патерн паводлівае большай часткай рэальных сценарыў выкарыстоўвання: адпаведзь на запыткі, паясненне концэпцый, стварэнне та падсумавленне тексту, мозговы штурм, адказ на запыткі клёяўцоў і навчэнне.
Боты на адной правіле і чаты на базе LLM
Чатботы існавалі раней за большыя мовныя моделі. Ранэйшыя версіі былі пераважна запісаныя: прыветственны паведамленне спрычыняе стандартнае прыветственнае паведамленне, запытка аб стане замовлення спрычыняе запытку пра номер замовлення, а ўсё, што не падпадае під запланаваны ляміт, прыводзіць да стандартнага адпаведзя. Їх можна было прыгадаць, таму што кожны маршрут быў напісан вярхнім спосабам.
Чат-асистэнты, які работаюць на адпаратных моделях, пазбавілі ўсё гэта жорсткасць. Яны аналізуют тэкст у вольнай форме і моментальна ствараюць адпаведныя адказы, што робіць іх корыстнымі для напісання тэкстаў, дапамогі у програмаванні, даследжэнняў, навучання, логічных выводам, стварэння падсумакоў і перакладу. Протыма, варта падкрэсліць, што замена дрэва рашэнняў на моцную модель вялічы аб’ектнасць кантакту сістэмы. Аднак сама по сабе гэта не зменшвае таго, што сістэма можа робіць у рэальным свете. Болей моцная модель у рамках шэлі запыт-адказ застаецца чат-ботам.
Што робіць сістэму агентам
Агент ШІ — это сістэма, якая прагчыць мету, прымоўваючы рашэнні і выкананняя дзеянняў за дапамогою тых можлівасцей, якія ёй даўнаны, зазвычай інструментаў. Запит, які ёна постаўляе, стосуецца не толькі таго, які адказ стварыць, але і каго крока здзейсніць далей.
Спрасцаваны працэс роботы агента выглядае так:
- Прымкнуць мету.
Важлівая асоблівасць — крокі чатыры-восем разваротнае адбываюцца. Сістэма берае участь у багатакрокавым процесе, а не дае ўсёга одну адпаведзь і чакае.
Запрос на паўтарную поезію, які адмахваецца двума способамі
Якшы папросіце чат-бота дапамогчы спланаваць тры дні ў Дубайзе, ён, верагодна, створыць адлічны план: Бурдж-Халіфа і Dubai Mall — у першы дзень, Стары Дубай — у другі, Марина і сафарі па пяшчорыні — у трэці. Це корисна, але всё практычнае застаецца на вас: гателі, цены, наявнасць, рэйсы, часы роботы і заканчоўны графік.
Якщо дасць адпрацаванаму турагенту задачу знайсці практычных варыянтов для трывогодзевайной поездкі ў Дубай за фіксаваным бюджетам, рэзультат можа значна адрозніцца. Агент встановляе бюджет, шукае рэйсы, параболіцуе іх, шукае гатэлі, збірае інфармацыю пра часы роботы та іншыя актуальныя деталі, складае план паездкі, пераканальвае загальную суму з бюджетам, корэктуе план, калі ён перакроюе бюджет, і нарэшце прынесае тыя варыянты, якія застаюцца прыемнымі.
Короткая версія: чат-бот обгавароўвае задачу, а агент можа быць створаны для ўсунення яе.
Адпаведнасць на запит проты дзеяння
Якщо хочаце простую ментальную модель, выкарыстоўваюце гэтыя два форматы:
- чат-бот: паведамленне, потым адпаведнасць
- агент: задача, потым рашэнне, дзеяння, абсервацыя і наступнае дзеяння, паўтараецца да завершэння
Першы формат організаваны навакола кантакту; другі — навакола рэзультата.
Чаму інтэрфейс нічога не паведамляе
Агент таксама можа знаходзіцца за палаткой чата, і самэй гэта прычына, чаму візуальныя аспекты моўчкі вводзяць у глухае кало. Уявіце два дапыткі, якія адобразваюць тое ж прыятнае прывітанне і якія оба отрымаюць запит „знайсці недавнія нарады пра агентаў AI“.
Дапытак А перадае запит модэлю, які адпавядае на адной з дадзеных па трэніраванні. Дапытак Б выклікае інструмент пошуку, збірае нарады, чытае рэзультаты, ацэнюе ўсуненасць іх да запиту, якщо першы пошук быў неэфектывны, выконвае ўтрохтуюцы пошук і пасля чаго пішае статысцыю. На экране яны выглядаюць практычна ідэнтычна; але на самай справе ў аднам случае выкананы толькі адзін вызов модэлю, а ў другам — цэлы організаванный рабочы процес. Нельга класіфікаваць систему па ўсаблізе. Патрэбна аналіза рабочага прайму.
Хто керуе рабочым процесам
У звычайнай сесіі чат-бота людзь выступае як керавальнік. Вы прасіце про статті па тэме машыннага навчання і атрымліваете прыказы. Вы прасіце про парадакс і атрымліваете його. Вы прасіце про обмежэння і атрымліваете іх. Кожны пераход з однаго этапу на другі — это ваша рашынка, яку вы задалі.
Агентны система можа адразу прыняць весь заведам: «Знайсці пяць актуальных статэй па тэме машыннага навчання, парадаксаваць іх методы, выявіць ўсе обмежэння і падготавіць атлас». Потым яна сама выстраоўвае парадокс этапаў: пошук, фільтрацыя, чытанне, выкарыстоўванне інфармацыі, парадаксаванне, ацэнка і напісанне. Вам больш не трэба запрашваць кожны шаг, і гэта ёсць справжнія змяна. Контроль над парадоксам пераходзіць ад пользователя да самай системы.
Элементы, якія ператвараюць модель у агента
Інструменты
Вжыванне інструментаў — гэта спакой, які найбольш асоцыюецца з агентамі. Адны агент можа быць прыўязаны да:
- Адзінак для пошуку актуальной інфармацыі
- Адзінак для базы дадаў пра зберагліяныя записы
- Адзінак для выканання коду, напрыклад Python sandbox, для аналізу і вычыслаў
- Адзінак для файлоў для чытання дакументаў
- Адзінак для календара для перагляду раскладу
- Адзінак для электраняў, які выкарыстоўваецца толькі калі є правыя разрэшэнні
- Дзеякія API для вясоў з іншым програмным забавам
Задача модэлю — выбраць, калькі з гэтых адзінакоў патрэбны на даным кроку. Для команд, якія працуюць з JavaScript і TypeScript, тут выкарыстоўваюцца такія паняцькі, як вызыв функцый і аргументы адзінакоў, перавераныя за дапамогою схемы; шаблоны ў bounded agentic loops для выкарыстоўвання адзінакоў LLM у TypeScript паказваюць, як гэта выглядае ў кодзе.
Прыклад даследжэння практычна паказвае, як гэта працюе. Студент прасіць падказку ў даследжэнні техналогій генеравання з дапамогою адзысквання інфармацыі для мов з мягкімі рэсурсамі. Чат-бот можа паспяшыць, як функціонуе RAG, чаму мовы з мягкімі рэсурсамі ёсць складнымі, якія ключавыя словы трэба выкарыстоўваць і як структураваць аптаку літературы, пасля чаго студент сам выканае даследжэнне. Даследжвацкі агент з правымі інструментамі могаў бы ператворыць запитанне на запыткі для пошуку, адзыскваць акадэмічныя джерела, сабраць кандыдатавакі, апусціць нерелевантныя, прачытаць рэшты, выдзеісці методы і наборы дадзеных, парабяліць рэзультаты, зафіксаваць меры і стварыць структураваную аптаку. У гэты момент ШІ не проста описвае процес даследжэння; ён сам стае часткай гэтага процесу.
Планаванне і выкананне
Складныя цілі вымагаюць разбівання на частыні. Калі агенту даюць задачу «прааналізаваць гэты набор дадзеных кліентаў і падготавіць атлас», ён можа запланаваць перагляд файлу, розумеў кожную століцу, пераканалівацца ў наявнасць/выбыце значэнняў, очышчанне дадзеных, адбіранне експлоратарскага аналізу, стварэнне візуалізацый, выяўленне значымых законамасцей і запісваў рэзультатаў.
Заазначым, што чат-бот таксама можа стварыць або той самы список. Складанне плану — это генераванне тексту. Разлік заключаецца ў тым, чы можа система выканаць гэтыя крокі і адразу на яны рэагаваць. План, які корыстнік должен выконаць сам, — это прадакт; план, які выконвае система, — это автонамнае дзеянне.
Абазаванне і цыкл адзыва
Актарская гра на самай просты ўсё. Агент должен разглядаць рэзультат кожнага своего дзеяння. Дазвольце, ён шукае няўздышлівыя статыкі пра агентны RAG і атрымлея паслабыя рэзультаты. Корыстны агент з’явіць, што рэзультаты недастаткова релевантныя, перапрацавае запит, зноў шукае і ў канечнасці атрымлея лепшыя рэзультаты.
Гэты цыкл, які часта падсумоўваецца як «думаць, дзейсці, спазірваць, налагоджваць», і ўсё, што адзеляе цыклічны процес ад паўтаральнага. Без спазірвання система проста выконвае інструменты ў фіксаванай парадзе і спадзяецца.
Памяць і стан задачы
Памяц частаюць атрыбутам агента, але чат-боты таксама можу памятаць розныя дадзеныя, таму сама памяц не робіць систему агентам. Яна мае большое значэнне для агентаў, таму што ўжо ў яных задачы трываюць дольшэ і абумоўляюць больш проміжных рэзультатаў. Для доследнага агента неабходна стежыць за первісным запитам, якія статті ён вучыў, якія джерэлы ён адхіліў і чаму, ключовыя нарадкі па канцэ ўжо, трэбаванні корыстувальніка і ранейшыя выходы інструментаў. Без цаленаправленага керавання станам, працэс дзейнаўства агента паступова спявае: ён зноў чытае тыя ж джерэлы, забывае прыметкі або суперасягае з сабеўнымі ранейшымі выводамі.
Спектр, а не пераключальнік
Рэальныя продукты рэдка калі знаходзяцца чыста на аднай стороне. Большасць систем спалучаюць можлівасці канверсацыйных і агентскіх функцыяй, і корыстна думаць пра эвалюцыю па этапах:
- Базавы чатбот. Пашча пользователя падае да модэлю, і вяртаецца адказ.
- Чатбот з выкарыстоўваннем інструментаў. Модэль можа вызваць інструмент, такі як пошук, прытаму да адказа, але практыка застаецца ў вачынку адна запит і адна адпаведь.
- Агент. Модэль атрымлеў цель, плануе, выбірае інструмент, дзейнае, спазірвае, зноў прымешчае рашэнне і павтарае, пакуль задача не будзе завершаная.
Няма чыстай межы між другім і трэцім этапамі. Дзеяныя системы ўжо ёсць асистэнты для дыялогу, іншыя выкарыстоўваюць калькі інструментаў, а ўсё іншыя запускаюць дзейныя процесы з многаэтапамі. Тое, дзе будзе ваша система, залежыць ад таго, насколькі контроль над практыкаю мае модэль.
Чы выклік аднаго інструмента прыводзіць да стварэння агента?
Не паводле прынцыпу. Бот, який за кожным разам, калі яго запытаюць пра пагоду, з’яўляецца да API пагоды, выкарыстоўвае інструмент, але процес працы є фіксаваным: запит, вызов API, адпаведная адказ. Нічога не прымемліваецца.
Якщо змяніць запит на „спланаваць найкращую актывацыю на вуліцы на завтра“, ситуацыя змінюецца. Система павінна пераканацца ў прогназе, знайсці можлівыя варыянты актывацый, пераканацца ў часах роботы, параболіць месца, разважыць умовы і запропанаваць адну з варыянтаў. Яна прымемлівае калькі залежных рашэнняў і координуе калькі інструментоў для досягнення большага цялі, што прыбліжае яе да модэлю агента. Корыстная гіпертэза: якщо последовасць вызоў інструментоў можна заздалегідь закодаваць, то маемо чатбота, які выкарыстоўвае інструменты; якщо наступны вызов залежыць ад рэзультатаў пярэднего, тады ствараецца агент.
Агенты без жаднае вікна чату
І навпакіс таксама правда: агенту зовсім не патрэбна інтерфейс для спілкування. Фонавы сервіс, які стежыць за прыходзячымі запитамі на падтрымку, можа класіфікаваць кожны запит, атрымваць дакледы кліента, шукаць інформацыю ў дасведчэннях, падготавіць рашэнне і перадаць складныя кейсы людзю. Ніхто не спілкуецца з яным, пры тым часе ён являе сабою агента, таму што досягае меты за дапомогою серіі запланаваных дзеянняў.
Выбір между чатботам і агентам
Хочацца спрыяць "агенту" як даасканаванай версіі "чатбота". Такое падходжэнне прыводзіць команды да занадто складных рашэнняў. Правильны вопыт — што на самай працоўцы вашага прыемніка патрэбна.
Калі чатбот — лепшы выбар
Зазвычай дасканальнае адпаведзенне модэлю ўсё, калі основная задача — спілкуванне або стварэнне контэнту, напрыклад:
- атрыманне адпаведзенняў на часта задаваемыя запитанні
Для такіх задач чатбот зазвычай ёсць простейшым, быстрэйшым, дешавейшым чырва лёгкім у адтрыманні. Не трэба апрацоўваць автонамныя багатыя крокі, а кожны раз, калі вы ухіліцеся ад дадатковага запуску модэлю, вы заўсёды эканоміцеце час чырва грошы.
Калі задача выкалікае патрэбу ў агенте
Агент становіцца складнейшым, калі задача включае калькі з наступных элементаў:
- Калькі залежныя адзін ад другога
- Выбір між інструментамі
- Інтэрацыя з зовнішнімі системамі
- Рашэнні, якія прыменяюцца па ходу
- Павтаральныя дзеянні
- Аналіз рэзультатаў
- Змена курсу на адной з гэтых падстав
- Зберагчыце стан задачі між крокамі
Запрос на кшталт „знайсці няўжоўныя статыі, выявіць іх методы, параболіць ўсунуткі та стварыць структураваны атлас“ за сваёй сутнасю ўключае калькі этапаў, і таму архітектура агента ёсць разумным выбрам.
Кост аўтаноміі
Чым большая аўтаномія, тым больш спосабаў для паспеху. Агент можа выбраць неправы інструмент, неправяму пераканацца ў рэзультатах, павторыць вялікую частку раней выкаранай работы, застряць у цыкле, збільшыць витраты на API, працаваць дужа дольш час у пораўнанні з адной толькі вызовам, або проста пракрастыць неправильную рашэнне за калькі этапаў да таго часу, калі хто-небудзь гэта зазначыць.
Самэ таму агентам патрэбны технічныя рашэнні, якія чат-боты часта можу праскочыць:
- правы на адбор, якія обмежваюць тое, чым можа кераваць кожны інструмент
- перакананне ў правамільнасці вхідных і выходных дадзеных інструмента
- логаванне та адследжванне кожнага этапу
- обработка адказоў на памылкі падчас няудачных аб частковых вызоў інструментаў
- ацэнка всей роботы, а не толькі адзіных адказоў
Якщо простыяй система можа надзеямліва рашыць проблему, яна зазвычай ўсё-такі лепшая система.
Адзірванне разліку з самага пачатку да канца
Два спосабы керавання, практыкуемыя паралельна, падсумовваюць усё вышэсказанае.
Чат-бот: прыёмляець з’ясоўвае паведамленне корыстніка, генеруе адпаведны адказ і вяртае кераванне корыстніку.
Агент: з’ясоўвае цель корыстніка, стварае план, выбирае інструмент, выконвае дзеянне, аналізуе рэзультат, скорачае план, выконвае наступнае дзеянне, і цыкл завершаецца, калі цель досягнута.
Пашчэтны прыклад паказвае, як абодва можу быць корыстнымі для аднаго і тога ж запиту. Хтось кажа, што хочаць выучыцца агентнай ШІ. Чат-бот можа запропанаваць план дзеяння, спіс тэм, ресурсы для навучання і чыстыя адказы. Болей прагрэсіўны навучальны агент могаць ацэніць, што вучаны вядома ўжо, стварыць план навучання, аддаць урок, задаць заведаменне, оцаніць адказ, знайсці слабыя месцы, прыстосаваць наступны урок, стежыць за прагрэсам з часам і продаваць цыкл. Першы паказвае вучанаму, як усё працюе; другі берае участка ў самам кераванні навучанням. Яны рашаюць разныя проблемы.
Ключовыя выводы
- Чат-бот організаваны навакол размовы (прыемае паведамленне, адпавядае); агент — навакол цэлі (плануе, дзейнае, спазірае, налаштоввае, завершае).
- Інтерфейс таксама не ўсё сказвае: агенты могу хавацца за вікнам чату, а таксама могу працаваць без якога-лібо вікна чату.