(Cliquez sur l’image ci-dessus pour voir la vidéo de cette leçon)
Les frameworks d’agents IA sont des plateformes logicielles conçues pour simplifier la création, le déploiement et la gestion des agents IA. Ces frameworks fournissent aux développeurs des composants préconstruits, des abstractions et des outils qui facilitent le développement de systèmes IA complexes.
Ces frameworks aident les développeurs à se concentrer sur les aspects uniques de leurs applications en proposant des approches standardisées aux défis courants du développement d’agents IA. Ils améliorent la scalabilité, l’accessibilité et l’efficacité dans la construction des systèmes IA.
Cette leçon couvrira :
Les objectifs de cette leçon sont de vous aider à comprendre :
Les frameworks IA traditionnels peuvent vous aider à intégrer l’IA dans vos applications et à les améliorer de la manière suivante :
Les frameworks d’agents IA représentent quelque chose de plus qu’un simple framework IA. Ils sont conçus pour permettre la création d’agents intelligents capables d’interagir avec les utilisateurs, d’autres agents et l’environnement afin d’atteindre des objectifs spécifiques. Ces agents peuvent adopter un comportement autonome, prendre des décisions et s’adapter aux conditions changeantes. Voici quelques capacités clés permises par les frameworks d’agents IA :
En résumé, les agents vous permettent d’en faire plus, d’amener l’automatisation à un niveau supérieur, de créer des systèmes plus intelligents capables de s’adapter et d’apprendre de leur environnement.
Le domaine évolue rapidement, mais certains éléments sont communs à la plupart des frameworks d’agents IA qui peuvent vous aider à prototyper et itérer rapidement, notamment des composants modulaires, des outils collaboratifs et l’apprentissage en temps réel. Explorons cela :
Des SDK comme le Microsoft Agent Framework offrent des composants préconstruits tels que des connecteurs IA, des définitions d’outils et la gestion des agents.
Comment les équipes peuvent utiliser cela : Les équipes peuvent assembler rapidement ces composants pour créer un prototype fonctionnel sans repartir de zéro, permettant une expérimentation et une itération rapides.
Comment cela fonctionne en pratique : Vous pouvez utiliser un parseur préconstruit pour extraire des informations des entrées utilisateur, un module mémoire pour stocker et récupérer des données, et un générateur de prompt pour interagir avec les utilisateurs, sans avoir besoin de créer ces composants vous-mêmes.
Exemple de code. Voyons un exemple d’utilisation du Microsoft Agent Framework avec FoundryChatClient pour que le modèle réponde aux demandes utilisateur via l’appel d’outils :
# Exemple Python du cadre Microsoft Agent
import asyncio
import os
from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
# Définir une fonction d'outil exemple pour réserver un voyage
@tool(approval_mode="never_require")
def book_flight(date: str, location: str) -> str:
"""Book travel given location and date."""
return f"Travel was booked to {location} on {date}"
async def main():
provider = FoundryChatClient(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
credential=AzureCliCredential(),
)
agent = provider.as_agent(
name="travel_agent",
instructions="Help the user book travel. Use the book_flight tool when ready.",
tools=[book_flight],
)
response = await agent.run("I'd like to go to New York on January 1, 2025")
print(response)
# Exemple de sortie : Votre vol pour New York le 1er janvier 2025 a été réservé avec succès. Bon voyage ! ✈️🗽
if __name__ == "__main__":
asyncio.run(main())
Ce que vous voyez dans cet exemple, c’est comment vous pouvez exploiter un parseur préconstruit pour extraire des informations clés de la saisie utilisateur, telles que l’origine, la destination, et la date d’une demande de réservation de vol. Cette approche modulaire vous permet de vous concentrer sur la logique de haut niveau.
Des frameworks comme le Microsoft Agent Framework facilitent la création de plusieurs agents pouvant travailler ensemble.
Comment les équipes peuvent utiliser cela : Les équipes peuvent concevoir des agents avec des rôles et tâches spécifiques, leur permettant de tester et affiner des workflows collaboratifs et d’améliorer l’efficacité globale du système.
Comment cela fonctionne en pratique : Vous pouvez créer une équipe d’agents où chaque agent remplit une fonction spécialisée, comme la récupération de données, l’analyse ou la prise de décision. Ces agents peuvent communiquer et partager des informations pour atteindre un objectif commun, comme répondre à une requête utilisateur ou accomplir une tâche.
Exemple de code (Microsoft Agent Framework) :
# Création de plusieurs agents qui travaillent ensemble en utilisant le Microsoft Agent Framework
import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
provider = FoundryChatClient(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
credential=AzureCliCredential(),
)
# Agent de récupération de données
agent_retrieve = provider.as_agent(
name="dataretrieval",
instructions="Retrieve relevant data using available tools.",
tools=[retrieve_tool],
)
# Agent d'analyse de données
agent_analyze = provider.as_agent(
name="dataanalysis",
instructions="Analyze the retrieved data and provide insights.",
tools=[analyze_tool],
)
# Exécuter les agents en séquence sur une tâche
retrieval_result = await agent_retrieve.run("Retrieve sales data for Q4")
analysis_result = await agent_analyze.run(f"Analyze this data: {retrieval_result}")
print(analysis_result)
Ce que vous voyez dans le code précédent, c’est comment créer une tâche impliquant plusieurs agents collaborant afin d’analyser des données. Chaque agent exécute une fonction spécifique, et la tâche est réalisée en coordonnant les agents pour atteindre le résultat escompté. En créant des agents dédiés à des rôles spécialisés, vous améliorez l’efficacité et la performance des tâches.
Les frameworks avancés offrent des capacités de compréhension contextuelle et d’adaptation en temps réel.
Comment les équipes peuvent utiliser cela : Les équipes peuvent mettre en place des boucles de rétroaction où les agents apprennent des interactions et ajustent dynamiquement leur comportement, conduisant à une amélioration continue et un affinement des capacités.
Comment cela fonctionne en pratique : Les agents peuvent analyser les retours utilisateurs, les données environnementales et les résultats des tâches pour mettre à jour leur base de connaissances, ajuster leurs algorithmes décisionnels et améliorer les performances au fil du temps. Ce processus d’apprentissage itératif permet aux agents de s’adapter aux conditions changeantes et aux préférences des utilisateurs, améliorant ainsi l’efficacité globale du système.
Il existe plusieurs façons de comparer ces approches, mais examinons quelques différences clés en termes de conception, capacités, et cas d’utilisation ciblés :
Le Microsoft Agent Framework fournit un SDK simplifié pour construire des agents IA utilisant FoundryChatClient. Il permet aux développeurs de créer des agents exploitant les modèles Azure OpenAI avec appels d’outils intégrés, gestion des conversations et sécurité d’entreprise via l’identification Azure.
Cas d’utilisation : Construire des agents IA prêts pour la production avec utilisation d’outils, workflows multi-étapes, et scénarios d’intégration entreprise.
Voici quelques concepts fondamentaux importants du Microsoft Agent Framework :
FoundryChatClient et configuré avec un nom, des instructions, et des outils. L’agent peut :
Voici un extrait de code montrant comment créer un agent :
import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
provider = FoundryChatClient(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
credential=AzureCliCredential(),
)
agent = provider.as_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)
Outils. Le framework supporte la définition d’outils comme fonctions Python que l’agent peut invoquer automatiquement. Les outils sont enregistrés lors de la création de l’agent :
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 72\u00b0F."
agent = provider.as_agent(
name="weather_agent",
instructions="Help users check the weather.",
tools=[get_weather],
)
Coordination multi-agents. Vous pouvez créer plusieurs agents spécialisés et coordonner leur travail :
planner = provider.as_agent(
name="planner",
instructions="Break down complex tasks into steps.",
)
executor = provider.as_agent(
name="executor",
instructions="Execute the planned steps using available tools.",
tools=[execute_tool],
)
plan = await planner.run("Plan a trip to Paris")
result = await executor.run(f"Execute this plan: {plan}")
AzureCliCredential (ou DefaultAzureCredential) pour une authentification sécurisée sans clé, éliminant la gestion directe des clés API.Microsoft Foundry Agent Service est un ajout plus récent, présenté à Microsoft Ignite 2024. Il permet le développement et le déploiement d’agents IA avec des modèles plus flexibles, comme l’appel direct de LLM open source tels que Llama 3, Mistral, et Cohere.
Microsoft Foundry Agent Service offre des mécanismes renforcés de sécurité d’entreprise et des méthodes de stockage des données, ce qui le rend adapté aux applications d’entreprise.
Il fonctionne immédiatement avec le Microsoft Agent Framework pour construire et déployer des agents.
Ce service est actuellement en aperçu public et supporte Python et C# pour la création d’agents.
En utilisant le SDK Python Microsoft Foundry Agent Service, nous pouvons créer un agent avec un outil défini par l’utilisateur :
import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
# Définir les fonctions de l'outil
def get_specials() -> str:
"""Provides a list of specials from the menu."""
return """
Special Soup: Clam Chowder
Special Salad: Cobb Salad
Special Drink: Chai Tea
"""
def get_item_price(menu_item: str) -> str:
"""Provides the price of the requested menu item."""
return "$9.99"
async def main() -> None:
credential = DefaultAzureCredential()
project_client = AIProjectClient.from_connection_string(
credential=credential,
conn_str="your-connection-string",
)
agent = project_client.agents.create_agent(
model="gpt-5-mini",
name="Host",
instructions="Answer questions about the menu.",
tools=[get_specials, get_item_price],
)
thread = project_client.agents.create_thread()
user_inputs = [
"Hello",
"What is the special soup?",
"How much does that cost?",
"Thank you",
]
for user_input in user_inputs:
print(f"# User: '{user_input}'")
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content=user_input,
)
run = project_client.agents.create_and_process_run(
thread_id=thread.id, agent_id=agent.id
)
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"# Agent: {messages.data[0].content[0].text.value}")
if __name__ == "__main__":
asyncio.run(main())
Microsoft Foundry Agent Service possède les concepts fondamentaux suivants :
Agent. Microsoft Foundry Agent Service s’intègre avec Microsoft Foundry. Dans Microsoft Foundry, un agent IA agit comme un microservice “intelligent” utilisé pour répondre à des questions (RAG), effectuer des actions, ou automatiser complètement des workflows. Cela est réalisé en combinant la puissance des modèles d’IA générative avec des outils qui lui permettent d’accéder et d’interagir avec des sources de données du monde réel. Voici un exemple d’agent :
agent = project_client.agents.create_agent(
model="gpt-5-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
Dans cet exemple, un agent est créé avec le modèle gpt-5-mini, un nom my-agent, et les instructions You are helpful agent. L’agent est équipé d’outils et ressources pour effectuer des tâches d’interprétation de code.
Fil de discussion et messages. Le fil est un autre concept important. Il représente une conversation ou interaction entre un agent et un utilisateur. Les fils peuvent être utilisés pour suivre l’avancement d’une conversation, stocker le contexte, et gérer l’état de l’interaction. Voici un exemple de fil :
thread = project_client.agents.create_thread()
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
)
# Demander à l'agent d'effectuer un travail sur le fil
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Récupérer et enregistrer tous les messages pour voir la réponse de l'agent
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
Dans le code précédent, un fil est créé. Ensuite, un message est envoyé au fil. En appelant create_and_process_run, on demande à l’agent de travailler sur le fil. Enfin, les messages sont récupérés et enregistrés pour voir la réponse de l’agent. Les messages indiquent la progression de la conversation entre l’utilisateur et l’agent. Il est aussi important de comprendre que les messages peuvent être de types différents, comme du texte, une image ou un fichier, ce qui signifie que le travail des agents a pu produire par exemple une image ou une réponse textuelle. En tant que développeur, vous pouvez alors utiliser ces informations pour traiter davantage la réponse ou la présenter à l’utilisateur.
Intégration avec Microsoft Agent Framework. Microsoft Foundry Agent Service fonctionne parfaitement avec Microsoft Agent Framework, ce qui signifie que vous pouvez construire des agents en utilisant FoundryChatClient et les déployer via Agent Service pour des scénarios de production.
Cas d’utilisation : Microsoft Foundry Agent Service est conçu pour des applications d’entreprise nécessitant un déploiement d’agents IA sécurisé, scalable et flexible.
Cela semble effectivement se recouper, mais il existe des différences clés en termes de conception, capacités et cas d’utilisation cible :
Vous hésitez encore sur votre choix ?
Voyons si nous pouvons vous aider en passant en revue quelques cas d’usage courants :
Q : Je construis des applications agents IA en production et veux démarrer rapidement
R : Le Microsoft Agent Framework est un excellent choix. Il fournit une API simple, pythonique via
FoundryChatClientqui vous permet de définir des agents avec outils et instructions en quelques lignes de code seulement.
Q : J’ai besoin d’un déploiement de niveau entreprise avec des intégrations Azure comme Search et l’exécution de code
R : Microsoft Foundry Agent Service est le mieux adapté. C’est un service plateforme qui fournit des capacités intégrées pour plusieurs modèles, Azure AI Search, Bing Search et les Azure Functions. Il facilite la création de vos agents dans le portail Foundry et leur déploiement à grande échelle.
Q : Je suis encore confus, donnez-moi juste une option
R : Commencez avec Microsoft Agent Framework pour construire vos agents, puis utilisez Microsoft Foundry Agent Service quand vous devrez les déployer et les mettre à l’échelle en production. Cette approche vous permet de itérer rapidement sur la logique de votre agent tout en ayant une trajectoire claire vers un déploiement en entreprise.
Résumons les différences clés dans un tableau :
| Framework | Focus | Concepts clés | Cas d’utilisation |
|---|---|---|---|
| Microsoft Agent Framework | SDK agent simplifié avec appels d’outils | Agents, Outils, Identité Azure | Construction d’agents IA, usage d’outils, workflows multi-étapes |
| Microsoft Foundry Agent Service | Modèles flexibles, sécurité entreprise, génération de code, appel d’outils | Modularité, Collaboration, Orchestration de processus | Déploiement sécurisé, scalable et flexible d’agents IA |
La réponse est oui, vous pouvez intégrer vos outils existants de l’écosystème Azure directement avec Microsoft Foundry Agent Service en particulier, car il a été conçu pour fonctionner en parfaite harmonie avec d’autres services Azure. Vous pourriez par exemple intégrer Bing, Azure AI Search et Azure Functions. Il existe également une intégration approfondie avec Microsoft Foundry.
Le Microsoft Agent Framework s’intègre également aux services Azure via FoundryChatClient et l’identité Azure, vous permettant d’appeler des services Azure directement depuis vos outils d’agent.
Rejoignez le Microsoft Foundry Discord pour rencontrer d’autres apprenants, participer aux heures de bureau et obtenir des réponses à vos questions sur les agents IA.
Introduction aux Agents IA et cas d’utilisation des agents
Comprendre les modèles de conception agentique
Avertissement : Ce document a été traduit à l’aide du service de traduction automatique Co-op Translator. Bien que nous nous efforçions d’assurer l’exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d’interprétation découlant de l’utilisation de cette traduction.