<НА ГЛАВНУЮ

Создание интеллектуального многоагентного рабочего процесса с Python, OpenAI и PrimisAI Nexus

Узнайте, как создать продвинутую многоагентную систему автоматизации задач с Python, OpenAI API и PrimisAI Nexus для координации агентов по кодированию, анализу и планированию проектов.

Обзор архитектуры многоагентной системы

В этом руководстве показано, как создать систему автоматизации задач с несколькими агентами, используя фреймворк PrimisAI Nexus, интегрированный с OpenAI API. Система использует иерархический контроль, интеллектуальное использование инструментов и структурированные выходные данные, чтобы несколько ИИ-агентов могли совместно выполнять сложные задачи — от планирования и разработки до контроля качества и анализа данных.

Установка окружения и зависимостей

Сначала устанавливаем необходимые пакеты: PrimisAI для координации агентов, OpenAI для доступа к языковым моделям и nest_asyncio для управления асинхронным выполнением в ноутбуках:

!pip install primisai openai nest-asyncio
 
import os
import nest_asyncio
from primisai.nexus.core import AI, Agent, Supervisor
from primisai.nexus.utils.debugger import Debugger
import json
 
nest_asyncio.apply()

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

Конфигурация моделей OpenAI

Система использует модели GPT от OpenAI с гибкой конфигурацией, позволяющей переключаться между моделями, например, 'gpt-3.5-turbo' или 'gpt-4o-mini', в зависимости от сложности задач и бюджета. Ключи API хранятся в переменных окружения.

os.environ["OPENAI_API_KEY"] = "Введите свой API ключ"
 
llm_config = {
   "api_key": os.environ["OPENAI_API_KEY"],
   "model": "gpt-3.5-turbo",
   "base_url": "https://api.openai.com/v1",
   "temperature": 0.7
}

Определение структурированных схем вывода

Для различных типов агентов — CodeWriter, DataAnalyst, ProjectPlanner — определены JSON-схемы, обеспечивающие структурированный и предсказуемый вывод. Это повышает стабильность и согласованность ответов агентов.

Интеграция пользовательских инструментов

Для расширения возможностей агентов реализованы утилиты:

  • calculate_metrics: вычисляет статистические показатели для числовых данных.
  • validate_code: проверяет синтаксис и безопасность Python-кода.
  • search_documentation: имитирует поиск по программной документации.

Эти инструменты позволяют агентам выполнять автономное рассуждение и проверку результатов.

Создание многоуровневой иерархии агентов

Создается иерархия с главным супервизором ProjectManager, который контролирует помощников для разработки, анализа и QA. Такая модульная структура обеспечивает четкое распределение задач и эффективное управление:

main_supervisor = Supervisor(name="ProjectManager", llm_config=llm_config, system_message="Вы старший менеджер проекта, координирующий задачи разработки и анализа...")
 
dev_supervisor = Supervisor(name="DevManager", llm_config=llm_config, is_assistant=True, system_message="Вы управляете задачами разработки...")
 
analysis_supervisor = Supervisor(name="AnalysisManager", llm_config=llm_config, is_assistant=True, system_message="Вы управляете задачами анализа данных и исследований...")
 
qa_supervisor = Supervisor(name="QAManager", llm_config=llm_config, is_assistant=True, system_message="Вы управляете контролем качества и тестированием...")

Специализированные агенты с определенными ролями

Определены агенты с конкретными функциями и инструментами:

  • CodeWriter: генерирует Python-код с проверкой и поиском документации.
  • CodeReviewer: анализирует код на качество, безопасность и эффективность.
  • DataAnalyst: выполняет статистический анализ с оценкой уверенности и рекомендациями.
  • ProjectPlanner: разбивает проекты на задачи с приоритетами и зависимостями.
  • QATester: проводит тестирование и проверку кода.

Каждый агент зарегистрирован у соответствующего супервизора, формируя единую экосистему.

Тестирование и демонстрация

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

Симуляция рабочего процесса

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

Мониторинг системы

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

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

🇬🇧

Switch Language

Read this article in English

Switch to English