Tworzenie agenta sztucznej inteligencji w usłudze Visual Studio Code

Ukończone

Wskazówka

Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .

Visual Studio Code udostępnia znane środowisko programistyczne do tworzenia agentów korzystających z usługi Microsoft Foundry. Możesz pracować wizualnie z rozszerzeniem Foundry Toolkit, napisać kod agenta za pomocą zestawu SDK rozwiązania Foundry lub Microsoft Agent Framework i użyć GitHub Copilot, aby ułatwić opracowywanie i testowanie rozwiązania.

Korzystanie z zestawu narzędzi Foundry Toolkit

Rozszerzenie Foundry Toolkit łączy Visual Studio Code z projektami i zasobami usługi Foundry. Udostępnia ona narzędzia do tworzenia, zarządzania, testowania i wdrażania agentów bez konieczności opuszczania edytora.

Konstruktor agenta udostępnia interfejs wizualny, w którym można skonfigurować model, instrukcje i narzędzia agenta. Następnie możesz wprowadzać polecenia w panelu czatu i przeglądać odpowiedzi podczas dopracowywania agenta.

Zrzut ekranu przedstawiający interfejs konstruktora agenta zestawu narzędzi Foundry Toolkit w Visual Studio Code.

W przypadku agentów i przepływów pracy opartych na kodzie zestaw narzędzi może również ułatwić tworzenie projektów na podstawie szablonów, testowanie i debugowanie ich lokalnie, sprawdzanie śladów i wdrażanie ich jako hostowanych agentów w narzędziu Foundry.

Opracowywanie agentów przy użyciu kodu

Tworzenie agenta w kodzie zapewnia bezpośrednią kontrolę nad jego definicją i cyklem życia. Dwa typowe podejścia to utworzenie agenta opartego na promptach za pomocą usługi Foundry Agent Service albo zbudowanie agenta przy użyciu zestawu SDK, takiego jak Microsoft Agent Framework, i uruchomienie go w kontenerze w środowisku Foundry.

Utwórz agenta promptów za pomocą usługi Foundry Agent Service

SDK Foundry zapewnia element AIProjectClient, który umożliwia pracę z zasobami w projekcie Foundry. Za pomocą operacji agenta klienta można utworzyć nazwanego, wersjonowanego agenta promptów, który jest przechowywany w usłudze Foundry Agent Service.

Poniższy przykład uwierzytelnia się przy użyciu Microsoft Entra ID, łączy się z projektem Foundry i tworzy wersję agenta. Definicja agenta określa wdrożony model, instrukcje i narzędzie wyszukiwania w Internecie. Następnie kod uzyskuje klienta zgodnego z interfejsem OpenAI, który jest powiązany z agentem i używa go do wysyłania monitu.

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)

Ponieważ agent jest przechowywany jako element zawartości w wersji w narzędziu Foundry, inne aplikacje mogą odwoływać się do agenta według nazwy i używać jego definicji zarządzanej. Zmiany w modelu, instrukcjach lub narzędziach można przechwycić w kolejnych wersjach.

Tworzenie agenta za pomocą platformy Microsoft Agent Framework

Microsoft Agent Framework to platforma deweloperska typu open source do tworzenia agentów i przepływów pracy z wieloma agentami w Python lub .NET. Zapewnia spójne abstrakcje służące do definiowania agentów, dodawania narzędzi, zarządzania konwersacjami i organizowania bardziej złożonego zachowania agenta.

W następnym przykładzie użyto FoundryChatClient, aby połączyć się z modelem wdrożonym w projekcie Foundry. Aplikacja definiuje instrukcje i narzędzia agenta, a Agent Framework obsługuje komunikację z punktem końcowym 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())

W tym podejściu definicja agenta istnieje w aplikacji i jest tworzona podczas uruchamiania kodu. Ten wzorzec efemerycznego agenta jest przydatny, gdy chcesz, aby definicja i jej cykl życia pozostały w kodzie aplikacji. Aby udostępnić agenta opartego na kodzie za pośrednictwem trwałego, zarządzanego punktu końcowego w narzędziu Foundry, możesz spakować go i wdrożyć jako hostowanego agenta. Narzędzie Foundry Toolkit zapewnia obsługę programowania i wdrażania dla tego przepływu pracy.

Programowanie przy użyciu GitHub Copilot

Visual Studio Code również integruje się z GitHub Copilot, co może pomóc zrozumieć, utworzyć i zmodyfikować kod agenta. W Copilot Chat możesz współpracować z agentami kodowania, którzy sprawdzają obszar roboczy, proponują podejście, edytują pliki, uruchamiają polecenia i reagują na wyniki kompilacji lub testu.

Zrzut ekranu przedstawiający narzędzie GitHub Copilot w programie Visual Studio Code.

Możesz na przykład poprosić Copilot o dodanie narzędzia do agenta, ulepszenie jego instrukcji, utworzenie testów lub zbadanie nieoczekiwanej odpowiedzi. Copilot pokazuje wprowadzone zmiany, dzięki czemu można je przejrzeć, uruchomić agenta i przetestować jego odpowiedzi przed zaakceptowaniem zmian w bazie kodu. Nadal odpowiadasz za zweryfikowanie, że powstały agent działa w sposób bezpieczny i zgodnie z założeniami.