Desarrollo de un agente de IA en Visual Studio Code

Completado

Tip

Consulte la pestaña Texto e imágenes para obtener más detalles.

Visual Studio Code proporciona un entorno de desarrollo familiar para crear agentes que usan Microsoft Foundry. Puede trabajar visualmente con la extensión Foundry Toolkit, escribir código de agente con foundry SDK o Microsoft Agent Framework y usar GitHub Copilot para ayudarle a desarrollar y probar la solución.

Uso del kit de herramientas de Foundry

La extensión Foundry Toolkit conecta Visual Studio Code a los proyectos y recursos de Foundry. Proporciona herramientas para crear, administrar, probar e implementar agentes sin necesidad de abandonar el editor.

El generador de agentes proporciona una interfaz visual en la que puede configurar el modelo, las instrucciones y las herramientas de un agente. Después, puede escribir instrucciones en el panel del chat y revisar las respuestas mientras va refinando el agente.

Captura de pantalla de la interfaz del generador de agentes de Foundry Toolkit en Visual Studio Code.

En el caso de los agentes y flujos de trabajo basados en código, el kit de herramientas también puede ayudarle a crear proyectos a partir de plantillas, probarlos y depurarlos localmente, inspeccionar los seguimientos e implementarlos como agentes hospedados en Foundry.

Desarrollo de agentes con código

El desarrollo de un agente en el código le proporciona control directo sobre su definición y ciclo de vida. Dos enfoques comunes son crear un agente de solicitud con Foundry Agent Service o compilar un agente con un SDK como Microsoft Agent Framework y hospedarlo en un contenedor de Foundry.

Crear un agente de instrucciones con Foundry Agent Service

El SDK de Foundry proporciona un AIProjectClient para trabajar con los recursos de un proyecto Foundry. Puede usar las operaciones de agente del cliente para crear un agente de indicaciones con nombre y versión que se almacena de forma persistente en Foundry Agent Service.

En el ejemplo siguiente se autentica con Microsoft Entra ID, se conecta a un proyecto foundry y se crea una versión de un agente. La definición del agente especifica un modelo implementado, instrucciones y una herramienta de búsqueda web. A continuación, el código obtiene un cliente compatible con OpenAI que está enlazado al agente y lo usa para enviar un mensaje.

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)

Dado que el agente se almacena como un recurso con versiones en Foundry, otras aplicaciones pueden hacer referencia al agente por nombre y usar su definición administrada. Los cambios en su modelo, instrucciones o herramientas se pueden capturar en versiones posteriores.

Creación de un agente con Microsoft Agent Framework

Microsoft Agent Framework es un marco de desarrollo de código abierto para compilar agentes y flujos de trabajo de varios agentes en Python o .NET. Proporciona abstracciones coherentes para definir agentes, agregar herramientas, administrar conversaciones y orquestar comportamientos de agente más complejos.

En el ejemplo siguiente se usa FoundryChatClient para conectarse a un modelo implementado en un proyecto Foundry. La aplicación define las instrucciones y las herramientas del agente, y Agent Framework gestiona la interacción con el punto de conexión 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())

En este enfoque, la definición del agente existe en la aplicación y se crea cuando se ejecuta el código. Este patrón de agente efímero es útil cuando desea que la definición y su ciclo de vida permanezcan con el código de la aplicación. Para que un agente basado en código esté disponible a través de un punto de conexión administrado persistente en Foundry, puede empaquetarlo e implementarlo como agente hospedado. Foundry Toolkit proporciona compatibilidad de desarrollo e implementación para este flujo de trabajo.

Desarrollo con GitHub Copilot

Visual Studio Code también se integra con GitHub Copilot, lo que puede ayudarle a comprender, crear y modificar el código del agente. En Copilot Chat, puede colaborar con agentes de codificación que inspeccionan el área de trabajo, proponer un enfoque, editar archivos, ejecutar comandos y responder a los resultados de compilación o prueba.

Captura de pantalla de GitHub Copilot en Visual Studio Code.

Por ejemplo, puede pedir a Copilot agregar una herramienta a un agente, mejorar sus instrucciones, crear pruebas o investigar una respuesta inesperada. Copilot muestra los cambios que realiza para que pueda revisarlos, ejecutar el agente y probar sus respuestas antes de aceptar los cambios en el código base. Usted sigue siendo responsable de validar que el agente resultante se comporta de forma segura y según lo previsto.