CrewAI: English Vocabulary for Multi-Agent AI Systems (англійською)
Освоєння англійської лексики для CrewAI: агенти, завдання, команди, послідовні і ієрархічні процеси, типи пам’ яті і зворотні виклики у багатоагентних системах ШІ.
CrewAI — це фреймворк Python для створення систем, в яких декілька агентів штучного інтелекту співпрацюють для виконання складних завдань — кожен агент грає спеціалізовану роль, подібно до членів людської команди. Оскільки багатоагентні архітектури стають більш поширеними в системах виробничого ШІ, здатність описувати, проектувати і зневаджувати їх вільною англійською мовою стає все більш цінною. Цей посібник містить основні слова, які вам слід знати про CrewAI, щоб читати документацію, брати участь у прийнятті рішень щодо архітектури і вести точні розмови з колегами, які створюють агентні системи.
Ключовий словник
** Агент ** — Автономний підрозділ у CrewAI, якому присвоєно певну роль, мету і історію. Агент використовує мовну модель для обґрунтування, вибору інструментів для збору інформації і виробляє вивід, який вводиться в більш широкий робочий процес. Агентів розроблено для того, щоб бути спеціалістами — один екіпаж може включати «Дослідницького агента», «Агента аналізу даних» і «Агента з написання звітів» “Ми визначили спеціального агента з питань відповідності з доступом до інструменту регуляторної бази даних, замість того, щоб надавати кожному агенту доступ до неї.”
** Задача ** — Дискретна одиниця роботи, що призначена для певного агента або делегованої менеджером команди. У кожній задачі міститься опис (що слід зробити), очікуваний вивід (яким має бути результат), а також, за бажанням, набір інструментів і контекст з попередніх завдань. Завдання є будівельними блоками робочого процесу команди. “Задача підсумування отримує вивід дослідницького завдання як контекст, отже агенту не потрібно повторювати крок збирання інформації.”
Crew — об’ єкт верхнього рівня у CrewAI, який групує агентів і завдання разом і керує їх виконанням. Команда визначає, який процес використовувати (послідовний або ієрархічний), які агенти беруть участь, і в якому порядку виконуються завдання. Коли ви викликаєте crew.kickoff(), команда бере на себе управління і керує всім робочим потоком.
“Ми створили окрему команду для кожного типу звіту, щоб налаштування агентів і інструменти залишалися фокусованими і простими в обслуговуванні.”
** Послідовний процес ** — режим виконання, у якому завдання виконуються одне за одним у визначеному порядку. Вивід кожного завдання передається як контекст до наступного завдання. Це найпростіший тип процесу, який підходить для виконання завдань з чіткими залежностями, які слід виконати у певному порядку.
- “Ми використовуємо послідовний процес, оскільки завдання аналізу може розпочатися лише після завершення завдання зі збору даних.” *
** Ієрархічний процес ** — режим виконання, у якому * агент- керівник * координує інші агенти і вирішує, які завдання делегувати і в якому порядку. Менеджер може перепризначати завдання, просить агентів переробити роботу або синтезувати вивід з декількох агентів. Цей режим є потужнішим, але також складнішим для зневадження.
- “Після переходу на ієрархічний процес агент менеджера почав перехоплювати проблеми з якістю у проміжних виводах і автоматично надсилати запити на перегляди.” *
** Менеджер- агент ** — спеціальний агент у ієрархічній команді, який виконує роль оркестранта. Він не обов’язково виконує доменні завдання сам - його роль полягає в розкладанні цілей, призначення завдань найвідповіднішим спеціалістам-агентам і оцінці того, чи відповідають їхні виходи необхідним стандартам.
- “Ми надали менеджеру агента строгу категорію якості у його історії, щоб він знав, коли приймати вивід і коли повертати його на перегляд.” *
** Пам’ ять ** — агенти CrewAI можуть бути оснащені різними типами пам’ яті, щоб поліпшити послідовність у довгих потоках робіт. * Короткочасна пам’ ять * зберігає інформацію у межах одного запуску команди. * Тривала пам’ ять * зберігає інформацію у багатьох запусках, зберігаючи її у локальній базі даних. * Пам’ ять об’ єктів * стежить за конкретними об’ єктами з іменами (людьми, організаціями, концепціями), які згадуються під час потоку робіт.
- “Включення долгосрочной памяти позволило агенту-исследователю вспомнить результаты прошлогодней работы и избежать дублирования работы.” *
** Kickoff ** — Виклик методу, який починає виконання команди. Коли ви викликаєте crew.kickoff(), CrewAI починає обробку завдань відповідно до визначеного процесу. Ви також можете викликати crew.kickoff_for_each(), щоб запустити ту ж команду проти списку вхідних даних паралельно або послідовно.
- “Ми обгорнули виклик kickoff у блок try- except, щоб помилка в одному запуску конвеєра не перешкоджала обробці решти елементів пакету.” *
** Зворотне викликання ** — функція, яку ви зареєстрували у завданні або агенті, і яку буде викликано у певні моменти виконання, наприклад, після завершення виконання завдання, виконання агентом певного кроку або виклику інструменту. Зворотні виклики використовуються для ведення журналу, моніторингу і введення нетипової поведінки без зміни логіки агента.
- “Ми додали зворотний виклик завдання для передачі проміжного виводу кожного агента до нашої служби журналювання, щоб команда могла перевіряти ланцюжок обґрунтування в реальному часі.” *
Корисні фрази
Інженери, які створюють системи CrewAI в англомовних командах, використовують мову, схожу на цю, у дискусіях щодо дизайну, перегляду коду і ретроспективах:
- «Давайте ** делегувати ** веб-пошук до спеціального агента, а не давати кожному агенту інструмент браузера — це чистіше і легше обмежити швидкість»
- «Екіпаж галюцинує структуру виводу — нам потрібно більш суворе очікуване визначення виводу на цьому завданні, щоб обмежити формат»
- “Я б хотів додати парсер виводу до цього завдання, щоб ми могли перевірити схему JSON перед тим, як вона буде передана вниз.”
- “Ми повинні перейти до ієрархічного процесу тут — послідовний процес не може обробляти випадки, коли одна підзадача виявляється непотрібною.”
- “Агент циклує — він продовжує викликати той же інструмент знову і знову. Давайте закрити
max_iterі додати резервну інструкцію до опису завдання» - “Чи можете ви перевірити пам’ять ** сущості ** для цього запуску? Я думаю, що агент втратив слід від назви компанії на півдорозі через робочий процес»
Поширені помилки
Просто сказал “ИИ” вместо того, чтобы назвать агента
Нерідні носії часто називають всіх агентів загально як «ШІ» в розмовах і письмових резюме — наприклад, «ШІ пошукав у мережі, а потім ШІ написав звіт». Завжди називайте конкретного агента: « Агент пошуку виконував пошук у мережі, а потім Агент- автор створив проект звіту ». Ця звичка також значно полегшує зневадження, оскільки повідомлення журналу і зворотні виклики пов’ язано з конкретними назвами агентів.
Плутанина “задача” і “інструмент”
У CrewAI, * task * це мета, яка призначена для агента, в той час як * tool * це можливість, яку агент може викликати (наприклад, веб-пошук, читання файлів або запит на базу даних). Люди, які не є носієм мови, іноді кажуть « Я дам агенту завдання підсумування », коли вони мають на увазі « Я дам агенту інструмент підсумування ». Важливо відрізняти ці дві категорії: завдання визначаються на рівні команди і представляють роботу, яку слід виконати; інструменти визначаються на рівні агента і представляють засоби для збору інформації або виконання дій.
Неправильно використовується “послідовний” для позначення “повільний”
Інженери іноді використовують «послідовний» як синонім «неефективний», коли стверджують про паралелізм. У CrewAI, «послідовний процес» є точним архітектурним терміном — це означає, що завдання залежать один від одного і повинні виконуватися в порядку. Протилежним до цього є не « швидкий » або « паралельний », а « ієрархічний ». Коли ви рекомендуєте змінити дизайн, скажіть « нам слід розглянути ієрархічний процес, щоб агент керування міг виконувати незалежні завдання одночасно », а не « нам слід зробити його менш послідовним »
Словниковий запас CrewAI тісно пов’язаний з концепціями управління командою людини - ролі, делегування, пам’ять і петлі зворотнього зв’язку - що може зробити його на диво інтуїтивним, як тільки ви знаєте терміни. Чим краще ви зможете описати ролі агентів, типи процесів і залежності завдань англійською мовою, тим ефективніше ви зможете робити внесок у перегляди проекту, писати чітку документацію і співпрацювати з зростаючою спільнотою інженерів, які створюють багатоагентні системи ШІ.