Microsoft Copilot Stack 해부 — AI 플랫폼 전략과 개발자 영향
Semantic Kernel, Azure AI Studio, Copilot Studio, GitHub Copilot Workspace, Teams AI Library까지. Microsoft AI 생태계의 계층 구조와 개발자 진입점 완전 정리.
한 줄 요약: Microsoft Copilot Stack은 Azure OpenAI를 기반으로 Semantic Kernel이 오케스트레이션하고, Copilot Studio·Azure AI Studio가 개발 플랫폼을 담당하는 계층형 AI 아키텍처다. 개발자는 어느 계층에서 진입하느냐에 따라 완전히 다른 경험을 하게 된다.
- GitHub Copilot·Copilot for Microsoft 365를 쓰면서 내부 구조가 궁금한 개발자
- Azure AI Studio와 Copilot Studio의 차이를 명확히 구분하고 싶은 경우
- Semantic Kernel로 직접 AI 에이전트를 만들려는 .NET·Python 개발자
- Microsoft AI 생태계에서 어떤 도구를 선택해야 하는지 판단하고 싶은 경우
Copilot Stack 전체 계층 구조
Microsoft가 공식적으로 "Copilot Stack"이라고 부르는 구조는 하단에서 상단으로 4개 계층으로 구성된다.
Layer 1 — AI Models: Azure OpenAI Service에서 제공하는 기반 모델군. GPT-4o, GPT-4 Turbo, o1, o3-mini, 그리고 Meta Llama·Mistral 같은 오픈소스 모델까지 포함된다. 개발자는 Azure 포털에서 모델을 배포하고 REST API로 호출한다.
Layer 2 — AI Orchestration: 여러 모델과 도구를 연결하는 미들웨어 계층. Semantic Kernel(오픈소스, .NET/Python/Java)과 LangChain(서드파티)이 이 역할을 한다. 프롬프트 관리, 메모리, 플러그인 연결, 에이전트 루프가 여기서 처리된다.
Layer 3 — Copilot Development Platform: 코드를 최소화하고 Copilot을 만드는 플랫폼. Copilot Studio(로우코드), Azure AI Studio(프로코드)가 주인공이다. RAG 파이프라인, 지식 그래프, 커스텀 액션 연결이 GUI 기반으로 가능하다.
Layer 4 — Copilot Experiences: 최종 사용자가 만나는 AI 인터페이스. GitHub Copilot, Microsoft 365 Copilot, Teams Copilot, Windows Copilot이 여기에 속한다. 개발자는 이 계층에 플러그인·확장을 추가할 수 있다.
Semantic Kernel — AI 오케스트레이션의 핵심
Semantic Kernel(SK)은 Microsoft가 오픈소스로 공개한 AI 오케스트레이션 라이브러리다. LangChain과 비교했을 때 .NET 생태계 지원이 강점이며, Microsoft의 공식 지원을 받는다. Python·Java 버전도 있다.
SK의 핵심 개념 세 가지:
- Kernel: AI 모델과 서비스를 등록하는 DI(의존성 주입) 컨테이너. OpenAI, Azure OpenAI, Hugging Face 등을 플러그 앤 플레이로 교체할 수 있다.
- Plugin: LLM이 호출할 수 있는 함수 모음. C# 메서드에
[KernelFunction]어노테이션만 달면 자동으로 함수 스펙(Function Calling 포맷)으로 변환된다. - Planner: 사용자의 자연어 목표를 분석해 어떤 플러그인을 어떤 순서로 호출할지 계획을 세우는 에이전트 컴포넌트.
Semantic Kernel — C# 기본 에이전트 구성 예시using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; using Microsoft.SemanticKernel.Connectors.AzureOpenAI; // Kernel 구성 var builder = Kernel.CreateBuilder(); builder.AddAzureOpenAIChatCompletion( deploymentName: "gpt-4o", endpoint: Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!, apiKey: Environment.GetEnvironmentVariable("AZURE_OPENAI_KEY")! ); // 플러그인 등록 (일반 C# 클래스) builder.Plugins.AddFromType<CodeReviewPlugin>(); builder.Plugins.AddFromType<GitHubPlugin>(); var kernel = builder.Build(); // 자동 함수 호출 활성화 var executionSettings = new AzureOpenAIPromptExecutionSettings { ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions }; var chat = kernel.GetRequiredService<IChatCompletionService>(); var history = new ChatHistory("당신은 코드 리뷰 전문가입니다."); history.AddUserMessage("이 PR의 주요 변경 사항을 분석하고 잠재적 버그를 찾아줘."); var result = await chat.GetChatMessageContentAsync(history, executionSettings, kernel); Console.WriteLine(result.Content);
Semantic Kernel — Python 버전 플러그인 정의from semantic_kernel import Kernel from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion from semantic_kernel.functions import kernel_function from semantic_kernel.connectors.ai.function_choice_behavior import FunctionChoiceBehavior # 플러그인 클래스 정의 class DatabasePlugin: @kernel_function(description="SQL 쿼리를 실행하고 결과를 반환합니다.") async def execute_query(self, query: str) -> str: # 실제 DB 연결 로직 return await db.execute(query) @kernel_function(description="테이블 스키마 정보를 조회합니다.") async def get_schema(self, table_name: str) -> str: return await db.get_table_schema(table_name) # Kernel 설정 kernel = Kernel() kernel.add_service(AzureChatCompletion( service_id="gpt-4o", deployment_name="gpt-4o", endpoint="https://your-resource.openai.azure.com/", api_key="your-api-key", )) kernel.add_plugin(DatabasePlugin(), plugin_name="database") # 자동 함수 호출로 실행 result = await kernel.invoke_prompt( "users 테이블에서 지난 7일간 가입한 사용자 수를 알려줘", function_choice_behavior=FunctionChoiceBehavior.Auto() )
Azure AI Studio vs Copilot Studio — 언제 무엇을 쓰나
이 두 도구의 이름이 비슷해서 혼동하기 쉽지만 대상 사용자와 목적이 완전히 다르다.
실무에서 두 도구가 혼합되는 경우도 있다. Azure AI Studio로 RAG 파이프라인을 만들고, 그 엔드포인트를 Copilot Studio에서 커스텀 액션으로 호출하는 패턴이 대표적이다. 이 경우 AI 로직은 Azure에서 관리하고, 비즈니스 사용자는 Copilot Studio GUI에서 봇 흐름을 수정할 수 있다.
GitHub Copilot Workspace와 VS Code Copilot Chat
GitHub Copilot Workspace는 2024년 말 베타로 공개된 기능으로, Claude Code의 경쟁 제품에 해당한다. GitHub 이슈나 PR에서 시작해 Copilot이 구현 계획을 세우고, 코드를 작성하고, 테스트를 실행하는 전체 사이클을 자동화한다.
Copilot Workspace 주요 특징:
- GitHub 이슈 → 구현 계획 자동 생성 (Plan 탭)
- 파일 단위 코드 변경 제안 (개발자가 파일별로 수락/거절)
- Codespaces 통합으로 클라우드 환경에서 즉시 실행
- PR 설명 자동 작성
VS Code Copilot Chat은 에디터 내에서 대화형으로 코딩 지원을 받는 기능이다. @workspace를 prefix로 사용하면 열려 있는 프로젝트 전체를 컨텍스트로 질문할 수 있고, #file로 특정 파일을 참조하거나 #selection으로 선택한 코드만 참조할 수 있다.
VS Code Copilot Chat — 유용한 슬래시 커맨드 목록# 자주 쓰는 Copilot Chat 커맨드 /explain # 선택한 코드 설명 /fix # 선택한 코드의 버그/오류 수정 /tests # 선택한 코드에 대한 테스트 생성 /doc # 문서 주석(JSDoc, docstring 등) 생성 /optimize # 성능 개선 제안 # @workspace 컨텍스트 활용 @workspace 이 프로젝트에서 인증 관련 파일이 어디 있나요? @workspace #file:auth.ts 이 파일에서 토큰 만료 처리가 빠진 것 같은데 확인해줘 # GitHub PR 리뷰 @github PR #123의 변경 사항을 요약해줘 @github 지난 주에 main에 병합된 커밋 목록 보여줘
Teams AI Library — Microsoft 365 앱 AI 통합
Teams AI Library는 Microsoft Teams 앱에서 AI 기능을 구현하기 위한 SDK다. Bot Framework의 후속으로, AI 에이전트 패턴을 Teams 앱에 직접 통합할 수 있게 설계됐다.
핵심 기능:
- ActionPlanner: 사용자 메시지를 분석해 어떤 액션을 실행할지 계획하는 컴포넌트. Semantic Kernel의 Planner와 유사하다.
- Prompt Management: 프롬프트 템플릿을 파일로 관리하고, 동적으로 컨텍스트를 주입한다.
- Memory & State: 대화 기록, 사용자 상태를 Azure Storage에 자동으로 저장/복원한다.
Teams AI Library는 Node.js와 .NET을 지원한다. Microsoft의 teams-ai GitHub 저장소에서 오픈소스로 관리되며, 샘플 앱이 풍부하게 제공된다.
개발자 생태계에 미치는 영향과 전략적 판단
Microsoft Copilot Stack이 개발자 생태계에 가져오는 변화는 크게 두 가지 방향이다.
긍정적 영향:
- Azure + GitHub + VS Code + Teams가 수직 통합되면서 Microsoft 스택 내에서 AI 기능 구현 비용이 크게 낮아졌다.
- Semantic Kernel이 오픈소스이므로 Azure에 종속되지 않고 온프레미스나 다른 클라우드에서도 사용할 수 있다.
- GitHub Models를 통해 Azure 구독 없이 무료로 GPT-4o, Llama, Mistral 등을 테스트할 수 있다.
주의해야 할 사항:
- Microsoft 365 Copilot과 Copilot Studio 기능이 자주 바뀐다. 2024년만 해도 Power Virtual Agents가 Copilot Studio로 브랜드를 변경하는 등 제품 전략 변화가 잦다.
- Copilot Studio의 메시지 용량 기반 과금은 사용량이 늘면 비용이 예측 불가능하게 증가할 수 있다.
- 기업 환경에서 Copilot for M365를 사용하려면 E3/E5 라이센스가 필요하고, 추가 Copilot 라이센스도 요구된다.
독립 개발자라면 Azure AI Studio + Semantic Kernel 조합으로 직접 에이전트를 만드는 것이 유연성 면에서 유리하다. 기업 환경에서 빠르게 도입해야 한다면 Copilot Studio가 학습 곡선이 낮다.