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이 여기에 속한다. 개발자는 이 계층에 플러그인·확장을 추가할 수 있다.
Microsoft Copilot Stack 해부 — AI 플랫폼 전략과 개발자 영향 — 기술 발표 핵심 데이터 (출처: 공식 문서 및 벤치마크 데이터 기반)
진입점 선택 기준: 빠른 프로토타이핑이 목표면 Copilot Studio, 완전한 커스터마이즈가 필요하면 Semantic Kernel + Azure AI Studio, 기존 Microsoft 365 환경에 AI를 추가하는 것이면 Copilot Studio + Teams AI Library 조합을 권장한다.
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 — 언제 무엇을 쓰나
이 두 도구의 이름이 비슷해서 혼동하기 쉽지만 대상 사용자와 목적이 완전히 다르다.
Microsoft Copilot Stack 해부 — AI 플랫폼 전략과 개발자 영향 — 서비스 아키텍처 변화 (출처: 공식 문서 및 벤치마크 데이터 기반)
실무에서 두 도구가 혼합되는 경우도 있다. 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으로 선택한 코드만 참조할 수 있다.
Microsoft Copilot Stack 해부 — AI 플랫폼 전략과 개발자 영향 — 시장 영향 분석 차트 (출처: 공식 문서 및 벤치마크 데이터 기반)
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와 유사하다.
Memory & State: 대화 기록, 사용자 상태를 Azure Storage에 자동으로 저장/복원한다.
Teams AI Library는 Node.js와 .NET을 지원한다. Microsoft의 teams-ai GitHub 저장소에서 오픈소스로 관리되며, 샘플 앱이 풍부하게 제공된다.
주의 — 이름 혼동: "Copilot"이라는 이름이 붙은 제품이 너무 많다. Microsoft 365 Copilot(업무용 AI 어시스턴트), GitHub Copilot(코딩 AI), Copilot Studio(봇 빌더), Windows Copilot(OS AI), Copilot+ PC(하드웨어 브랜드)는 각각 다른 제품이다. 공식 문서를 참조할 때 정확한 제품명을 확인하지 않으면 엉뚱한 API를 찾게 된다.
개발자 생태계에 미치는 영향과 전략적 판단
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가 학습 곡선이 낮다.
Microsoft CopilotSemantic KernelAzure AI StudioCopilot StudioGitHub CopilotAI플랫폼