Раз'яснення ReAct: як агенты ШІ спаўнаюць разумаванне з дзеяннямі у рэальным свете
Як фрэймворк ReAct спалюе разумаванне з выкарыстоўваннем інструментаў у агентах ШІ, і як ён адрозніцца ад модэляў на адной лініі разумавання, класычнага навчання пад кераваннем падкрэпленняў і модэляў разумавання.
Штучныя інтелекты развіваюцца далека ад простых чат-ботаў для генеравання тексту.
Сучасныя системы ШІ можаць переглядаць веб, выкананыя запыты да API, працаваць з базамі дадзеных, запускать код, загружаць дакументы і пасля выкарыстоўваць усё, што знайшлі, каб выбраць наступны крок. Але што насправды дазволяе ШІ перайсці з простага размышлэння пра задачу да ўжо якога-небудзь дзеяння па ёй?
Ключовыя ідэі, якія лежачы за гэтым пераходам, — ReAct — скрацанне ад Reason + Act.
ReAct ўжо і тэхніка стварэння падказак, і шырэйшая рамка для агентных систем. Яна спаўнюе разумовыя крокі з конкрэтнымі дзеяннямі, такімі як пошук, запыты да API, вычысленні і іншыя вызовы інструментаў. Пасля модель чытае рэзультаты гэтых дзеянняў і выкарыстоўвае іх, каб выбраць наступны крок. Яо і яго колегі представілі гэтую рамку у 2022 годзе.
Што такое ReAct?
Просты спосаб прыкладзіць ReAct — чераз гэты цыкл:
Думаць → Дзеяць → Абсалютвацыя → Думаць → Дзеяць → Абсалютвацыя → Канечны адказ
Падазроўваеце, што вы запытываеце систему AI:
"Знайдзіце найсвежэйшую інфармацыю пра компанію і падсумаваце яе няўзабавныя развіткі."
Базовы модель можа проста адказаць, выкорыстоўваючы ту інфармацыю, яку ён вядома мае у сабе.
Система, побудаваная на прынцыпе ReAct, рашае гэта інакш:
- Разумоўванне: З’ясаваць, якая інфармацыя на самай працоўцы трэба.
- Дзеянне: Адкрыць пошук, каб яе знайсці.
- Абсалютвацыя: Пераглянуць тое, што даў пошук.
- Разумоўванне: Адначыцца, чы робіцца дапамога дадатковай інфармацыі.
- Дзеянне: Зноў адкрыць пошук або перайсці да іншага інструмента.
- Канечны адказ: Калі будзе засборавана достатня інфармацыя, стварыць адказ.
Гэты цыкл «вярнуцца-і зноў» якраз і робіць ReAct цянівым для задач, якія залежаць ад зовнішняй інформацыі чыраў доступу да інструментаў.
ReAct проты Chain-of-Thought
ReAct мае багато спануляў з канцэпцыяй пошаговага абдумвання, але існуе ключоўная разліка, якая іх адзеляе.
Chain-of-Thought главнае – это абдумванне проблемы внутршняя.
ReAct спаўнае гэта абдумванне з рэальным взаімадзеянням з зовнішнім светам.
Ось просты ментальны спрыт:
CoT = Абдумваць ReAct = Абдумваць → Дзеяць → Абсалютваць → Абдумваць
Гэта робіць ReAct ўсё бол цянівым, калі система павінна выйсці за межы сябе, взаімадзейваючы з зовнішняе арэналем, уместо таго, каб пасляўжыцца адныя толькі сваім вбудаваным знанням.
ReAct – гэта не навчанне пад адзінакаванням
Гэты момант часта плутае багато людзей.
Хоча цыкл ReAct можа асоціявацца з агентам, які взаімадзейнае з абявой і што нагадвае процес научання па адзынакоўванні, гэта сама по сабе не ёсць метод научання па адзынакоўванні.
Рэзультат, які вяртаецца пасля вызову інструмента, не є автаматычна сігналам награды ў значэнні научання па адзынакоўванні.
Гэта, што мае значэнне, простейша: спазірванні, якія вяртаюцца пасля дзеянняў, можу паставіць на слоўы тое, што система выберэ рабіць далей.
Дзе месца моделям разумавання?
Іншая ідэя, якую варта зразумець, — гэта панява моделі разумавання.
Этыя модэлі ствараюцца, каб прыкласты дадатковы вычысленні да сложнейшых задач, такіх як:
- Матэматыка
- Програмаванне
- Планаванне
- Рашэнне багатыядерных задач
Модулі загальнага назначэння таксама здатныя даўаць логічныя выводы, але яны зазвычай налаштаваны больш для швайнарога, эфектыўнага кождадзённага вяселавання, чым для глыбокага рашэння проблем.
Это дае нам ўсё жа адну палезную протыяўставленасць:
Модуль загальнага назначэння → шырокі, эфектыўны вяселаванне Модуль для логічных выводаў → дадатковыя вырахунакі, прыменены да складных проблем
Пры тым, выкарыстоўванне больш логічных выводаў для рашэння проблемы не гарантуе правильнага рэзультата.
Нават модуль для логічных выводаў можа памыліцца ў фактах, зрабіць логічныя памылкі або спасабіцца на некоректных прыпусках. Дадатковыя вырахунакі паўзначна падвайшваюць шансы на рашэння складной проблемы, але не усуваюць можлівасць памылкі.
Ролю вырахунакоў у часе вывода
Частка прычын, чаму модулі для логічных выводаў паводзяцца адлінна на складных задачах, крыўцяцца ў вырахунаках у часе вывода.
У заместо таго, каб для кожнай запыткі працавалася адно і тое ж фіксаваная колькасць вычыслень, система можа збільшыць колькасць вычыслень спецыяльна для сложнейшых задач.
Шаблон выглядае так:
Простая задача → менша колькасць разумоў → быстрэй адпаведзенне
Сложная задача → большая колькасць разумоў → большая колькасць вычыслень → потэнцыйна лепшы рэзультат
Гэта дае системам AI ўсё новы спосаб падвышэння карыстнасці: карыстнасць не ўсё толькі залежыць ад таго, што было выучана пад час навчання, але і ад таго, сколькі вычысловых зусіль викорыстоўваецца пад час рашэння конкрэтной задачы.
ReAct, вызыванне інструментаў, RAG і агенты
У практыцы гэтыя чатыры ідэі перасягаюцься, але кожная з іх аднасца да чагосьці адзінаковага.
Вызыванне інструментаў — гэта калі модель прасіць аб выкананні зовнішняга інструмента ў яе імя.
ReAct — гэта цыкл павтарэння разумоў, дзеяння і абсервавання рэзультатаў.
RAG скарбае званечную інфармацыю і перадае яе модэлю, тады ўсё, што ён выдае, стоіць на рэальных данных.
Агент AI — это болей завершаная система, якая можа працаваць над адначынай праз планаванне, выкарыстоўванне інструментаў, стежэнне за станам і прымэну серыі рашэнняў з часам.
Тыповы савэцкі агент можа выконваць такую последовасць: ён пачынае з таго, чаго хоча корыстувальнік, пераходзіць да аналізу гэтай адначыны, выбирае інструмент для выкарыстоўвання, запускае яго, аналізуе рэсультаты, выявляе, чы гэтага даскледзіцца, а потым альбо продовжае, альбо корэгуе свой план пры выдаванні фінальнай адпаведзі.
Інструменты, якія можна выкарыстоўваць, могу быць чым завалям: ад пошуку ў інтэрнете і API-ў да баз дадзенаў, средаваў для выканання коду, пошуку файлоў чы іншых званечных прыкладнасцей.
Перакананне робіць агенты болей надзеянымі
Парална актыраванню і абсцэрваванню, агентныя системы можаўць дадаць слоі пераканання і расагледу.
Звычны патэрн ёсць:
Стварыць → Пераканацца → Корэктаваць, як трэба → Апошнія адказ
Перакананне — гэта этап, калі система пераканваецца, чы рэзультат, які ў яе є або які яна створыла, дзейсна правільны.
Расаглед — гэта этап, калі система аналізуе свою паказваную спробу і выявляе, чы трэба прабаваць знову.
Обе тэхнікі можаюць зробіць певныя процесы надзейнейшымі, але за іх выкарыстоўванне плаціваеся: дадатковая затрымка, дадатковыя вычысленні, і яшчэ не існуе абсалютной гаранціі, што апошні рэзультат будзе правільным.
Шырэй праблэма
Развіцце систем AI можна спакаваць як серыю шароўскапых можлівасцей.
Указаванне дае модэлю інструкцыі.
Аргументаванне дапамагае яму рашыляць сложнейшыя задачы.
Выклік інструментаў дазволяе яму вяршыць задачы за межамі сабе, взаімадзейваючы з іншымі системамі.
ReAct спаўнае аргументаванне з дзеяннямі та спазіроўкамі.
Агенты аб’еднваюць усё гэта ў системы, якія керуюцца метай і можу планаваць, дзеяць, спазірваць, пераканацца і, праз неабходнасць, павтараць гэты цыкл.
Галоўны вывад просты:
Штучны інтэлект не абмежваецца стваранням аднаго ўтварэння. Сучасныя системы ШІ можу аргументаваць, калі ў іх насправды ёсць патрэба, дзеяць на адвагу гэтых аргументаў, спазірваць, што выходзіць, і на адвагу гэтых спазіроўкаў выбіраць свой наступны крок.
Эты пераход — адзін з основных элементаў, якія лежачы ў падставе сучасных агентаў ШІ, — з простага стварэння рэзультатаў на актывае дасягненне меты праз дзеяння.