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

Параўнанне AutoGen і CrewAI: будуем каманды агентаў і лічым іх кошт

AutoGen супраць CrewAI для каманд агентаў: проксі-цыклы, крытыкі і групавы чат супраць задач і экіпажаў, з AgentOps, каб бачыць рэальны кошт кожнага запуску.

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

Крыніцы: Multi-Agent Systems in Action: A Deep Dive into AutoGen and CrewAI

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

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

У гэтым сектары домінуюць два фрэймворкі, якія парабяляюцца тут: AutoGen, які выйшаў з Microsoft Research як адкрыты код, і CrewAI — моладзейшая платформа, створаная з уважнам да корпоратыўных рабочых процэсаў. Трэці інструмент, AgentOps, дадае слой абзірнасці, такім чынам можна бачыць, што робяць калькі і скількі гэта коштае.

Ролі замест адной вялікай просьбы

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

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

  • Спецыялізацыя падымае якосць. Агент, чыя ўзначальная месца — перакантрольванне коду на наявнасць проблем з безпекай, будзе яго перакантрольваць болей адносна стабільна, чым універсаліст, які выконвае калькі задач.
  • Ціклы зворотнага звязку стаюць явнымі. Перадача рэзультата выходу аднаго агента іншаму, чыя задача — яго раскрытыць, стварае цялеспрамованы цыкл перагляду, замест таго, каб спадзявацца, што той самы мадэль знайдзе своія сабеякі бягі.
  • Сталае можлівым паралельнае выкананне задач. У болей складных сістэмах агенты можаць адночасна займацца разнымі часткамі большага цялева, пры чым агент-дзеячык і агент-пісьменнік выкананяюць адзінаковыя падзаданні.
  • Складнай часткай, якую кожная парадграма рашае сваім спосабам, ёсць камунікацыя. Як агенты розмেнвуюцца інформацыяй? Чы розпадзяляюць яны адну беседу, чы ведуць ізольаваныя пераказы, якія толькі часам перасекаюцца? Адказы разныя ў AutoGen і CrewAI, і гэта разліка паўтараецца ў всім іншым.

    AutoGen: усё — гэта беседа

    AutoGen адказоўкі Microsoft спрацоўвае кожную абмену паведамленнямі між агентамі як размову. Фундаментальны прынцып яго розрабоцы — агенты размовляюць адзін з аднім на прыроднай мове, так як люды робяць у чат-сесіях. Гэта робіць яго інтуўітывным: кожны, хто бачыў, як два колегі ў канале Slack адмаўляюцься і дапрацоўваюць ідэю, ужо мае уявленне пра прынцыпы працы агентаў, якія можуць весты размовы, у AutoGen.

    Прабаваць у AutoGen Studio

    Перш чым пачаць пісаць код на Python, AutoGen Studio прысвячае графічны спосаб для експерыментаў. Ён інсталюецца за дапамогою pip, чытае ключ API з зменнай сераўыска і запускаецца за дапамогою адной команды з лініі запуску. Пасля чаго ачынаецца інтэрфейс браузера. Там трэба запісаць задачу, і проксі-агент корыстувальця будзе вяршыць работу з аднім або калькамі асістантскіх агентаў, пакуль задача не будзе завершана.

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

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

    Адна рэкамендацыя падае пастаўна: запускайце AutoGen і AutoGen Studio ўнутры Docker калі ствароўваны код можа з’явіцца ў сувязі з аператывной сістэмай. Агенты прызначаны для пісання і выканання будзь-якога коду, таму кантэйнер заходзіць хоста ад парадуктных наследків. Шансы гэтай рады падвышаюцца, калі агентам даўаецца большая автаномія.

    Навыкі як дадатковыя здольнасці

    Студыя прыходзіць з толькі калькамі вбудованых інструментоў, такіх як запошчанне веб-контэнту чыстае стварэнне зяўроў. Ягоя справжняя сіла заклёвана ў спецыяльных навыках. Навык — гэта звычная функцыя Python з чыстым імёнам і добра напісаным докстрынгам, і фрэймворк чытае гэты дакумент, каб вырашыць, калі і як яе вызваць.

    У прыкладзе показана спэцыялізацыя describe_image, якая адправляе зображэнне да модэлю з здольнасцямі бачэння і атрымляе апісанне. Пры рэгістрацыі ў галоўным асістэнце гэта дазволяе ставіць досыць конкрэтныя запіты: стварыць обкладынку кнігі па заданай назве, а пасля выкарыстаць спэцыялізацыю image-description, каб пераканацца, што назва напісана правільна. Генераторы зображэння звычайна паслаба справляюцца з чытаемым тэкстам, таму гэта стварае ефектыўную цыклічную перацэнку. Асістэнт стварае зображэнне, спэцыялізацыя здольнасцяў бачэння пераканаецца ў правільнасці напісу, а калі ён некарэктны, асістэнт працуе зноў. Стварэнне маленькіх, добра задокументаваных інструментаў дае рэзультаты, якія ёсць дзівным чынам стойкія.

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

    Чысты код з pyautogen

    Пасля Studio наступны крок — пісваць код на Python з выкарыстоўваннем пакета pyautogen. Важлівыя два элементы:

    • ConversableAgent — універсальны агент, які безпосерэдна співае з LLM.
    • UserProxyAgent выступае ад імені чалавека-выкарыстоўчыка і можа выкананыць код у рабочай дырэктарыі.

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

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

    Дадзенне можлівасці крытыка праз вярстаўленыя чаты

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

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

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

    Кэшаванне для кантролю віткоў

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

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

    Групавы чат і проблема тэлефона

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

    Спосаб рашэння проблемы AutoGen — групавы чат. Об’ект GroupChat зберагае адзін спяльны запас агентаў і паведамленняў, падобны каналу каманды, замест адзінай серыі адносаў тыпу «точка-точка». GroupChatManager коордынуе параду выканання задач, каб агенты не адпавядалі ўсі разам. Ключовая асоблівасць — кожны член можа бачыць усю історыю размовы, а не толькі тое, што яму явна было перадана.

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

    Што навучаюць першыя прыклады

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

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

    CrewAI: структура замест адкупнага падходу

    Калі AutoGen спяржаецца з відкрытымі дыялогамі, CrewAI мае больш структураваны і чыста прагматычны падход, які явна нацэлёваны на бізнес- і вырабнічыя сцэны. У замест ад свабоднага дыялогу ён выкарыстоўвае тры чыста апісаныя элементы: агентаў з іх ролямі, цілямі і історыямі; задачы, якія ім паставляюцца; і групу, якая ўз’едынае іх пад адной чыста візначанай стратэгіі апрацоўкі.

    З чаго складаецца агент

    Агент CrewAI налаштовываецца за дапамою калькі параметраў:

    • role: короткая абляцыя для паведамлення функцыі агента, напрыклад Senior Joke Researcher.
    • goal: выказванне мовай прыроды пра тое, што агент прагне досягнуць, частаўка, якая можа быць перыяктаваная для падзеі з разнымі данымі.
    • backstory: наратыў, які стварае персанажа, і які задае кантэкст і асобістась, падобна да персанажа, заданага у сістэмным запытанні.
    • memory і verbose: флагі, якія кантролююць, чы робіць агент кантэкст усіх абранакоў і чы ён выводзіць свае меркаванні ў консоль.
    • allow_delegation: чы агент можа перадаць заведаменні іншым членам каманды.

    Заданні візначаюцца окалічна. Кожна з іх мае апісаннее працы, поле expected_output, якое апісвае, як выглядае успех для агента і для чытача, а таксама паказанне агента, які несе адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная адпаведная ад

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

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

    AgentOps: сочыць за тым, куды ідзе грошы

    Распрацоўшчыкі агентаў постаўляюцься да адной і той жа проблемы: скількі коштае ўработка гэтага агента і куды знікае час? Калі не стварыць няперывнага стазіроўкі, сістэмы з калькама агентаў можу прынесці неспадзявана высокія рахункі, адколькі кожны абмян, дэлегаванне задач і вызов інструменту адбіваецца і падыходзіць да сумы. AgentOps — гэта платформа для стазіроўкі паведання агентаў на адной базе LLM, на вядомаць ад традыцыйных інструментаў MLOps, якія не былі створаныя для автонамных, канверсацыйных агентаў.

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

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

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

    Команда па разработцы гэйму

    Для прымітнага паўтарэння з прыкладамі кодавання AutoGen, CrewAI выкарыстоўваецца для стварэння невялікай команды па разработцы гэйму з трох агентаў:

    1. Старшы інжынер прыкладнага програмнага забезпечэння пішае рэалізацыю на Python для таго гэйму, які быў запрасіў.
    2. Інжынер з контролю якосці програмнага забезпечэння пераглядае код на наявнасць дыфектаў — ад відсутнасці імпортаў і неравнаважаных складакоў да прычын безбеднасці і некорэктнай логікі.
    3. Главны інжынер з контролю якосці можа дэлегаваць задачы і ёсць апошнім адпаведальным за паўнэўнае падтверджэнне, што готавы код адпавядае первісным ваклікам.

    Задачы адпавядаюць такой структуры: адні выконваюць пачатковую рэалізацыю, другія пераглядаюцы іх на наявнасць дыфектаў, а трэція з’едынаюць яе з першай у фінальную, выправленую версію. Гэты трывухэтапны працэс перагляду — напісанне, крытыка і завершэнне — ўсё бол дэталізаваны адгук AutoGen-аўскага патэрану інжынера і крытыка, выражаны праз дэкларатыўнае раздзелэнне задач і агентаў у CrewAI.

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

    Парадный працэс у працы проты іерархічнага працэсу

    CrewAI працяўнае два спосабы арганізацыі выканання задач камандай, і правы выбар мае важлівэ значэнне.

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

    Іерархічная обработка ставіць керавальнік над камандай, зазвычай выкарыстоўваецца сэрвіс LLM, які служыць толькі для коордынацыі, і ён керуе агентамі і заданнямі, замест таго каб усе дзейналі адразу. Змена рэжыму адбываецца проста: трэба задаць Process.hierarchical замест Process.sequential і указаць параметр manager_llm, як правіло, інстанцыю ChatOpenAI з тэмпературой нуль, што дапамагае прымець болей стабільныя рашэнні.

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

    Зупінка неконтрольваных агентаў

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

    У AgentOps ёсць візуалізацыя Repeat Thoughts, якая самэй для гэтага: яна паказывае, як часта агент вяртаецца да падобных контэнтаў пад час выканання задання. Частая паўтарэнне ўскладнень ўказвае на тое, што трэба змяніць якісь структурны элементы. Можа, апісанні заданняў занадта неясныя, можа, для такой складнасці проблемы задэйствавана занадта большая колькасць агентаў, а можа, спосаб апрацоўкі даных патрэбуе перагляду. Такія дыягнастыкі разлічаюць віпадковыя експерыменты ад адлеглага, професыянальнага працавання. Лепшая бачыць, калі ўсё йдзе не так, чым чакаць на надзвычайна вялікі рахунок.

    Стылі камунікацыі паўшчына-паўшчына

    Заданне, якое было падзеўленне на пачатку — як агенты перадаюць інфармацыю — цяпер мае конкрэтныя адпаведзі. AutoGen праследжвае два мадэлі. Вярстаныя чаты перадаюць матэрыял праз дадзеннія па боку, што дапамагае падтрымваць апорадак у галоўнай супылцы, але стварае рызык втраты дзеякіх дэталяў на кожным кроцы. Групавы чат дае всім полныя хроніку дзеяння, што павышае цэлесообразнасць, але зарады гэтага трэба больш токенав. CrewAI ухіляецца ад такога выбору, чынячы перадачу інформацыі явной: кожны заданне называе свога агента і апэктыўны выхід, а настройкі процэсу вялікія, чы рэзультаты будуць перадаваны далей у лініі чы праз менеджэра. Адна падходка спрыяе самастановяючайся саўмешчанню, а другая — працэсу, які можна загадзя прачытаць.

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

    Выбір між двума

    Ніяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя

  • Внутршній памяць, кэшаванне і обмежэнне частоты запытоў ўжоць цяпер прывілейаваныя працоўнікі па супэрнатыральным версіям;
  • Важліва высокая ступень стабільнасі, вядома пра тое, насколькі без працы выглядае інтэграцыя з AgentOps.
  • У практыцы багатыя рэальныя праекты выкарыстоўваюць аба падходы: яснасць CrewAI для частак паляны, якія ўжо добра разумелы, і гнучкасць AutoGen для болей складных, дакладных частак.

    Спадневаная літэратура