Прочтите эту статью, чтобы понять платформу с открытым исходным кодом CrewAI для создания мультиагентов.
Прочтите эту статью, чтобы понять платформу с открытым исходным кодом CrewAI для создания мультиагентов.

Привет, ребята, я Луга. Сегодня мы продолжим говорить о технологиях, связанных с экологической областью искусственного интеллекта (ИИ) — AI Agents. В этой статье мы продолжим анализировать технологию новых AI Agents CrewAI с открытым исходным кодом, чтобы каждый может понять основы концепции CrewAI, ее применение и развитие рынка на основе CrewAI.

LLM (большая языковая модель) проникла во все аспекты нашей жизни, играя важную роль от ежедневного общения до анализа документов. По мере того, как увлечение LLM распространяется по всему миру, разработчики начали концентрироваться на человеческом рассуждении и решении проблем, создавая более целенаправленные и целенаправленные приложения LLL (Language and Logic Learning), чтобы справиться с различными сложными проблемами.

Эти инновационные приложения LLL предоставляют нам более эффективные и интеллектуальные решения за счет оптимизации, расширения и улучшения возможностей LLM. Будь то в бизнесе, науке или обществе, эти приложения становятся мощными инструментами для понимания и реагирования на сложные проблемы, а также открывают совершенно новые возможности.

01

Где выход для традиционных ИИ-агентов?

По мере развития технологий агенты ИИ меняют правила игры, быстро становясь партнерами в решении проблем, творчестве и инновациях, и именно это делает CrewAI уникальным.

Вы можете себе это представить? Всего за несколько минут идея может быть преобразована в полноценный лендинг, именно этого мы и добились вместе с CrewAI.

Недавний пример показывает, как CrewAI работает с LangChain и OpenHermes2.5 (на базе Ollama) для преобразования простой строки текста в полноценную целевую страницу. Этот случай раскрывает огромный неиспользованный потенциал в сотрудничестве ИИ-агентов и возможность быстрее продвигать на рынок идеи тестирования, и это всего лишь один из вариантов использования CrewAI кода в Replit.

Ниже приведен демонстрационный пример интеграции Ollama с CrewAI:

Язык кода:javascript
копировать
from langchain.llms import Ollama
ollama_openhermes = Ollama(model="agent")
# Pass Ollama Model to Agents: When creating your agents within the CrewAI framework, you can pass the Ollama model as an argument to the Agent constructor. For instance:

local_expert = Agent(
  role='Local Expert at this city',
  goal='Provide the BEST insights about the selected city',
  backstory="""A knowledgeable local guide with extensive information
  about the city, it's attractions and customs""",
  tools=[
    SearchTools.search_internet,
    BrowserTools.scrape_and_summarize_website,
  ],
  llm=ollama_openhermes, # Ollama model passed here
  verbose=True
)

Создайте экземпляр модели Олламы

Видение CrewAI ясно: дать инженерам возможность выйти за рамки традиционных подходов к автоматизации с помощью коллективной силы агентов ИИ. CrewAI объединяет агентов, чтобы упростить процесс принятия решений, повысить творческий потенциал и взять на себя задачу решения сложных задач.

Этот новый способ сотрудничества не только предоставляет эффективные инструменты и техническую поддержку, но также поощряет инновации и эксперименты. Появление CrewAI дает инженерам новую возможность быстрее продвигать идеи и оставаться впереди конкурентов на высококонкурентном рынке.

02

Что такое библиотека CrewAI?

Разработано OpenAI и выпущено в августе 2023 года. CrewAI предоставляет общий набор инструментов и библиотек, которые можно использовать для решения общих задач в многоагентных системах, таких как взаимодействие агентов, координация и принятие решений. Потенциальные приложения для CrewAI включают совместную работу роботов, автономное вождение, виртуальную реальность и дополненную реальность.

В качестве библиотеки, предназначенной для создания и управления группами агентов ИИ. Модель CrewAI основана на философии простоты и модульной стратегии, что позволяет легко интегрировать CrewAI в наши проекты. Мы можем думать об этом так: думайте о CrewAI как о наборе строительных блоков, каждый из которых уникален, но все они созданы так, чтобы легко сочетаться друг с другом.

С точки зрения технической реализации CrewAI построен на LangChain, что делает его совместимым с множеством различных существующих инструментов, включая собственные модели с открытым исходным кодом на таких платформах, как Ollama.

С помощью CrewAI мы можем легко создать мощную группу ИИ-агентов для решения различных сложных задач и задач. Будь то обработка естественного языка, ответы на вопросы или интеллектуальное принятие решений, CrewAI предлагает богатую функциональность и гибкость. У нас есть свобода выбирать и комбинировать различные модули в соответствии с конкретными потребностями, чтобы создать уникальную систему, соответствующую нашим желаемым целям.

Благодаря модульной конструкции CrewAI мы можем легко интегрировать с ним существующие инструменты и технологии для достижения более эффективной разработки и развертывания. Благодаря простому и удобному в использовании интерфейсу и удобной для разработчиков документации мы можем быстро приступить к работе и быстро реализовать наши идеи.

Мало того, CrewAI также является постоянно развивающейся и обновляемой библиотекой, активно принимающей и интегрирующей последние результаты исследований и технологические достижения. Это означает, что мы всегда можем быть в курсе передовых возможностей искусственного интеллекта и лучших практик.

03

Принципы проектирования и реализации архитектуры CrewAI‍‍‍

Подобно философии дизайна LangChain, философия дизайна CrewAI заключается в том, чтобы дать инженерам возможность создавать сложные приложения искусственного интеллекта простым способом. При модульном подходе функциональность разделяется на независимые строительные блоки, каждый из которых имеет определенные функции и задачи. Такое модульное проектное мышление позволяет инженерам свободно выбирать, комбинировать и настраивать эти строительные блоки по мере необходимости для быстрого создания системы, отвечающей их потребностям.

Вообще говоря, основные компоненты CrewAI в основном включают в себя следующее:

1. Агент

Агенты, как правило, наши верные и заслуживающие доверия товарищи, каждый из которых обладает своей уникальной личностью, предысторией и навыками. Они готовы координироваться в любой момент, будь то реализация конкретного функционального сценария, решение сложной задачи или исследование неизведанного мира.

2. Задача - Задача‍

Задачи CrewAI предназначены для решения конкретной проблемы или достижения конкретной цели. Каждая задача имеет четкие цели и требования и разбита на небольшие целенаправленные подзадачи. Такая сегментация задач позволяет агенту сосредоточиться на большем количестве задач и выполнять их более эффективно.

Каждая миссия CrewAI имеет уникальные характеристики и требования, и агенту необходимо выбирать подходящие методы и стратегии в зависимости от характера и целей миссии. Это делает выполнение задач более гибким и адаптивным, а Агент может принимать соответствующие решения и корректировки исходя из конкретных ситуаций.

3. Инструменты – Инструменты

В CrewAI агенты используются как инструменты для эффективного выполнения задач. Мы можем использовать различные существующие инструменты LangChain или быстро разработать свои собственные. В то же время CrewAI также призывает нас быстро писать собственные инструменты, исходя из потребностей конкретных задач. Такая гибкость позволяет нам адаптировать инструменты агента к нашим потребностям, исходя из требований конкретных ситуаций и задач.

Используя комбинацию существующих и пользовательских инструментов в LangChain, мы можем максимально раскрыть потенциал наших агентов и повысить эффективность и качество выполнения задач.

4. Процесс – процесс

Процесс настраивается в зависимости от характера и сложности задачи. Разные задачи могут требовать разных процессов для достижения оптимальных результатов. Процесс может включать в себя декомпозицию задач, распределение ресурсов, коммуникацию и координацию и т. д. с целью максимизировать эффективность работы команды и качество выполнения задач.

Дизайн процесса также можно постоянно оптимизировать и совершенствовать на основе опыта и практики. Благодаря непрерывной итерации и оптимизации процессов команды могут повысить эффективность работы, уменьшить количество ошибок и рисков, а также обеспечить более эффективное командное сотрудничество и достижение результатов.

5. Экипаж – Исполнитель

Команда в CrewAI — это уровень контейнера, который объединяет агентов, задачи и процессы и является фактическим местом выполнения задач. В качестве среды для совместной работы Crew предоставляет агентам платформу для общения, совместной работы и выполнения задач в соответствии с предписанными процессами. Crew создан для того, чтобы дать возможность агентам лучше сотрудничать и эффективно выполнять задачи.

С точки зрения архитектурного проектирования, после улучшения с помощью ReActSingleInputOutputParser каждый агент CrewAI по сути является агентом LangChain. Анализатор был специально модифицирован для лучшей поддержки функций, включает связанные стоп-слова для контекстной фокусировки и интегрирует механизм памяти (с использованием ConversationSummaryMemory от LangChain) для непрерывности задач.

Тот факт, что агент построен на LangChain, создает эффект маховика, основной из которых заключается в том, что у нас есть немедленный доступ ко всем инструментам и наборам инструментов LangChain, что делает CrewAI высокомасштабируемым и гибким и может использоваться в различных задачах.

В текущей итерации агент работает автономно, используя внутренний диалог для определения использования инструмента. Это позволяет ему адаптироваться к меняющимся требованиям окружающей среды и задач. Однако в будущих версиях CrewAI планируется ввести другие типы процессов. Это позволит агентам работать вместе в более сложных сценариях, например, в командных задачах или там, где для решения одной проблемы требуется несколько агентов.

В последней версии платформы CrewAI каждая задача явно назначается назначенному агенту для выполнения при ее создании. Это помогает более четко определить тип и количество задач, за которые в данный момент отвечает каждый агент, а также ход выполнения задачи.

В то же время система также может ограничивать объем инструментов, используемых каждой задачей, например, разрешать вызовы только определенных библиотек алгоритмов и т. д. Это позволяет эффективно избегать сбоев задач из-за ограничений инструментов и не позволять одному агенту занимать определенные ресурсы. в течение длительного времени и блокируя другую работу.

Crew выступает в качестве фреймворка, инкапсулирующего агентов и задачи, облегчая их последовательное выполнение работы, упрощая управление зависимостями между агентами и гарантируя, что задачи выполняются в правильном порядке. В деловой практике мы можем счесть более эффективным развертывание нескольких независимых команд, каждая из которых имеет несколько агентов. Этот модульный подход позволяет каждому работнику получать разные результаты вместо того, чтобы один крупный работник обрабатывал множество задач, а агенты обрабатывали один результат.

04

Сравнительный анализ агентов CrewAI, Autogen и ChatDev‍‍‍‍‍‍

Autogen преуспевает в создании диалоговых агентов, которые работают вместе, но его недостатком является отсутствие собственных концепций процессов. Это значит, что в Autogen оркестровка взаимодействия агентов требует дополнительного программирования. По мере увеличения размера задачи это может стать сложным и обременительным.

По сравнению с CrewAI, в частности, Autogen имеет недостатки в следующих аспектах:

1. Отсутствие концепции процесса. Это означает, что агенты Autogen могут взаимодействовать только так, как они запрограммированы. Если вам нужно, чтобы агент взаимодействовал по-другому, потребуется дополнительное программирование.

2. Сложное программирование. Программирование взаимодействия агентов Autogen может быть очень сложным, особенно для сложных задач и логики.

3. Плохая масштабируемость. Метод программирования агента Autogen не способствует масштабируемости. По мере увеличения размера задачи взаимодействие программного агента становится более сложным.

ChatDev привносит концепцию процесса в мир агентов ИИ, но ее реализация довольно жесткая. Настройка в ChatDev ограничена и не подходит для производственных сред. Это означает, что ChatDev может с трудом удовлетворить потребности сложных приложений и может привести к проблемам с масштабируемостью и гибкостью.

Аналогично, по сравнению с CrewAI, недостатки ChatDev в основном заключаются в следующих аспектах, а именно:

1. Ограниченная настройка: настройка ChatDev ограничена. Это означает, что ChatDev может с трудом удовлетворить потребности сложных приложений.

2. Не подходит для производственной среды: ChatDev не подходит для производственной среды. Это означает, что ChatDev может с трудом соответствовать требованиям реальных приложений.

3. Плохая масштабируемость. Реализация ChatDev не способствует масштабируемости. По мере роста размера задачи ChatDev может с трудом справляться с требованиями приложения.

В целом, по сравнению с Autogen и ChatDev, инструментами для создания диалоговых агентов, CrewAI создан с учетом производственного процесса, предлагая гибкость диалоговых агентов Autogen и структурированный процессный подход ChatDev без ущерба для гибкости.

Основанный на концепции динамического проектирования процессов, CrewAI легко адаптируется и может быть легко интегрирован в рабочие процессы разработки и производства, так что рабочий процесс можно корректировать и оптимизировать в соответствии с потребностями и адаптировать к различным сценариям работы и потребностям бизнеса.

В будущем CrewAI продолжит расширять свои возможности рабочего процесса и поддерживать определение процессов, охватывающее больше областей. В то же время платформа CrewAI позволит еще больше оптимизировать систему взаимодействия между различными помощниками и повысить эффективность и качество работы.

В то же время CrewAI продолжает совершенствоваться с точки зрения пользовательского опыта и возможностей настройки. Основанный на простом и интуитивно понятном интегрированном интерфейсе, он может эффективно помочь предприятиям быстро определять и выполнять индивидуальные рабочие процессы. Пользователи могут безопасно и эффективно использовать команду помощников по искусственному интеллекту, не обращая внимания на основные технические детали.

Поэтому в каком-то смысле CrewAI — это не только эффективный инструмент для решения проблемы сотрудничества в области искусственного интеллекта, но и меняет отношения между людьми и ИИ. Он максимально расширяет возможности ИИ-помощников и способствует широкому применению ИИ в различных отраслях. По мере развития технологии CrewAI ИИ станет важной силой в совместной работе предприятий.

Reference :

[1] https://github.com/joaomdmoura/crewai

Adiós !

boy illustration
Разрешение циклических зависимостей Spring Bean: существует ли неразрешимая циклическая ссылка?
boy illustration
Разница между промежуточным программным обеспечением ASP.NET Core и фильтрами
boy illustration
[Серия Foolish Old Man] Ноябрь 2023 г. Специальная тема Winform Control Элемент управления DataGridView Подробное объяснение
boy illustration
.NET Как загрузить файлы через HttpWebRequest
boy illustration
[Веселый проект Docker] Обновленная версия 2023 года! Создайте эксклюзивный инструмент управления паролями за 10 минут — Vaultwarden
boy illustration
Высокопроизводительная библиотека бревен Golang zap + компонент для резки бревен лесоруба подробное объяснение
boy illustration
Концепция и использование Springboot ConstraintValidator
boy illustration
Новые функции Go 1.23: точная настройка основных библиотек, таких как срезы и синхронизация, значительно улучшающая процесс разработки.
boy illustration
[Весна] Введение и базовое использование AOP в Spring, SpringBoot использует AOP.
boy illustration
Чтобы начать работу с рабочим процессом Flowable, этой статьи достаточно.
boy illustration
Байтовое интервью: как решить проблему с задержкой сообщений MQ?
boy illustration
ASP.NET Core использует функциональные переключатели для управления реализацией доступа по маршрутизации.
boy illustration
[Проблема] Решение Невозможно подключиться к Redis; вложенное исключение — io.lettuce.core.RedisConnectionException.
boy illustration
От теории к практике: проектирование чистой архитектуры в проектах Go
boy illustration
Решение проблемы искажения китайских символов при чтении файлов Net Core.
boy illustration
Реализация легких независимых конвейеров с использованием Brighter
boy illustration
Как удалить и вернуть указанную пару ключ-значение из ассоциативного массива в PHP
boy illustration
Feiniu fnos использует Docker для развертывания учебного пособия по AList
boy illustration
Принципы и практика использования многопоточности в различных версиях .NET.
boy illustration
Как использовать PaddleOCRSharp в рамках .NET
boy illustration
CRUD используется уже два или три года. Как читать исходный код Spring?
boy illustration
Устраните проблему совместимости между версией Spring Boot и Gradle Java: возникла проблема при настройке корневого проекта «demo1» > Не удалось.
boy illustration
Научите вас шаг за шагом, как настроить Nginx.
boy illustration
Это руководство — все, что вам нужно для руководства по автономному развертыванию сервера для проектов Python уровня няни (рекомендуемый сборник).
boy illustration
Не удалось запустить docker.service — Подробное объяснение идеального решения ️
boy illustration
Настройка файлового сервера Samba в системе Linux Centos. Анализ NetBIOS (супер подробно)
boy illustration
Как настроить метод ssh в Git, как получить и отправить код через метод ssh
boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023