Како направити вештачку интелигенцију (AI) агента

Како направити вештачку интелигенцију (AI) агента

Кратак одговор: Да бисте направили вештачку интелигенцију агента који функционише у пракси, третирајте га као контролисану петљу: примите унос, одлучите о следећој акцији, позовите алат уског домета, посматрајте резултат и понављајте док не прође јасна провера „завршено“. Заслужује своје место када је задатак вишекорачан и вођен алатом; ако га решава један промпт, прескочите агента. Додајте строге шеме алата, ограничења корака, евидентирање и валидатор/критичара тако да када алати не успеју или су уноси двосмислени, агент ескалира уместо да се понавља у петљи.

Кључне закључке:

Контролна петља : Имплементирајте унос→акција→посматрање понављања са експлицитним условима заустављања и максималним бројем корака.

Дизајн алата : Одржавајте алате уским, типизираним, са дозволама и валидираним како бисте спречили хаос „уради_било шта“.

Хигијена меморије : Користите компактно краткорочно стање плус дугорочно преузимање; избегавајте дамповање комплетних транскрипата.

Отпорност на злоупотребу : Додајте дозвољене листе, ограничења брзине, идемпотентност и „пробно покретање“ за ризичне радње.

Тестабилност : Одржавајте скуп сценарија (кварови, двосмисленост, ињекције) и поново га покрените при свакој промени.

Како направити вештачку интелигенцију агента? Инфографика
Чланци које бисте можда желели да прочитате након овог:

🔗 Како мерити перформансе вештачке интелигенције
Научите практичне метрике за мерење брзине, тачности и поузданости.

🔗 Како разговарати са вештачком интелигенцијом
Користите подстицаје, контекст и додатне информације да бисте добили боље одговоре.

🔗 Како проценити моделе вештачке интелигенције
Упоредите моделе користећи тестове, рубрике и резултате задатака из стварног света.

🔗 Како оптимизовати вештачке интелигенције (AI) моделе
Побољшајте квалитет и трошкове подешавањем, орезивањем и праћењем.


1) Шта је вештачка интелигенција агент, речено обичним људима 🧠

Агент вештачке интелигенције је петља. Документација о „Агентима“ на LangChain-у

То је то. Петља са мозгом у средини.

Унос → размишљање → деловање → посматрање → понављање . Реагуј на папиру (разумевање + деловање)

Где:

  • Унос је захтев корисника или догађај (нова е-пошта, тикет за подршку, пинг сензора).

  • Размишљање је језички модел који расуђује о следећем кораку.

  • Act позива алатку (претражи интерну документацију, покрени код, креирај тикет, напиши нацрт одговора). Водич за позивање OpenAI функција

  • Посматрање чита излаз алата.

  • Понављање је део који ствара осећај „агентског“ уместо „причљивог“. Документација за „Агенте“ на LangChain-у.

Неки агенти су у основи паметни макрои. Други се понашају више као млађи оператери који могу да жонглирају задацима и опорављају се од грешака. Оба се рачунају.

Такође, не треба вам потпуна аутономија. У ствари… вероватно је не желите 🙃


2) Када треба да направите агента (а када не) 🚦

Направите агента када:

  • Рад је вишестепени и мења се у зависности од тога шта се деси на пола пута.

  • Посао захтева коришћење алата (базе података, CRM-ови, извршавање кода, генерисање датотека, прегледачи, интерни API-ји). Документација за „Алате“ компаније LangChain

  • Желите поновљиве резултате са заштитним оградама, а не само једнократне одговоре.

  • Можете дефинисати „готово“ на начин који рачунар може да провери, чак и лабаво.

Не правите агента када:

  • Једноставан упит + одговор решава проблем (не претеруј са инжењерингом, касније ћеш мрзети себе).

  • Потребан вам је савршен детерминизам (агенти могу бити конзистентни, али не и роботички).

  • Немате никакве алате или податке за повезивање - онда су то углавном само вибрације.

Будимо искрени: половина „пројеката AI агента“ може бити ток рада са неколико правила гранања. Али, понекад је и атмосфера важна 🤷♂️


3) Шта чини добру верзију AI агента ✅

Ево одељка „Шта чини добру верзију“ који сте тражили, осим што ћу бити мало директан:

Добра верзија вештачке интелигенције није она која највише размишља. То је она која:

Ако се ваш агент не може тестирати, то је у основи веома самоуверена слот машина. Забавна на журкама, застрашујућа у продукцији 😬


4) Основни градивни блокови агента („анатомија“ 🧩)

Већина солидних агената има ове делове:

A) Контролна петља 🔁

Ово је оркестратор:

Б) Алати (тј. могућности) 🧰

Алати су оно што чини агента ефикасним: Документација о алатима за LangChain

  • упити базе података

  • слање имејлова

  • превлачење датотека

  • извршавање кода

  • позивање интерних API-ја

  • писање у табеле или CRM-ове

Ц) Памћење 🗃️

Две врсте су битне:

  • краткорочно памћење : тренутни контекст трчања, недавни кораци, тренутни план

  • дугорочно памћење : корисничке преференције, контекст пројекта, преузето знање (често путем уграђивања + векторског складишта) RAG папир

Д) Политика планирања и одлучивања 🧭

Чак и ако то не називате „планирањем“, потребан вам је метод:

  • контролне листе

  • рад у стилу ReAct-а „размисли, па онда алат“

  • графикони задатака

  • обрасци односа супервизор-радник

  • обрасци супервизора и радника Microsoft AutoGen (вишеагентни оквир)

E) Заштитне ограде и евалуација 🧯

Да, то је више инжењеринг него суфловање. Што је... отприлике поента.


5) Табела поређења: популарни начини за креирање агента 🧾

Испод је реалистична „Табела поређења“ - са неколико необичности, јер су прави тимови чудни 😄

Алат / Оквир Публика Цена Зашто то функционише Белешке (мали хаос)
ЛангЧејн градитељи који воле компоненте у стилу лего коцкица слободно + инфра велики екосистем за алате, меморију, ланце можеш брзо добити шпагете ако ствари не наведеш јасно
ЛамаИндекс Тимови са јаким RAG-ом слободно + инфра јаки обрасци претраживања, индексирање, конектори одлично када је ваш агент у основи „претражи + делуј“... што је уобичајено
Приступ у стилу OpenAI асистената тимови који желе брже подешавање засновано на коришћењу уграђени обрасци позивања алата и стање извршавања мање флексибилан у неким угловима, али чист за многе апликације OpenAI покреће API, позива функције OpenAI асистента
Семантичко језгро програмери који желе структурирану оркестрацију слободан уредна апстракција за вештине/функције делује „уредно као предузеће“ - понекад је то комплимент 😉
АутоГен вишеагентни експериментатори слободан обрасци сарадње између агента може претерати са разговором; поставити строга правила за прекид
CrewAI навијачи „тимова агената“ слободан улоге + задаци + предаје се лако изражавају најбоље функционише када су задаци оштри, а не кашасти
Пласт сена претрага + цевоводи људи слободан чврсти цевоводи, преузимање, компоненте мање „агентског позоришта“, више „практичне фабрике“
Пусти своје (прилагођена петља) контрол фрикови (склони) твоје време минимална магија, максимална јасноћа обично најбоље дугорочно… док све не поново измислите 😅

Нема једног победника. Најбољи избор зависи од тога да ли је главни посао вашег агента претраживање , извршавање алата , координација више агената или аутоматизација тока посла .


6) Како направити AI агента корак по корак (стварни рецепт) 🍳🤖

Ово је део који већина људи прескочи, а затим се питају зашто се агент понаша као ракун у остави.

Корак 1: Дефинишите посао у једној реченици 🎯

Примери:

  • „Направите нацрт одговора купца користећи политику и контекст захтева, а затим затражите одобрење.“

  • „Истражите извештај о грешци, репродукујте га и предложите исправку.“

  • „Претворите несавршене белешке са састанака у задатке, власнике и рокове.“

Ако не можете то једноставно дефинисати, ни ваш агент не може. Мислим да може, али ће импровизовати, а импровизација је место где буџети умиру.

Корак 2: Одредите ниво аутономије (низак, средњи, љут) 🌶️

  • Ниска аутономија : предлаже кораке, људски кликови „одобравају“

  • Средње : покреће алате, прави нацрте резултата, ескалира у случају неизвесности

  • Високо : извршава се од почетка до краја, пингује људе само у случају изузетака

Почните са нижим темпом него што желите. Увек можете касније да га појачате.

Корак 3: Изаберите своју стратегију модела 🧠

Обично бирате:

  • један јак модел за све (једноставно)

  • један јак модел + мањи модел за јефтине кораке (класификација, рутирање)

  • специјализовани модели (вид, код, говор) ако је потребно

Такође одлучите:

  • максималан број токена

  • температура

  • да ли интерно дозвољавате дугачке трагове резоновања (можете, али немојте излагати сирови ток мисли крајњим корисницима)

Корак 4: Дефинишите алате са строгим шемама 🔩

Алати би требало да буду:

Уместо алата под називом do_anything(input: string) , направите:

Ако агенту дате моторну тестеру, немојте се изненадити када она ореже живу ограду уклањањем и ограде.

Корак 5: Направите контролну петљу 🔁

Минимална петља:

  1. Почните са циљем + почетним контекстом

  2. Питајте модел: „Следећа акција?“

  3. Ако се позива алат - изврши алат

  4. Додај запажање

  5. Проверите услов заустављања

  6. Поновите (са максималним бројем корака) документацију за „Агенте“ у LangChain-у

Додај:

Корак 6: Пажљиво додајте меморију 🗃️

Краткорочно: одржавајте компактан „резиме стања“ ажуриран у сваком кораку. LangChain „Преглед меморије“
Дугорочно: чувајте трајне чињенице (корисничке преференције, правила организације, стабилну документацију).

Правило:

  • ако се често мења - држите га краткорочним

  • ако је стабилно - складиштити дугорочно

  • ако је осетљиво - складиштите минимално (или никако)

Корак 7: Додајте валидацију и „критичку“ оцену 🧪

Јефтин, практичан образац:

  • агент генерише резултат

  • Валидатор проверава структуру и ограничења

  • опционе критике модела прегледа недостајућих корака или кршења смерница NIST AI RMF 1.0

Није савршено, али хвата шокантну количину глупости.

Корак 8: Забележите све што ћете зажалити што нисте забележили 📜

Дневник:

Будућност - бићеш ти захвалан. Садашњост - заборавићеш. Такав је једноставно живот 😵💫


7) Позивање алата које вам не сломи душу 🧰😵

Позивање алата је место где „Како направити вештачку интелигенцију“ постаје право софтверско инжењерство.

Учините алате поузданим (поузданост је добра)

Поуздани алати су:

Додајте заштитне ограде на слоју алата, не само упите

Подсетници су љубазни предлози. Валидација алата је закључана врата. Структурирани излази OpenAI-а

Уради:

  • листе дозвољених (који алати могу да се покрећу)

  • валидација уноса

  • за ограничења брзине OpenAI-а

  • провере дозвола по кориснику/организацији

  • „режим сувог рада“ за ризичне акције

Дизајн за делимични квар

Алати отказују. Мреже се колебају. Овлашћење истиче. Агент мора:

Тихо ефикасан трик: вратите структуриране грешке попут:

  • тип: грешка_ауторизације

  • тип: није_пронађено

  • тип: rate_limited
    Тако модел може да реагује интелигентно уместо да паничи.


8) Сећање које помаже уместо да вас прогања 👻🗂️

Памћење је моћно, али може постати и фиока за смеће.

Краткорочно памћење: одржавајте га компактним

Употреба:

  • последњих N корака

  • текући резиме (ажурира се сваке петље)

  • тренутни план

  • тренутна ограничења (буџет, време, политике)

Ако све ставите у контекст, добићете:

  • виши трошкови

  • спорија латенција

  • више конфузије (да, чак и тада)

Дугорочно памћење: привлачење уместо „пуњења“

Већина „дугорочног памћења“ је више као:

  • уграђивања

  • векторска продавница

  • RAG папир за проширену генерацију претраживања (RAG)

Агент не памти. Преузима најрелевантније исечке током извршавања. LlamaIndex „Увод у RAG“

Практична правила памћења

  • Чувајте „преференције“ као експлицитне чињенице: „Корисник воли резимее у тачкама и мрзи емоџије“ (хаха, али не овде 😄)

  • Чувајте „одлуке“ са временским ознакама или верзијама (у супротном се гомилају контрадикције)

  • Никада не чувајте тајне осим ако заиста не морате

А ево и моје несавршене метафоре: сећање је као фрижидер. Ако га никада не очистите, на крају ће ваш сендвич имати укус црног лука и жаљења.


9) Планирање образаца (од једноставних до отмених) 🧭✨

Планирање је само контролисано распадање. Немојте од тога правити мистично.

Образац А: Планер контролне листе ✅

  • Модел приказује листу корака

  • Извршава се корак по корак

  • Статус ажурирања контролне листе

Одлично за упознавање. Једноставно, може се тестирати.

Образац Б: Петља РеАкције (разлог + деловање) 🧠→🧰

  • модел одлучује о следећем позиву алата

  • посматра излаз

  • понавља ReAct рад

Ово је класичан осећај агента.

Образац C: Надзорник-радник 👥

Ово је вредно када се задаци могу паралелизовати или када желите различите „улоге“ као што су:

  • истраживач

  • програмер

  • уредник

  • Провера квалитета

Образац Д: Планирај, па изврши са поновним планирањем 🔄

  • креирај план

  • извршити

  • ако резултати алата промене стварност, поново планирајте

Ово спречава агента да тврдоглаво следи лош план. Људи такође то раде, осим ако нису уморни, у ком случају такође следе лоше планове.


10) Безбедност, поузданост и да не добијете отказ 🔐😅

Ако ваш агент може да предузме акције, потребан вам је безбедносни дизајн. Не „лепо је имати“. Потребно. NIST AI RMF 1.0

Тврда ограничења

  • максималан број корака по трчању

  • максималан број позива алата у минути

  • максимална потрошња по сесији (буџет токена)

  • ограничени алати иза одобрења

Обрада података

  • редигујте осетљиве уносе пре евидентирања

  • одвојена окружења (развојна наспрам продукције)

  • дозволе алата са најмање привилегија

Ограничења у понашању

  • приморајте агента да наведе интерне делове доказа (не екстерне линкове, само интерне референце)

  • захтевају ознаке неизвесности када је поузданост ниска

  • захтевати „поставити разјашњавајуће питање“ ако су уноси двосмислени

Поуздан агент није онај који има највише самопоуздања. То је онај који зна када погађа... и то и каже.


11) Тестирање и евалуација (део који сви избегавају) 🧪📏

Не можеш побољшати оно што не можеш измерити. Да, та реченица је клишеирана, али је досадно истинита.

Направите скуп сценарија

Направите 30-100 тест случајева:

Резултати бодова

Користите метрике као што су:

  • стопа успеха задатка

  • време потребно за завршетак

  • стопа опоравка од грешака алата

  • стопа халуцинација (тврдње без доказа)

  • стопа људског одобравања (ако је у надгледаном режиму)

Регресиони тестови за упите и алате

Кад год промените:

  • шема алата

  • системске инструкције

  • логика претраживања

  • форматирање меморије
    Поново покрените пакет.

Агенти су осетљиве звери. Као собне биљке, али скупље.


12) Обрасци распоређивања који вам неће исцрпити буџет 💸🔥

Почните са једном услугом

Додајте контроле трошкова рано

  • резултати преузимања из кеширања

  • компресовање стања разговора са резимеима

  • коришћење мањих модела за усмеравање и екстракцију

  • ограничавање „режима дубоког размишљања“ на најтеже кораке

Уобичајени избор архитектуре

  • контролер без стања + екстерно складиште стања (DB/redis)

  • позиви алата су идемпотентни где год је то могуће Stripe „Идемпотентни захтеви“

  • ред за дуге задатке (како не бисте заувек државали веб захтев отвореним)

Такође: направите „прекидач за искључивање“. Неће вам требати док вам заиста, заиста не буде потребан 😬


13) Завршне напомене - кратка верзија о томе како направити вештачког агента 🎁🤖

Ако се не сећате ничег другог, запамтите ово:

Агент није магија. То је систем који доноси добре одлуке довољно често да буде вредан... и признаје пораз пре него што нанесе штету. Тихо утешно, на неки начин 😌

И да, ако га правилно направите, осећа се као да запошљавате малог дигиталног практиканта који никад не спава, повремено паничи и воли папирологију. Дакле, у основи практикант.


Честа питања

Шта је AI агент, једноставно речено?

Агент са вештачком интелигенцијом је у основи петља која се понавља: ​​прима унос, одлучује о следећем кораку, користи алат, чита резултат и понавља док се не заврши. „Агентски“ део долази од деловања и посматрања, а не само од ћаскања. Многи агенти су само паметна аутоматизација са приступом алатима, док се други понашају више као млађи оператер који може да се опорави од грешака.

Када треба да направим вештачку интелигенцију агента уместо да само користим промпт?

Направите агента када је посао вишестепен, мења се на основу међурезултата и захтева поуздано коришћење алата (API-ји, базе података, систем за управљање тикетима, извршавање кода). Агенти су такође корисни када желите поновљиве резултате са заштитним оградама и начином да се провери „завршено“. Ако једноставан брзи одговор функционише, агент је обично непотребно оптерећење и додатни режими отказа.

Како да направим вештачку интелигенцију агента који се не заглављује у петљама?

Користите услове за фиксно заустављање: максималан број корака, максималан број позива алата и јасне провере завршетка. Додајте структуриране шеме алата, временска ограничења и поновне покушаје који се неће понављати заувек. Бележите одлуке и излазе алата како бисте могли да видите где долази до проблема. Уобичајени сигурносни вентил је ескалација: ако агент није сигуран или понавља грешке, требало би да затражи помоћ уместо да импровизује.

Која је минимална архитектура за Како направити АИ агента?

Најмање вам је потребна контролна петља која моделу доставља циљ и контекст, тражи следећу акцију, извршава алат ако се захтева, додаје запажање и понавља. Такође су вам потребни алати са строгим облицима улаза/излаза и провером „завршено“. Чак и петља за сопствено креирање може добро функционисати ако одржавате стање чистим и примењујете ограничења корака.

Како треба да дизајнирам позивање алата тако да буде поуздано у продукцији?

Нека алати буду уско оријентисани, типизирани, са дозволама и валидирани – избегавајте генеричке алате типа „уради било шта“. Дајте предност строгим шемама (као што су структурирани излази/позивање функција) како агент не би могао ручно да мења улазе. Додајте листе дозвољених алата, ограничења брзине и провере дозвола корисника/организације на нивоу алата. Дизајнирајте алате тако да буду безбедни за поновно покретање када је то могуће, користећи обрасце идемпотентности.

Који је најбољи начин да се дода меморија, а да се притом не погорша рад агента?

Третирајте меморију као два дела: краткорочно стање извршавања (недавни кораци, тренутни план, ограничења) и дугорочно претраживање (преференције, стабилна правила, релевантна документација). Одржавајте краткорочну компактност са текућим резимеима, а не комплетним транскриптима. За дугорочно памћење, претраживање (уграђивања + векторско складиштење/RAG обрасци) обично је боље од „трпања“ свега у контекст и збуњивања модела.

Који образац планирања треба да користим: контролну листу, ReAct или супервизор-радник?

Планер контролне листе је одличан када су задаци предвидљиви и желите нешто лако за тестирање. Петље у стилу ReAct-а су одличне када резултати алата промене оно што радите следеће. Обрасци надзорник-радник (као што је раздвајање улога у стилу AutoGen-а) помажу када се задаци могу паралелизовати или имати користи од различитих улога (истраживач, програмер, контролор квалитета). Планирање-па-извршење са поновним планирањем је практичан средњи пут за избегавање тврдоглавих лоших планова.

Како да осигурам агента ако може да предузме стварне акције?

Користите дозволе са најмањим привилегијама и ограничите ризичне алате иза режима одобравања или „пробног рада“. Додајте буџете и ограничења: максимални број корака, максималну потрошњу и ограничења позивања алата по минуту. Редигујте осетљиве податке пре евидентирања и одвојите развојно од производног окружења. Захтевајте заставице несигурности или појашњавајућа питања када су улази двосмислени, уместо да дозволите да поверење замени доказе.

Како да тестирам и проценим вештачку интелигенцију (AI) агента како би се он временом побољшавао?

Направите пакет сценарија са срећним путањама, граничним случајевима, кваровима алата, двосмисленим захтевима и покушајима убризгавања промпта (OWASP-стил). Оцените исходе као што су успех задатка, време потребно за завршетак, опоравак од грешака алата и тврдње без доказа. Сваки пут када промените шеме алата, промпте, преузимање или форматирање меморије, поново покрените пакет. Ако га не можете тестирати, не можете га поуздано испоручити.

Како да имплементирам агента без повећања латенције и трошкова?

Уобичајени образац је контролер без стања са екстерним складиштем стања (DB/Redis), сервисима алата иза њега и јаким евидентирањем/праћењем (често OpenTelemetry). Контролишите трошкове кеширањем преузимања, компактним резимеима стања, мањим моделима за рутирање/екстракцију и ограничавањем „дубоког размишљања“ на најтеже кораке. Користите редове за дуге задатке како не бисте држали веб захтеве отвореним. Увек укључите прекидач за искључивање.

Референце

  1. Национални институт за стандарде и технологију (NIST) - NIST AI RMF 1.0 (поузданост и транспарентност) - nvlpubs.nist.gov

  2. OpenAI - Структурирани излази - platform.openai.com

  3. OpenAI - Водич за позивање функција - platform.openai.com

  4. OpenAI - Водич за ограничења брзине - platform.openai.com

  5. ОпенАИ - Покреће АПИ - платформ.опенаи.цом

  6. OpenAI - Позивање функција асистената - platform.openai.com

  7. LangChain - Документација за агенте (JavaScript) - docs.langchain.com

  8. LangChain - Документација о алатима (Python) - docs.langchain.com

  9. LangChain - Преглед меморије - docs.langchain.com

  10. arXiv - ReAct рад (разлог + деловање) - arxiv.org

  11. arXiv - RAG рад - arxiv.org

  12. Библиотека за креирање Amazon Web Services (AWS) - Временска ограничења, поновни покушаји и одлагање са подрхтавањем - aws.amazon.com

  13. OpenTelemetry - Увод у видљивост - opentelemetry.io

  14. Stripe - Идемпотентни захтеви - docs.stripe.com

  15. Google Cloud - Стратегија поновног покушаја (одлагање + подрхтавање) - docs.cloud.google.com

  16. OWASP - Топ 10 за апликације великих језичких модела - owasp.org

  17. OWASP - LLM01 Убризгавање брзог убризгавања - genai.owasp.org

  18. LlamaIndex - Увод у RAG - developers.llamaindex.ai

  19. Мајкрософт - Семантичко језгро - learn.microsoft.com

  20. Microsoft AutoGen - Мулти-агентски фрејмворк (документација) - microsoft.github.io

  21. CrewAI - Концепти агената - docs.crewai.com

  22. Хејстек (дубоко постављен) - Документација за ретривере - docs.haystack.deepset.ai

Пронађите најновију вештачку интелигенцију у званичној продавници вештачке интелигенције

О нама

Назад на блог