Een AI-agent ontwikkelen in Visual Studio Code
Tip
Zie het tabblad Tekst en afbeeldingen voor meer informatie.
Visual Studio Code biedt een vertrouwde ontwikkelomgeving voor het bouwen van agents die gebruikmaken van Microsoft Foundry. U kunt visueel werken met de Foundry Toolkit-extensie, agentcode schrijven met de Foundry SDK of Microsoft Agent Framework en GitHub Copilot gebruiken om u te helpen uw oplossing te ontwikkelen en te testen.
De Foundry Toolkit gebruiken
De Foundry Toolkit-extensie verbindt Visual Studio Code met uw Foundry-projecten en -resources. Het biedt hulpprogramma's voor het maken, beheren, testen en implementeren van agents zonder dat u de editor hoeft te verlaten.
De opbouwfunctie voor agents biedt een visuele interface waarin u het model, de instructies en hulpprogramma's van een agent kunt configureren. U kunt vervolgens prompts invoeren in het chatvenster en de antwoorden controleren terwijl u de agent verfijnt.
Voor agents en werkstromen op basis van code kunt u met de toolkit ook projecten maken op basis van sjablonen, ze lokaal testen en fouten opsporen, traceringen inspecteren en implementeren als gehoste agents in Foundry.
Agents ontwikkelen met code
Door een agent in code te ontwikkelen, hebt u direct controle over de definitie en levenscyclus. Twee veelvoorkomende benaderingen zijn het maken van een promptagent met Foundry Agent Service of het bouwen van een agent met een SDK zoals het Microsoft Agent Framework en deze host in een container in Foundry.
Een promptagent maken met Foundry Agent Service
De Foundry SDK biedt een AIProjectClient voor het werken met de assets in een Foundry-project. U kunt de agentbewerkingen van de client gebruiken om een promptagent met een naam en versie te maken die wordt opgeslagen in de Foundry Agent Service.
Het volgende voorbeeld wordt geverifieerd met Microsoft Entra ID, maakt verbinding met een Foundry-project en maakt een versie van een agent. De definitie van de agent geeft een geïmplementeerd model, instructies en een hulpprogramma voor zoeken op internet op. De code verkrijgt vervolgens een openAI-compatibele client die is gebonden aan de agent en gebruikt deze om een prompt te verzenden.
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)
Omdat de agent is opgeslagen als een versieasset in Foundry, kunnen andere toepassingen op naam verwijzen naar de agent en de beheerde definitie ervan gebruiken. Wijzigingen in het model, de instructies of hulpprogramma's kunnen in volgende versies worden vastgelegd.
Een agent maken met Microsoft Agent Framework
Microsoft Agent Framework is een opensource-ontwikkelframework voor het bouwen van agents en werkstromen met meerdere agents in Python of .NET. Het biedt consistente abstracties voor het definiëren van agents, het toevoegen van hulpprogramma's, het beheren van gesprekken en het organiseren van complexere agentgedrag.
In het volgende voorbeeld wordt FoundryChatClient gebruikt om verbinding te maken met een model dat is geïmplementeerd in een Foundry-project. De toepassing definieert de instructies en hulpprogramma's van de agent en Agent Framework verwerkt de interactie met het eindpunt Foundry-antwoorden.
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())
In deze benadering bestaat de agentdefinitie in de toepassing en wordt deze gemaakt wanneer de code wordt uitgevoerd. Dit tijdelijke agentpatroon is handig wanneer u wilt dat de definitie en de levenscyclus ervan bij uw toepassingscode blijven. Als u een op code gebaseerde agent beschikbaar wilt maken via een permanent, beheerd eindpunt in Foundry, kunt u deze verpakken en implementeren als een gehoste agent. Foundry Toolkit biedt ondersteuning voor ontwikkeling en implementatie voor deze werkstroom.
Ontwikkelen met GitHub Copilot
Visual Studio Code integreert ook met GitHub Copilot, waarmee u uw agentcode begrijpt, maakt en wijzigt. In Copilot Chat kunt u samenwerken met coderingsagenten die uw werkruimte inspecteren, een benadering voorstellen, bestanden bewerken, opdrachten uitvoeren en reageren op build- of testresultaten.
U kunt bijvoorbeeld Copilot vragen om een hulpprogramma toe te voegen aan een agent, de instructies te verbeteren, tests te maken of een onverwacht antwoord te onderzoeken. Copilot toont de wijzigingen die het aanbrengt, zodat u deze kunt controleren, de agent kunt uitvoeren en de antwoorden kunt testen voordat u de wijzigingen accepteert in uw codebasis. U blijft verantwoordelijk voor het valideren dat de resulterende agent zich veilig en zoals bedoeld gedraagt.