Стварэнне агента AI з нуля: шаблоны, ReAct і LangGraph
Выучыце основныя панярэнні, якія стояць за агентамі AI — планаванне, выкарыстоўванне інструментаў, рэфлексія і шаблон ReAct — а таксама як LangChain і LangGraph дапамагаюць у стварэнні такога агента ручна.
Сістэмы AI больш часу не абмежваюцца толькі адпаведзенням на адзінаковыя запытанні. За дапамою агентаў AI модэль можа планаваць серыю дзеянняў, выкарыстоваць зовнішнія інструменты, ацэніваць результаты і выкананаць задачы, якія трэбуе ўсьмох крокаў для завершэння.
Што робіць што-небудзь агентам AI?
Стандартны модэль AI реагуе на адзін запыт і даёт адзін адпаведзення. Агент AI дзейсцуе больш актыўна. Ён можа:
- З’ясаваць, чаго на самай працоўцы хоча
- Разбіць гэту мету на серыю дзеянняў
- Выбраць і выкарыстаць падходячыя інструменты
- Паглядзець, што гэтыя інструменты вяртаюць
- Продаваць работу, пакуль задача насправды не будзе завершаная
Уявіце віртуальнага планавальніка паездак, які готуе двудзённую паездку да Канды. Ёму трэба збіраць інфармацыю з разных джэрел, а потым склікваць гэю інфармацыю ў працёздатны план паездкі, а не проста описваць яго у абстрактныя формы.
Як выглядае робочы процес агента
Багато рэальных задач занадта складныя, ўскладненыя для виконання за адну параграф. Робочы процес агента рашае гэтыя проблемы паўтарным разбіваннем задачы на адзінаковыя фазы.
Тыпавыя фазы включаюць:
- Планаванне
- Дзеяння ў пошуку інформацыі
- Напісанне
- Перагляд
- Удосконаленне
Такая структура роботы дазволяе агенту будаваць на рэзультатах паканальных фаз і продовжваць удосконаляць свой заканчычны адказ.
Паўтарыя шаблоны ў дизайне агентаў
Пры дизайне AI-агентаў викорыстоўваецца калькі усталяваных шаблонав:
- Планаванне: разбіванне адной вялікай задачы на набор меньшых.
- Выварот аб’ектаў: выкарыстоўванне зовнішняй ресурсаў, такіх як калькулятары, пошуковыя системы або базы дадзенаў.
- Размышленне: перакананне якосці праектнага адказу і його удосконаленне.
Гэтыя патэрны даюць калькольнікаў можласць рашаць проблемы, якія ўскладненей, чым простая адмену пытання-адказ.
Якія ролі выпалююць LangChain і LangGraph
LangChain сапраўджае компаненты, неабходныя для стварэння прыкладнасцей, якія работаюць на адной з мовных модэляў, укладаючы шаблоны пытанняў, інтэграцію інструментаў і з’ёднанні з разнымі модэлямі.
LangGraph спаўнае ролю з’ёднання адзінаковых дзеянь у ўзаемна супараджаную ланцоўку. Ён ўсобліва корыстны, калі калькольніку трэбая цыклы, стойкая памяць, вызовы інструментаў або момент, калі можа втруціцца чалавек.
Ёсць кантрацэпцыя разлікі:
- LangChain сапраўджае элементы.
Розуменне шаблона ReAct
Шаблон ReAct спаўнае разумаванне з дзейнам.
Агент, які выкарыстоўвае гэты шаблон, цыклюе через наступныя етапы:
- Разумаванне таго, што трэба зрабіць далей
- Выкананне дзеяння
- Перакананне ў рэзультате
- Разумаванне наступнага крока
Гэты цыкл продовжваецца, пакуль агент не будзе впэўнены ў можлівасці даць заканчыцкую адпаведзь.
Цыкл ReAct спаўнае разумаванне, дзейнік, абсервацыю і выдачу заканчыцкага рэзультата.
Ручнае стварэнне простаг агента
Разглядзім возможнасць стварэння мінімальнага агента, які будзе распаўняць два інструменты:
- Одны, які шукае сярэжную массу асоблівае веткі
- Другі, який выкаанае аднаўленне
Уявіце корыстунача, які ставить такое запитанне: сколькі будзе важыць Border Collie і Scottish Terrier, якшо склаць ўсе ўмовныя вагі разам.
Працюючы з такым запитам, агент выконвае кароткі набор задач:
- Знаходзім вагу Border Collie: 37 фунтав
- Знаходзім вагу Scottish Terrier: 20 фунтав
- Выкананы калькулятор з кодам
37 + 20 - Прынесамы загальны результат: 57 фунтав
Гэты прыклад паказвае, як агент выкаанывае калькуляцыю за дапамою кількох функцый замест таго, каб проста здогадвацца аб адпаведным адказе.
Разделенне роботы між модэлем і часам выканання
Мовны модэль і супакоўваны Python-код кожны займаецца сваімі часткамі задачы.
LLM адпавядае за:
- Інтэрпретацыю запиту
Python runtime абавяраецца пра:
- Фактычны запуск выбраных інструментаў
- Следжыць за рэзультатамі
- Кераванне цыклам, який кінуе агента
- Падача выходных даных інструментаў назад у модэль
Корача кажучы, модэль адлічвае, што трэба зрабіць, а код на Pythonа гэта выкананае.
Ператворэнне цыклу ў аўтаматызаваны процес
У змену таго, каб ручна запускаць кожны вызов інструмента, можна аўтаматызаваць весь цыкл агента. Сістэма пераканальваецца, чы хоча модэль вызваць інструмент:
- Якщо так, тады гэты інструмент выкананае.
- Выходныя даны падаюць назад у модэль.
- Калі больш не патрэбны інструменты, агент вяртае заканчальную адпаведзь.
Автаматызацыя ціх циклаў таким спосабам ператварае агента на ўсталяваны элемент, які можна викорыстоўваць для разных запитаў корыстувачаў, а не толькі як одноразовы скрыпт.
Галоўныя моменты, якія трэба памяць
- Агенты AI рашаюць задачы, выкананням серыі крокаў.
- Рабочыя процесы агентаў базуюцца на планаванні, вызове інструментаў, абсервацыі та павтарной налагоджэнні.
- Пашыранные шаблоны дизайна включаюць планаванне, выкарыстоўванне інструментаў, рэфлексію, коордынацыю калькольнікаў агентаў та працэс запамятовання.
- LangChain з’яўляецца як базовыя елементы для стварэння прыемнасоў на базе AI.
- LangGraph керуе спосабам, якім гэтыя елементы з’ѐднуюцца ў работаючы процес.
- ReAct споўнаючае разумовыя працесы, дзейства та абсервацыю рэзультатаў.
- Моцныя мовы лічэння прыменяюць рашэнні, тады как среда Python адпавядае за ўжыванне.
- Автаматызаванный цыкл агента продовжае вызываць інструменты, пакуль задача не будзе завершаная.
Этыя асалідныя прынцыпы ствараюць адказу для стварэння болей сложных агентаў з выкарыстоўваннем LangGraph у будучыні.
Наступны ўзлёт штучнага інтэлекту — не проста стварэнне кращых адказоў, а будаванне систем, якія можаць самастоятельна выконваць правыя дзеяння.
Супаўязаныя матэрыялы
- Што на самай працы автаматызуе LangChain пасля стварэння ціклу агента — Паспяшнае поясненне таго, як LangChain, LangGraph і падобныя SDK-ы абгружаюць той самы базовы цікл агента, створаны з нуля, і калі викорыстоўванне фрэймворку дапамагае чы робіць шкоду.