
Construire un système multi-agents en Python
sont le sujet de conversation de la ville. Nous les voyons partout, même pour les tâches les plus simples sur nos téléphones. Ils sont pratiques, rapides et quasiment fiables et nous aident à naviguer dans la vie de tous les jours. Si vous souhaitez une explication simple d’un concept scientifique, demandez à ChatGPT. Vous voulez un guide pour le régime alimentaire de votre tout-petit difficile, alors vous demandez à l’IA. Même la tâche de planifier votre voyage complet peut être déléguée à AI. Et c’est exactement ce que nous allons faire dans ce tutoriel (restez à l’écoute !).
Nous connaissons les agents IA, mais et si nous pouvions créer et utiliser différents agents IA pour différents rôles dans un projet plus vaste ? C’est là qu’intervient le concept de système multi-agents. À mesure que les applications d’IA deviennent plus avancées, nous passons de modèles d’IA uniques qui répondent à des questions simples et effectuent des tâches simples à des systèmes dans lesquels plusieurs agents d’IA travaillent ensemble pour résoudre des problèmes complexes. UN Système multi-agents (MAS) est un concept dans lequel plusieurs agents d’IA collaborent les uns avec les autres pour atteindre un objectif plus vaste. Chacun d’eux a un rôle spécifique menant à l’objectif ultime, et ils l’accomplissent grâce à une collaboration mutuelle.
Un système de planification de voyages multi-agents
Dans ce projet, nous allons construire un système de planification de voyages multi-agents. Donc, fondamentalement, ce que nous aurons, c’est qu’au lieu d’un seul agent IA qui planifiera nos voyages, nous aurons une équipe d’agents IA, chacun avec un rôle spécifique, et ils travailleront les uns avec les autres pour élaborer le plan de voyage parfait pour nous !
On peut considérer un système de planification de voyages multi-agents comme une véritable agence de voyages. Au lieu qu’une seule personne s’occupe de tout, différents experts s’acquitteront de différentes tâches en fonction de leur expertise et travailleront ensemble. Pour notre AI Travel Planner, nous aurons les agents suivants :

- Agent de recherche de voyages : cet agent effectuera les tâches de recherche. Il explorera la destination où le client souhaite aller et trouvera des attractions, des lieux cachés, des expériences locales, des conseils de voyage, etc. Il collectera les informations de base nécessaires à la planification du voyage.
- Agent de planification d’activités : cet agent planifiera des activités basées sur les recherches de l’agent de recherche. Ce sera lui qui décidera quel endroit visiter, quand visiter, quelles activités faire et comment organiser tout le voyage !
- Agent budgétaire : cet agent est responsable de la bonne budgétisation. Il analysera le plan partagé par l’agent de planification d’activités et partagera les coûts attendus, les options abordables, les conseils pour économiser de l’argent et aidera à personnaliser le voyage en fonction du budget du client.
- Assistant de voyage final : Enfin, l’assistant de voyage final combinera les résultats des trois agents : la recherche, le plan d’activités et le budget, et créera un itinéraire de voyage simple et personnalisé !
Voici à quoi ressemblera le flux de travail général de l’ensemble du projet :

Nous allons construire ce projet en Python, en utilisant PyCharm IDE. Il s’agit d’un projet Python de niveau intermédiaire qui nécessite une compréhension de base des agents IA en Python, ainsi qu’une connaissance préliminaire de la programmation orientée objet, car nous créerons des cours. Si vous êtes nouveau sur Python et Agentic AI, vous pouvez accéder à mon didacticiel AI Agent convivial pour les débutants à partir du lien suivant :
Le guide ultime du débutant pour créer un agent IA en Python
Si vous souhaitez en savoir plus sur Python OOP, vous pouvez lire les articles suivants dans lesquels j’ai créé une machine à café en Python, puis, dans le didacticiel suivant, j’ai utilisé le concept de POO pour optimiser le code :
Implémentation de la machine à café en Python
Implémentation du projet Coffee Machine en Python à l’aide de la programmation orientée objet
Tous ces articles vous donneront une compréhension de base du code Python et vous aideront à leur tour à comprendre le code qui fait partie de ce projet intéressant. Commençons à coder le projet !
Création du projet
La première chose est de créer le dossier du projet dans PyCharm (ou IDE de votre choix) et de nommer le projet « Multi Agent System » (ou tout autre élément de votre choix).

Installation et importation des packages Python
Une fois le dossier du projet créé, continuez et créez un «main.py » fichier où nous ferons notre codage. Dans le terminal, installez OpenAI puis importez-le dans votre fichier de codage.
pip install openai

from openai import OpenAI
Connecter Python au modèle d’IA
Pour que notre programme communique avec OpenAI et traite le code, nous devons le connecter à la plateforme AI. Dans notre cas, nous utiliserons OpenRouter.ai et ajouterons son URL. Nous ajouterons également la clé API à notre code, en l’enregistrant dans le api_key variable. Cette clé API donnera à notre programme l’autorisation requise pour utiliser les modèles d’IA. Nous allons créer un client qui communiquera avec le modèle d’IA en utilisant la clé API que nous avons créée :
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="YOUR API KEY"
)
Une fois que vous avez créé une clé API dans OpenRouter.ai, ne partagez la clé avec personne. Ajoutez-le simplement à la place de « VOTRE CLÉ API ».
Création de la classe d’agent
Vient maintenant la partie du codage des agents IA. Puisque nous ne créons pas seulement un ou deux agents, nous ne coderons pas directement. Nous utiliserons plutôt le concept de POO et créerons une classe (ou un modèle en termes simples) de la catégorie d’agent, puis utiliserons ce modèle pour créer chaque agent individuel à l’avance. L’agent stockera le nom qui l’identifie et le rôle qui indique à l’IA comment l’agent doit se comporter. De plus, nous créerons également une fonction exécutée qui donnera à nos agents IA la possibilité de travailler, c’est-à-dire d’envoyer des tâches au modèle IA.
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
Le code ci-dessus enverra les deux choses suivantes au modèle AI (que nous avons également spécifié) :
- Le travail/le rôle de l’agent respectif
- Le message utilisateur pris en entrée par l’utilisateur (comme vous le verrez plus tard)
Nous obtiendrons la réponse AI renvoyée par ce bloc de code avec le code suivant return response.choices[0].message.content. Cette instruction return extraira la réponse générée par l’agent (si vous avez du mal à comprendre ce code, reportez-vous à mon article du guide pour débutants AI Agent lié au début de cet article).
Création d’objets agent
Maintenant que notre classe d’agents est créée, nous allons utiliser ce modèle pour créer nos agents IA individuels. Le code suivant utilise le concept POO pour créer des objets agent, à savoir :
- Agent de recherche
- Agent d’activité
- Agent budgétaire
- Agent final
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.
"""
)
Ce code créera des agents IA individuels avec des rôles spécifiques comme mentionné dans le code. Le rôle indique au modèle d’IA comment il doit se comporter et sur quelle tâche il doit se concentrer.
Entrée de l’utilisateur
La tâche suivante consiste à obtenir les commentaires de l’utilisateur. Nous poserons à l’utilisateur les questions suivantes :
- D’où volent-ils
- Là, ils volent vers
- Nombre de jours du voyage
- Nombre de voyageurs
- Intérêts
#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? "
)
Création de la demande utilisateur
Après avoir collecté les informations auprès de l’utilisateur via les instructions d’entrée, nous combinons tout en une seule invite et les transmettons aux agents IA.
# 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")
Pendant que l’IA s’exécute dans le backend, nous imprimerons la déclaration « Création de votre plan de voyage IA », afin que l’utilisateur sache que le processus est en cours et que les agents ont commencé à travailler.
Flux de travail multi-agents
Maintenant que nous avons créé la demande de l’utilisateur, en lui donnant tous les détails que nous avons pris auprès de l’utilisateur, faisons maintenant fonctionner le système multi-agent. Chaque agent accomplit une tâche et transmet son résultat à l’agent suivant.
Les détails du voyage de l’utilisateur sont d’abord envoyés à l’agent de recherche. Cet agent demande au modèle d’IA de trouver les meilleurs endroits à visiter, les expériences locales et les informations de voyage. Le résultat est stocké dans la recherche. Le résultat de la recherche devient l’entrée de l’agent d’activité. Il convertit les informations de voyage en activités quotidiennes, en plans touristiques et en idées culinaires. Le résultat est enregistré dans les activités. Vient ensuite l’agent budgétaire qui reçoit les activités prévues et estime les coûts des vols, visas, hôtels, transports, etc. Le résultat est stocké dans budget. L’agent de voyage final reçoit des informations de tous les agents précédents et combine le tout en un itinéraire de voyage complet, qui est ensuite transmis à l’utilisateur.
#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)
Exécuter le code
En exécutant le code, vous pouvez voir le programme demander la saisie de l’utilisateur. Vous pouvez ajouter vos coordonnées spécifiques en répondant aux questions. C’est sur la base de ces réponses que l’équipe des agents d’IA établira votre itinéraire de voyage.

"C:\Users\Mahnoor Javed\PycharmProjects\Multi Agent System\.venv\Scripts\python.exe" "C:\Users\Mahnoor Javed\PycharmProjects\Multi Agent System\main.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
Ce qui précède est la sortie du code. Vous pouvez voir à quel point l’itinéraire de voyage est personnalisé !
Conclusion
Dans ce projet, nous avons utilisé avec succès nos connaissances en matière de création d’agents d’IA en Python pour créer quelque chose de pratique et ayant des applications réelles. Voilà à quoi ressemblent les problèmes du monde réel : nous avons déjà un système en fonctionnement, mais nous devons l’optimiser et le rendre plus efficace, et cela peut être facilement réalisé en mettant en œuvre certains concepts de base.
Nous aurions pu construire ce planificateur de voyage en utilisant un seul agent IA et lui demander de tout gérer. Cependant, en créant un système multi-agents, nous avons réparti le travail entre des agents spécialisés, chacun se concentrant sur une tâche spécifique. Cette approche rend le système plus organisé, efficace et plus proche de la manière dont les équipes du monde réel résolvent les problèmes. Au lieu qu’une seule IA essaie de tout faire, plusieurs agents IA collaborent pour créer un résultat meilleur et plus personnalisé pour l’utilisateur.
En ajoutant de la mémoire, des outils externes, des API et des données en temps réel, ces agents peuvent devenir encore plus puissants et résoudre des problèmes complexes du monde réel ; un projet pour la prochaine fois !



