Copilot Studio 통합을 사용하면 Agent Framework 내에서 Copilot Studio 에이전트를 사용할 수 있습니다.
다음 예제에서는 Copilot Studio를 사용하여 에이전트를 만드는 방법을 보여줍니다.
using System;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.CopilotStudio;
// Create a Copilot Studio agent using the IChatClient pattern
// Requires: dotnet add package Microsoft.Agents.AI.CopilotStudio --prerelease
var copilotClient = new CopilotStudioChatClient(
environmentId: "<your-environment-id>",
agentIdentifier: "<your-agent-id>",
credential: new AzureCliCredential());
AIAgent agent = copilotClient.AsAIAgent(
instructions: "You are a helpful enterprise assistant.");
Console.WriteLine(await agent.RunAsync("What are our company policies on remote work?"));
Tools
Copilot Studio 에이전트는 원격으로 실행됩니다. 에이전트 정의(토픽, 지식 원본, 생성 작업, 플러그 인, MCP 서버)는 Copilot Studio 포털에서 작성됩니다. 에이전트 프레임워크 Copilot Studio 클라이언트는 게시된 에이전트를 호출하고 해당 응답을 표시합니다. 에이전트 프레임워크 도구 형식(함수 도구, 코드 인터프리터, 파일 검색, 호스트/로컬 MCP 등)을 노출하지 않습니다. 에이전트의 기능을 확장하려면 Copilot Studio 에이전트 자체에서 해당 기능을 구성합니다.
비고
Copilot Studio 에이전트에 대한 Python 지원은 패키지를 통해 agent-framework-copilotstudio 사용할 수 있습니다.
설치
pip install agent-framework-copilotstudio --pre
Configuration
자동 구성에 대해 다음 환경 변수를 설정합니다.
COPILOTSTUDIOAGENT__ENVIRONMENTID="<your-environment-id>"
COPILOTSTUDIOAGENT__SCHEMANAME="<your-agent-schema-name>"
COPILOTSTUDIOAGENT__AGENTAPPID="<your-client-id>"
COPILOTSTUDIOAGENT__TENANTID="<your-tenant-id>"
Copilot Studio 에이전트 만들기
CopilotStudioAgent 는 환경 변수에서 연결 설정을 자동으로 읽습니다.
import asyncio
from agent_framework.microsoft import CopilotStudioAgent
async def main():
agent = CopilotStudioAgent()
result = await agent.run("What are our company policies on remote work?")
print(result)
asyncio.run(main())
Tools
CopilotStudioAgent 원격으로 실행되는 Copilot Studio 에이전트를 호출합니다. 토픽, 기술 자료, 생성 작업, 플러그 인, MCP 서버 등의 에이전트 동작은 Python 코드가 아닌 Copilot Studio 포털에서 구성됩니다. 에이전트 프레임워크 클라이언트는 클라이언트에서 에이전트 프레임워크 도구 형식(함수 도구, 코드 인터프리터, 파일 검색, 호스트/로컬 MCP 등)을 노출 하지 않습니다. 에이전트의 기능을 확장하려면 Copilot Studio 에이전트 자체에서 해당 기능을 구성합니다.
스트리밍
async def streaming_example():
agent = CopilotStudioAgent()
print("Agent: ", end="", flush=True)
async for chunk in agent.run("What is the largest city in France?", stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print()