Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

Создание многоагентной системы на Python

Введение в многоагентные системы

Делиться

6c9f73988949fead291b2f4c720ab1f5
Изображение Мохамена Нохасси через Unsplash

Искусственный интеллект — это тема для обсуждения. Мы видим его повсюду, даже в самых простых задачах на наших телефонах. Он удобен, быстр и достаточно надежен, помогая нам ориентироваться в повседневной жизни. Если вам нужно простое объяснение научной концепции, вы обращаетесь в ChatGPT. Вам нужен гид по диете для вашего привередливого малыша, вы обращаетесь к ИИ. Даже задачу планирования всего вашего путешествия можно делегировать ИИ. И именно это мы и собираемся сделать в этом уроке (следите за обновлениями!).

Мы знаем об агентах ИИ, но что, если мы сможем создавать и использовать разных агентов ИИ для разных ролей в более крупном проекте? Именно здесь вступает в игру концепция многоагентной системы. По мере развития приложений ИИ мы переходим от отдельных моделей ИИ, отвечающих на простые вопросы и выполняющих прямолинейные задачи, к системам, где несколько агентов ИИ работают вместе для решения сложных проблем. Многоагентная система (МАС) — это концепция, в которой несколько агентов ИИ сотрудничают друг с другом для достижения более масштабной цели. Каждый из них играет определенную роль, ведущую к конечной цели, и они достигают ее посредством взаимного сотрудничества.

Многоагентная система планирования поездок

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

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

cb68531a322ff34fc2df4c4e07380d79
Агенты искусственного интеллекта в нашем проекте (Изображение предоставлено автором)
  1. Туристический агент: Этот агент будет выполнять исследовательские задачи. Он изучит место назначения, куда хочет поехать клиент, и найдет достопримечательности, скрытые места, местные особенности, советы для путешественников и т. д. Он соберет основную информацию, необходимую для планирования поездки.
  2. Агент по планированию мероприятий: Этот агент будет планировать мероприятия на основе исследований, проведенных Агентом по исследованиям. Именно он будет решать, какие места посетить, когда посетить, какие мероприятия провести и как организовать всю поездку!
  3. Агент по планированию бюджета: Этот агент отвечает за правильное составление бюджета. Он анализирует план, предоставленный агентом по планированию мероприятий, и сообщает ожидаемые расходы, доступные варианты, советы по экономии средств, а также помогает адаптировать поездку к бюджету клиента.
  4. Заключительный этап: Наконец, заключительный этап работы ассистента по организации поездки объединит результаты работы всех трех агентов: исследование, план мероприятий и бюджет, и создаст простой персонализированный маршрут путешествия!

Вот как будет выглядеть общий рабочий процесс всего проекта:

82b8c5567cbe4cafc6ae5cee7bca3d58
Схема рабочего процесса проекта (Изображение предоставлено автором)

Мы будем создавать этот проект на Python, используя IDE PyCharm. Это проект среднего уровня сложности на Python, требующий базового понимания работы ИИ-агентов на Python, а также предварительных знаний объектно-ориентированного программирования, поскольку мы будем создавать классы. Если вы новичок в Python и ИИ-агентах, вы можете ознакомиться с моим руководством для начинающих по созданию ИИ-агентов по следующей ссылке:

Полное руководство для начинающих по созданию ИИ-агента на Python.

Если вы хотите изучить объектно-ориентированное программирование в Python, вы можете прочитать следующие статьи, где я создал кофемашину на Python, а затем в следующем уроке использовал концепцию ООП для оптимизации кода:

Реализация кофемашины на Python

Реализация проекта «Кофемашина» на Python с использованием объектно-ориентированного программирования.

Все эти статьи дадут вам базовое понимание кода на Python и, в свою очередь, помогут разобраться в коде этого интересного проекта. Давайте начнём кодировать проект!

Создание проекта

Первым делом нужно создать папку проекта в PyCharm (или в любой другой IDE на ваш выбор) и назвать проект «Multi Agent System» (или как угодно).

39058e0429d94a9c94476eebd75eea2d
Создание проекта (Изображение предоставлено автором)

Установка и импорт пакетов Python

После создания папки проекта создайте файл « main.py », в котором мы будем писать код. В терминале установите OpenAI и импортируйте его в свой файл с кодом.

 pip install openai 
229de059a8c7e77a10951bf6f9a0efa7
Создание папки, файла Python, установка и импорт OpenAI (изображение предоставлено автором)
 from openai import OpenAI

Соединение Python с моделью искусственного интеллекта

Для того чтобы наша программа могла взаимодействовать с OpenAI и обрабатывать код, нам необходимо подключить её к платформе ИИ. В нашем случае мы будем использовать OpenRouter.ai и добавим его URL-адрес. Мы также добавим ключ API в наш код, сохранив его в переменной api_key . Этот ключ API предоставит нашей программе необходимые разрешения для использования моделей ИИ. Мы создадим клиент, который будет взаимодействовать с моделью ИИ, используя созданный нами ключ API:

 client = OpenAI( base_url="https://openrouter.ai/api/v1", api_key="YOUR API KEY" )

После создания ключа API в OpenRouter.ai не передавайте его никому. Просто добавьте его в поле «ВАШ КЛЮЧ API».

Создание класса агента

Теперь перейдём к этапу кодирования агентов ИИ. Поскольку мы создаём не одного или двух агентов, мы не будем напрямую заниматься кодированием. Вместо этого мы воспользуемся концепцией ООП и создадим класс (или, проще говоря, шаблон) категории агентов, а затем будем использовать этот шаблон для создания каждого отдельного агента. Агент будет хранить имя, которое идентифицирует его, и роль, которая указывает ИИ, как агент должен себя вести. Кроме того, мы также создадим функцию, которая позволит нашим агентам ИИ работать, то есть отправлять задачи модели ИИ.

 class Agent: def __init__(self, name, role): self.name = name self.role = role def run(self, task): print(f"{self.name} is working...") response = client.chat.completions.create( model="gpt-4.1-mini", messages=[ { "role": "system", "content": self.role }, { "role": "user", "content": task } ], max_tokens=1200 ) return response.choices[0].message.content

Приведённый выше код отправит модели ИИ следующие две вещи (которые мы также указали):

  • Должность/роль соответствующего агента
  • Сообщение пользователя, полученное в качестве входных данных от пользователя (как вы увидите позже).

Мы получим ответ ИИ, возвращаемый этим блоком кода, с помощью следующего кода: return response.choices[0].message.content . Этот оператор `return` извлечет ответ, сгенерированный агентом (если вам сложно понять этот код, обратитесь к моей статье для начинающих об агентах ИИ, ссылка на которую находится в начале этой статьи).

Создание объектов агентов

Теперь, когда наш класс агента создан, мы будем использовать этот шаблон для создания наших отдельных агентов ИИ. Следующий код использует концепцию ООП для создания объектов агентов, а именно:

  1. Научный сотрудник
  2. Агент активности
  3. Бюджетный агент
  4. Финальный агент
 research_agent = Agent( "Research Agent", """ You are an expert travel researcher. Your job: - Find popular attractions - Find hidden gems - Suggest local experiences - Recommend best places """ ) activity_agent = Agent( "Activity Planner Agent", """ You are a professional travel planner. Your job: - Create daily activities - Plan sightseeing - Recommend food experiences - Organize activities logically """ ) budget_agent = Agent( "Budget Agent", """ You are a travel budget expert. Calculate: - Estimated flight cost - Visa requirements - Visa fees if needed - Hotel cost - Food expenses - Transport cost - Activity costs Create an approximate total trip budget. Keep response short. """ ) final_agent = Agent( "Final Travel Assistant", """ You are a professional travel planner. Create the final itinerary. Include: 1. Short trip overview 2. Visa information 3. Estimated flight cost 4. Day-wise plan 5. Food suggestions 6. Total estimated budget Keep everything under 700 words. """ )

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

Ввод данных пользователем

Следующая задача — получить ввод от пользователя. Мы зададим пользователю следующие вопросы:

  • Откуда они летят?
  • Они летят туда
  • Количество дней поездки
  • Количество путешественников
  • Интересы
 #Get User Travel Details starting_location = input( "Where are you flying from? " ) destination = input( "Where do you want to travel? " ) days = input( "How many days is your trip? " ) travelers = input( "How many travelers? " ) budget = input( "What is your budget? (low/medium/high) " ) interests = input( "What are your interests? " )

Создание запроса пользователя

После сбора информации от пользователя посредством входных запросов, мы объединяем все в единый запрос и передаем его агентам искусственного интеллекта.

 # Create request for AI agents user_request = f""" Create a travel plan with these details: Flying From: {starting_location} Destination: {destination} Trip Duration: {days} days Number of Travelers: {travelers} Budget Level: {budget} Interests: {interests} Include: - Visa requirements - Estimated flight cost - Places to visit - Activities - Food recommendations - Total estimated budget """ print("nCreating your AI travel plan...n")

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

Многоагентный рабочий процесс

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

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

 #Multi-Agent Workflow #Agent 1 researches destination research = research_agent.run( user_request ) print("n--- Research Completed ---") #Agent 2 creates activities activities = activity_agent.run( research ) print("n--- Activities Planned ---") #Agent 3 calculates budget budget = budget_agent.run( activities ) print("n--- Budget Created ---") #Agent 4 creates final itinerary final_plan = final_agent.run( f""" Research: {research} Activities: {activities} Budget: {budget} Create final travel plan. """ ) print("n==========================") print(" FINAL TRAVEL PLAN") print("==========================n") print(final_plan)

Запуск кода

Запустив код, вы увидите, как программа запрашивает ввод данных у пользователя. Вы можете добавить свои конкретные данные и ответить на вопросы. Именно на основе этих ответов команда ИИ-агентов составит ваш маршрут путешествия.

7e88c6a9ea9394f052f39c4d08f0f78d
Запуск кода (Изображение предоставлено автором)
 "C:UsersMahnoor JavedPycharmProjectsMulti Agent System.venvScriptspython.exe" "C:UsersMahnoor JavedPycharmProjectsMulti Agent Systemmain.py" Where are you flying from? islamabad Where do you want to travel? istanbul How many days is your trip? 3 How many travelers? 4 What is your budget? (low/medium/high) $4k What are your interests? kid frinedly Creating your AI travel plan... Research Agent is working... --- Research Completed --- Activity Planner Agent is working... --- Activities Planned --- Budget Agent is working... --- Budget Created --- Final Travel Assistant is working... ========================== FINAL TRAVEL PLAN ========================== ### 3-Day Family-Friendly Itinerary: Islamabad to Istanbul --- #### Trip Overview Discover Istanbul's captivating blend of history, culture, and family-friendly fun on this 3-day trip from Islamabad. Explore iconic landmarks like Hagia Sophia and Topkapi Palace, dive into interactive experiences at Istanbul Aquarium and KidZania, and unwind in beautiful parks and bustling bazaars. This itinerary balances cultural discovery with engaging activities perfect for kids, ensuring memories for the entire family. --- #### Visa Information - **For Pakistani Citizens:** Turkish e-Visa required - **Application:** Apply online before travel at [e-Visa Turkey official website] - **Cost:** Approx. $50 per person - **Processing time:** Usually 24-48 hours - **Tip:** Carry a printout or e-copy of the e-Visa during travel. --- #### Estimated Flight Cost - **Route:** Islamabad (ISB) – Istanbul (IST) round-trip - **Cost:** $350 - $450 per person in economy class - **For 4 travelers:** Approx. $1,400 - $1,800 total - **Tip:** Book 2-3 months in advance to secure better deals. --- ### Day-wise Itinerary **Day 1: Historic and Iconic Sights** - **Morning:** - Arrive Istanbul, transfer and check-in at a family-friendly hotel near Sultanahmet. - Visit **Hagia Sophia**, immersing in the grandeur of this iconic monument. - Walk to **Topkapi Palace**, exploring expansive gardens and kid-friendly spaces. - **Afternoon:** - Relax and play at **Sultanahmet Square**; kids enjoy ample open space. - Hop on the nostalgic **Sultanahmet tram** for a charming ride around the historic district. - **Evening:** - Enjoy a **Bosphorus dinner cruise** featuring family entertainment and kid activities alongside delicious Turkish cuisine. --- **Day 2: Interactive Fun and Exploration** - **Morning:** - Visit **Istanbul Aquarium (Florya)** to see diverse marine life, touch pools, and themed zones. - Lunch at aquarium's family-friendly café or nearby **Forum Istanbul Mall**. - **Afternoon:** - Interact and play at **KidZania Istanbul** inside the mall where children role-play professions and learn through fun. - Enjoy mall playgrounds and snack breaks. - **Evening:** - Try famous **Maraş dondurma** (Turkish ice cream) with entertaining vendor shows. - Leisurely mall or park walk before returning to hotel. --- **Day 3: Parks, Museums, Markets & Local Flavors** - **Morning:** - Picnic and playtime at **Gülhane Park** with pony rides for children. - Explore the **Rahmi M. Koç Museum** featuring interactive exhibits including vehicles, toys, and a submarine. - **Afternoon:** - Short visit to the **Grand Bazaar** focusing on kid-friendly souvenir shops. - Sample local street food: **simit** (sesame bagels) and **gözleme** (savory crepes). - **Evening:** - Dinner at **Çiya Sofrası** for mild traditional dishes or try **Saray Muhallebicisi** for authentic Turkish desserts like sütlaç (rice pudding). --- ### Food Suggestions - **Çiya Sofrası (Kadıköy):** Authentic Turkish with kid-friendly options - **Saray Muhallebicisi:** Traditional desserts perfect for family treats - **Midpoint/Cookshop:** Casual dining with international and local menus suitable for children - **Street Food:** Try simit, lahmacun (Turkish pizza), and borek pastries at local vendors --- ### Estimated Budget (4 Persons) | Category | Estimated Cost (USD) | |---------------------------|-------------------------------| | Flights (Round-trip) | $1,400 - $1,800 | | Visa Fees | $200 | | Accommodation (3 nights) | $600 - $800 | | Food | $300 - $400 | | Transport (Istanbulkart, taxis) | $100 | | Entrance Fees & Activities| $300 | | Miscellaneous | $200 | | **Total Estimate** | **~$3,100 - $3,800** | *Note: Budget can vary depending on hotel choice and dining preferences.* --- ### Additional Tips - Book tickets online in advance for popular attractions to skip queues. - Purchase an **Istanbulkart** for convenient and discounted travel on public transport. - Pack comfortable shoes and sun protection for children. - Opt for accommodations with family amenities and close proximity to tram or metro stations in Sultanahmet or Beyoğlu districts. - Many restaurants provide kids' menus and high chairs—ask beforehand. --- Would you like personalized hotel recommendations and help with booking flights? Also, I can assist you with local transport details or restaurant reservations. Just let me know! Process finished with exit code 0

Выше представлен результат работы кода. Вы можете увидеть, насколько персонализирован маршрут путешествия!

Заключение

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

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

Добавив память, внешние инструменты, API и данные в реальном времени, эти агенты могут стать еще более мощными и решать сложные реальные задачи; это проект на будущее!

Махнур Джавед. Посмотреть все публикации Махнур Джавед.

Источник: towardsdatascience.com

✅ Найденные теги: Python, Многоагентной, новости, СИСТЕМЫ, Создание

Добавить комментарий

Новости других рубрик

Архив рубрики ~Обо всем~: 5 способов, которыми Android Auto превосходит встроенную информационно-развлекательную систему вашего автомобиля — без всяких сомнений. Архив рубрики ~Обо всем~: Продолжение игры Stellar Blade, отличающееся стильным дизайном, официально называется Blood Rain. Архив рубрики ~Обо всем~: Я доверил Malwarebytes защиту своего компьютера на месяц — вот как он себя показал. Архив рубрики ~Обо всем~: Лучшие стриминговые сервисы 2026 года Архив рубрики ~Обо всем~: Super Yooka-Laylee Kart выглядит как олдскульный Mario Kart, адаптированный для современной эпохи. Архив рубрики ~Обо всем~: Я протестировал все складные телефоны Motorola, которые выйдут в 2026 году — как выбрать между Fold и Ultra? Архив рубрики ~Обо всем~: Подсказки, ответы и помощь от NYT Strands за 6 июня #825 Архив рубрики ~Обо всем~: Устройте вечеринку с бабушкой и предотвратите ее убийство в игре Apple Crumble, которая выходит в этом году.