Développer un agent IA dans Visual Studio Code

Terminée

Conseil / Astuce

Pour plus d’informations, consultez l’onglet Texte et images !

Visual Studio Code fournit un environnement de développement familier pour la création d’agents qui utilisent Microsoft Foundry. Vous pouvez travailler visuellement avec l’extension Foundry Toolkit, écrire du code d’agent avec le Kit de développement logiciel (SDK) Foundry ou Microsoft Agent Framework, et utiliser GitHub Copilot pour vous aider à développer et tester votre solution.

Utiliser le Kit de ressources Foundry

L’extension Foundry Toolkit connecte Visual Studio Code à vos projets et ressources Foundry. Il fournit des outils pour la création, la gestion, le test et le déploiement d’agents sans avoir à quitter l’éditeur.

Le générateur d’agents fournit une interface visuelle dans laquelle vous pouvez configurer le modèle, les instructions et les outils d’un agent. Vous pouvez ensuite saisir des requêtes dans le volet de chat et consulter les réponses tout en affinant l’agent.

Capture d’écran de l’interface du générateur de l’agent Foundry Toolkit dans Visual Studio Code.

Pour les agents et les flux de travail basés sur du code, le kit de ressources peut également vous aider à créer des projets à partir de modèles, de tester et de les déboguer localement, d’inspecter les traces et de les déployer en tant qu’agents hébergés dans Foundry.

Développer des agents avec du code

Le développement d’un agent dans le code vous permet de contrôler directement sa définition et son cycle de vie. Deux approches courantes consistent à créer un agent basé sur des prompts avec Foundry Agent Service, ou à créer un agent à l’aide d’un kit de développement logiciel (SDK) tel que le Microsoft Agent Framework, puis à l’héberger dans un conteneur dans Foundry.

Créer un agent de prompts avec le service Foundry Agent

Le SDK Foundry fournit un AIProjectClient pour travailler avec les ressources d’un projet Foundry. Vous pouvez utiliser les opérations d’agent du client pour créer un agent de prompt nommé et versionné, conservé dans Foundry Agent Service.

L’exemple suivant s’authentifie avec Microsoft Entra ID, se connecte à un projet Foundry et crée une version d’un agent. La définition de l’agent spécifie un modèle déployé, des instructions et un outil de recherche web. Le code obtient ensuite un client compatible OpenAI lié à l’agent et l’utilise pour envoyer une invite.

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition, WebSearchTool

# Create client to call Foundry API
project = AIProjectClient(
    endpoint="https://ai-resrce.services.ai.azure.com/api/projects/ai-project", # Project endpoint
    credential=DefaultAzureCredential())

# Create an agent with a web search tool
agent = project.agents.create_version(
    agent_name="computinghistorycode",
    definition=PromptAgentDefinition(
        model="gpt-5-mini",
        instructions="You are a helpful expert on computing history",
        tools=[WebSearchTool()]))

# Test the agent with a prompt
openai_client = project.get_openai_client(agent_name="computinghistorycode")
response = openai_client.responses.create(input="Who was Ada Lovelace?")
print(response.output_text)

Étant donné que l’agent est stocké en tant que ressource avec version dans Foundry, d’autres applications peuvent faire référence à l’agent par nom et utiliser sa définition managée. Les modifications apportées à son modèle, instructions ou outils peuvent être capturées dans les versions suivantes.

Créer un agent avec Microsoft Agent Framework

Microsoft Agent Framework est un framework de développement open source pour la création d’agents et de flux de travail multi-agents dans Python ou .NET. Il fournit des abstractions cohérentes pour définir des agents, ajouter des outils, gérer des conversations et orchestrer un comportement d’agent plus complexe.

L’exemple suivant utilise FoundryChatClient pour se connecter à un modèle déployé dans un projet Foundry. L’application définit les instructions et les outils de l’agent, et Agent Framework gère l’interaction avec le point de terminaison Foundry Responses.

import asyncio
from azure.identity import AzureCliCredential
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient

# Create client for a FoundryChat agent
foundry_client = FoundryChatClient(
    project_endpoint="https://ai-resrce.services.ai.azure.com/api/projects/ai-project", # Project endpoint
    model="gpt-5-mini",
    credential=AzureCliCredential()
 )

# Create an agent with a web search tool
agent = Agent(
        client=foundry_client,
        instructions="You are a helpful expert on computing history",
        tools=[FoundryChatClient.get_web_search_tool()]

 )

# Test the agent with a prompt
async def main():
    result = await agent.run("Who was Ada Lovelace?")
    print(f"Agent: {result}")

asyncio.run(main())

Dans cette approche, la définition de l’agent existe dans l’application et est créée lors de l’exécution du code. Ce modèle d’agent éphémère est utile lorsque vous souhaitez que la définition et son cycle de vie restent avec votre code d’application. Pour rendre un agent basé sur du code disponible via un point de terminaison persistant et géré dans Foundry, vous pouvez empaqueter et le déployer en tant qu’agent hébergé. Foundry Toolkit fournit une prise en charge du développement et du déploiement pour ce flux de travail.

Développez avec GitHub Copilot

Visual Studio Code s’intègre également à GitHub Copilot, ce qui peut vous aider à comprendre, créer et modifier votre code d’agent. Dans Copilot Chat, vous pouvez collaborer avec des agents de codage qui inspectent votre espace de travail, proposent une approche, modifient des fichiers, exécutent des commandes et répondent aux résultats de génération ou de test.

Capture d’écran de GitHub Copilot dans Visual Studio Code.

Par exemple, vous pouvez demander Copilot d’ajouter un outil à un agent, d’améliorer ses instructions, de créer des tests ou d’examiner une réponse inattendue. Copilot affiche les modifications qu’il apporte afin de pouvoir les examiner, exécuter l’agent et tester ses réponses avant d’accepter les modifications dans votre codebase. Vous restez responsable de la validation que l’agent résultant se comporte de manière sécurisée et comme prévu.