Visual Studio Code AI 에이전트 개발

완료됨

Tip

자세한 내용은 텍스트 및 이미지 탭을 참조하세요.

Visual Studio Code Microsoft Foundry를 사용하는 에이전트를 빌드하기 위한 친숙한 개발 환경을 제공합니다. Foundry 도구 키트 확장을 시각적으로 사용하고, Foundry SDK 또는 Microsoft Agent Framework를 사용하여 에이전트 코드를 작성하고, GitHub Copilot 사용하여 솔루션을 개발하고 테스트할 수 있습니다.

Foundry 도구 키트 사용

Foundry 도구 키트 확장은 Visual Studio Code Foundry 프로젝트 및 리소스에 연결합니다. 편집기를 종료할 필요 없이 에이전트를 만들고, 관리하고, 테스트하고, 배포하는 도구를 제공합니다.

에이전트 작성기에서는 에이전트의 모델, 지침 및 도구를 구성할 수 있는 시각적 인터페이스를 제공합니다. 그런 다음 채팅 창에 프롬프트를 입력하고 에이전트를 구체화하는 동안 응답을 검토할 수 있습니다.

Visual Studio Code Foundry Toolkit 에이전트 작성기 인터페이스의 스크린샷

코드 기반 에이전트 및 워크플로의 경우 도구 키트는 템플릿에서 프로젝트를 만들고, 로컬로 테스트 및 디버그하고, 추적을 검사하고, Foundry에서 호스트된 에이전트로 배포하는 데 도움이 될 수 있습니다.

코드를 사용하여 에이전트 개발

코드에서 에이전트를 개발하면 정의 및 수명 주기를 직접 제어할 수 있습니다. 두 가지 일반적인 방법은 Foundry 에이전트 서비스를 사용하여 프롬프트 에이전트를 만들거나 Microsoft 에이전트 프레임워크와 같은 SDK를 사용하여 에이전트를 빌드하고 Foundry의 컨테이너에서 호스트하는 것입니다.

Foundry 에이전트 서비스를 사용하여 프롬프트 에이전트 만들기

Foundry SDK는 Foundry 프로젝트의 자산 작업을 위한 기능을 제공합니다 AIProjectClient . 클라이언트의 에이전트 작업을 사용하여 Foundry 에이전트 서비스에 유지되는 명명된 버전이 지정된 프롬프트 에이전트를 만들 수 있습니다.

다음 예제에서는 Microsoft Entra ID 인증하고 Foundry 프로젝트에 연결하며 에이전트 버전을 만듭니다. 에이전트 정의는 배포된 모델, 지침 및 웹 검색 도구를 지정합니다. 그런 다음, 코드는 에이전트에 바인딩된 OpenAI 호환 클라이언트를 가져오고 이를 사용하여 프롬프트를 보냅니다.

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)

에이전트는 Foundry에 버전이 지정된 자산으로 저장되므로 다른 애플리케이션은 이름으로 에이전트를 참조하고 관리되는 정의를 사용할 수 있습니다. 해당 모델, 지침 또는 도구에 대한 변경 내용은 후속 버전에서 캡처할 수 있습니다.

Microsoft Agent Framework를 사용하여 에이전트 만들기

Microsoft Agent Framework는 Python 또는 .NET 에이전트 및 다중 에이전트 워크플로를 빌드하기 위한 오픈 소스 개발 프레임워크입니다. 에이전트 정의, 도구 추가, 대화 관리 및 더 복잡한 에이전트 동작 오케스트레이션을 위한 일관된 추상화를 제공합니다.

다음 예제에서는 Foundry 프로젝트에 배포된 모델에 연결하는 데 사용합니다 FoundryChatClient . 애플리케이션은 에이전트의 지침 및 도구를 정의하고 에이전트 프레임워크는 Foundry 응답 엔드포인트와의 상호 작용을 처리합니다.

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())

이 방법에서 에이전트 정의는 애플리케이션에 존재하며 코드가 실행되면 만들어집니다. 이 임시 에이전트 패턴은 정의 및 해당 수명 주기가 애플리케이션 코드와 함께 유지되도록 할 때 유용합니다. Foundry에서 영구 관리형 엔드포인트를 통해 코드 기반 에이전트를 사용할 수 있도록 하려면 호스트된 에이전트로 패키지하고 배포할 수 있습니다. Foundry 도구 키트는 이 워크플로에 대한 개발 및 배포 지원을 제공합니다.

GitHub Copilot 사용하여 개발

또한 Visual Studio Code GitHub Copilot 통합되어 에이전트 코드를 이해하고 만들고 수정하는 데 도움이 됩니다. Copilot Chat 작업 영역을 검사하고, 접근 방식을 제안하고, 파일을 편집하고, 명령을 실행하고, 빌드 또는 테스트 결과에 응답하는 코딩 에이전트와 공동 작업할 수 있습니다.

Visual Studio Code에서의 GitHub Copilot 스크린샷.

예를 들어 Copilot 에이전트에 도구를 추가하거나, 지침을 개선하거나, 테스트를 만들거나, 예기치 않은 응답을 조사하도록 요청할 수 있습니다. Copilot 코드베이스에 변경 내용을 적용하기 전에 변경 내용을 검토하고, 에이전트를 실행하고, 응답을 테스트할 수 있도록 변경 내용을 보여 줍니다. 결과 에이전트가 의도한 대로 안전하게 작동하는지 유효성을 검사할 책임이 있습니다.