ms-agent-framework에서 제안하는 핵심 원칙은 단순하다: 에이전트를 만드는 에이전트와 에이전트를 운영하는 에이전트를 완전히 분리한다. 이 글은 Microsoft Agent Framework와 Microsoft Foundry를 이용해 SKILL-first 설계로 두 레이어 아키텍처를 구현하는 방법을 ZavaShop이라는 가상 이커머스 기업 사례로 설명한다.
왜 두 레이어인가
대부분의 에이전트 튜토리얼은 “에이전트 빌드”와 “에이전트 실행”을 하나의 코드 덩어리로 섞어버린다. 이러면 두 가지 문제가 생긴다:
- 빌드 타임 요구사항(코드 컨벤션, 픽스처, 검증)이 런타임 추론 로직과 뒤엉킴
- 도메인 지식이 프롬프트에 흩어져 버전 관리·재사용이 어려움
두 레이어를 분리하면:
Layer 1 (빌드 타임) ─ Coding Agent + SKILL → 에이전트 아티팩트 생성 → Foundry 배포
Layer 2 (런타임) ─ Runtime Agent → 사용자 요청 처리 → 채널로 응답 스트리밍Layer 1: Coding Agent와 SKILL
SKILL이란
SKILL은 Coding Agent가 코드를 한 줄도 생성하기 전에 읽는 구조화된 명세 파일이다. 내용은 다음을 포함한다:
- 목적: 이 에이전트가 해결하는 비즈니스 문제
- 도구 목록: MCP 엔드포인트, API, 함수 시그니처
- 컨벤션: 프레임워크 스타일, 명명 규칙, 에러 처리 패턴
- 픽스처: 테스트용 샘플 데이터와 예상 출력
ZavaShop에는 6개의 SKILL이 있다: 재고 조회, 공급업체 알림, 배송 추적, 이상 탐지, 대시보드 집계, 보고서 생성.
Coding Agent의 워크플로 (한 문장 → 실행 가능한 에이전트)
Step 1 — 라우팅: 입력 요청을 적절한 SKILL에 매핑
Step 2 — 계획: 구현 계획 수립 (도구·컨벤션·픽스처 기반)
Step 3 — 생성: SKILL에 맞는 에이전트 코드 작성
Step 4 — 검증: 생성된 에이전트를 픽스처로 자동 테스트
Step 5 — 완료: Foundry에 패키징·배포# Python 예시 — Coding Agent가 생성하는 Runtime Agent 구조
agent = client.create_agent(
name="Zara",
instructions=skill.to_prompt(), # SKILL → 프롬프트 변환
tools=skill.tools, # SKILL에 정의된 도구 목록
model="gpt-4o",
)Layer 2: Runtime Agent
Runtime Agent는 빌드 결과물이다. 실제 사용자 요청을 받아 처리한다.
작동 구조
- 사용자 채널(Slack, Teams, API 등)에서 요청 수신
- 계획 수립 및 다음 단계 추론
- MCP·Toolbox·로컬 함수를 통해 도구 호출
- 메모리 읽기·쓰기 (장기 컨텍스트 유지)
- 결과를 채널로 스트리밍
특징
- 프레임워크와 모델에 독립적: SKILL이 바뀌어도 Runtime Agent 구조는 그대로
- 멀티채널: 동일한 에이전트를 Slack, 웹, API로 동시 서빙 가능
- 메모리 내장: 사용자별 장기 기억을 유지해 반복 설명 불필요
ZavaShop 적용 예시
ZavaShop CEO는 5개 물류센터·수십 개 공급업체의 데이터를 한 대시보드에서 보고 싶다. SKILL-first 접근:
inventory-skill.md→ Coding Agent가 재고 조회 에이전트 생성supplier-skill.md→ 공급업체 알림 에이전트 생성dashboard-skill.md→ 집계 대시보드 에이전트 생성- 세 에이전트를 Foundry에 배포 → CEO 채널에 연결
SKILL이 모든 컨벤션을 담고 있으므로 세 에이전트가 동일한 API 스타일, 에러 형식, 로깅 패턴을 자동으로 따른다.
Python과 .NET 지원
Python과 .NET(C#) 모두 동등하게 지원한다. SKILL 파일 형식은 언어에 무관하고, 코드 생성 단계에서만 언어가 갈린다. 팀이 주력으로 쓰는 언어 그대로 사용하면 된다.
참고 자료
- Agents That Build Agents: A SKILL-first Blueprint with MS Agent Framework & Foundry — Microsoft Tech Community (2026-05-31)