Внедрение многоагентного рабочего процесса с использованием Python, OpenAI API и PrimisAI Nexus
В данной статье мы рассмотрим практическое применение многоагентной системы автоматизации задач с использованием фреймворка PrimisAI Nexus, который полностью интегрирован с OpenAI API. Наша цель — продемонстрировать, как иерархический контроль, интеллектуальное использование инструментов и структурированные выходные данные могут помочь координировать работу нескольких ИИ-агентов для выполнения сложных задач, таких как планирование, разработка, обеспечение качества и анализ данных.
Настройка окружения
Первым шагом в нашем проекте будет установка необходимых зависимостей. Мы будем использовать PrimisAI для оркестрации агентов, OpenAI для доступа к языковой модели, а также библиотеку nest_asyncio для работы с асинхронными задачами в Python. Для начала установите библиотеки с помощью следующей команды:
!pip install primisai openai nest-asyncio
После этого настроим окружение для работы с вашим ключом API OpenAI:
import os
import nest_asyncio
from primisai.nexus.core import AI, Agent, Supervisor
import json
nest_asyncio.apply()
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
}
Определение схем агентов
На следующем этапе мы создадим JSON-схемы для трех типов агентов: CodeWriter, Data Analyst и Project Planner. Эти схемы обеспечивают структурированность ответов агентов, гарантируя их последовательность и предсказуемость.
code_schema = {
"type": "object",
"properties": {
"description": {"type": "string", "description": "Объяснение кода"},
"code": {"type": "string", "description": "Реализация на Python"},
"language": {"type": "string", "description": "Язык программирования"},
"complexity": {"type": "string", "enum": ["начальный", "средний", "продвинутый"]},
"test_cases": {"type": "array", "items": {"type": "string"}, "description": "Примеры использования"}
},
"required": ["description", "code", "language"]
}
Настройка иерархии агентов
Чтобы смоделировать реальную управленческую структуру, мы создадим многоуровневую иерархию. Главный менеджер проекта будет надзирать за тремя помощниками: DevManager, AnalysisManager и QAManager, каждый из которых отвечает за специфические области.
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 для выполнения структурированного анализа данных. Каждый агент будет иметь соответствующие инструменты и инструкции:
code_agent = Agent(
name="CodeWriter",
llm_config=llm_config,
system_message="Вы эксперт по разработке на Python."
)
review_agent = Agent(
name="CodeReviewer",
llm_config=llm_config,
system_message="Вы старший рецензент кода."
)
analyst_agent = Agent(
name="DataAnalyst",
llm_config=llm_config,
system_message="Вы ученый в области данных, специализирующийся на статистическом анализе."
)
planner_agent = Agent(
name="ProjectPlanner",
llm_config=llm_config,
system_message="Вы специалист по планированию проектов."
)
tester_agent = Agent(
name="QATester",
llm_config=llm_config,
system_message="Вы специалист по обеспечению качества, сосредоточенный на комплексных стратегиях тестирования."
)
Тестирование коммуникации между агентами
Мы визуализируем всю иерархию и подтверждаем структуру, чтобы убедиться, что инструкции могут передаваться от главного агента к любому специализированному агенту в сети:
print("\n Иерархия агентов:")
main_supervisor.display_agent_graph()
Выполнение сложных задач
Теперь мы дадим всей системе реальную задачу: создать функцию бинарного поиска, проанализировать её, протестировать и спланировать интеграцию в более крупный проект. Главный менеджер проекта будет бесшовно координировать действия агентов на этапе разработки, обеспечения качества и планирования:
complex_task = "Создайте функцию на Python, реализующую алгоритм бинарного поиска."
complex_response = main_supervisor.chat(complex_task)
Заключение
В заключение, мы успешно построили полностью автоматизированную, совместимую с OpenAI многоагентную систему с использованием PrimisAI Nexus. Каждый агент работает с ясностью, точностью и автономией, будь то написание кода, валидация логики, анализ данных или разбор сложных рабочих процессов. Наша иерархическая структура позволяет эффективно делегировать задачи и обеспечивает модульность и масштабируемость. PrimisAI Nexus является надежной основой для автоматизации реальных задач через интеллектуальное сотрудничество специализированных агентов.
Для получения дополнительной информации и ресурсов, пожалуйста, обратитесь к официальной документации PrimisAI и OpenAI.