microsoft/ai-agents-for-beginners는 AI 에이전트를 만드는 법을 기초 개념부터 운영·보안까지 단계별로 가르치는 마이크로소프트 공식 무료 강의 레포다. 코드 라이브러리가 아니라 커리큘럼(강의 콘텐츠) 레포라는 점이 핵심 — 각 레슨은 README 설명 + 영상 + 직접 돌려볼 수 있는 Jupyter 노트북 예제로 구성된다.
개인 블로그·유튜브 시리즈가 인기 강사가 쓴 참고서라면, 이 레포는 마이크로소프트가 직접 운영하며 신판을 찍어내고 50개 언어로 번역까지 자동 갱신하는 교과서다. 신뢰성·최신성·정합성이 보장된다.
핵심은 패턴 중심 구성이다. 1회용 코드가 아니라, 어디서든 재활용되는 6대 에이전트 설계 패턴(Tool Use·Agentic RAG·Planning·Multi-Agent·Metacognition·Context Engineering)을 골격으로 가르친다.
개인 블로그·유튜브 시리즈는 잘 가르치지만 자료가 흩어져 있고, 업데이트가 작성자 사정에 달려 있다. MCP·A2A·NLWeb 같은 2025~2026 핫토픽은 따로 찾아 공부해야 했고, 신뢰할 만한 공식 한국어 자료도 드물었다.
마이크로소프트가 직접 운영하며 기초 → 패턴 → 신뢰성 → 운영·보안 흐름으로 학습 곡선을 부드럽게 설계했다. 각 레슨은 영상 + 노트북 + 추가 자료 3종 세트. 2025~2026 핫토픽(MCP·A2A·NLWeb·Context Engineering·Memory)까지 한 곳에 담겨, 따로 공부할 필요가 없다.
| 비교 대상 | 이 코스의 차별점 |
|---|---|
| 개인 블로그/유튜브 | 마이크로소프트 공식 운영 → 자료 신뢰성·최신성·정합성 보장. 50개 언어 자동 번역(한국어 포함) |
| 일반 "에이전트 개론" | 개념만이 아니라 6대 설계 패턴을 골격으로 가르쳐, 실전에서 재활용되는 구조를 익힘 |
| 프레임워크 공식 문서 | 문서는 API 나열에 가깝지만, 이 코스는 "왜·언제 쓰는가"를 영상+노트북으로 단계별 설명 |
| 유료 부트캠프 | 전액 무료 + MIT 라이선스. Codespaces로 환경 설정 0초, GitHub Models/Azure 무료 크레딧으로 실습 |
트위터에서 "마이크로소프트가 조용히 떨궜는데 대부분 모르는 최고의 무료 AI 코스"로 자주 회자된다. 공개 1년여 만에 별이 빠르게 누적돼 현재 약 6.6만 개에 도달했다.
| 기술 | 역할 | 상세 |
|---|---|---|
| MAF (Microsoft Agent Framework) | 에이전트 제작 프레임워크 | AutoGen·Semantic Kernel을 대체·보완하는 마이크로소프트의 신규 프로덕션용 에이전트 프레임워크. 두 프레임워크에서 마이그레이션 가이드 제공. pip install agent-framework |
| Azure AI Foundry Agent Service | 에이전트 호스팅·운영 | 옛 Azure AI Studio. 모델 호스팅·평가·운영을 한 곳에서. "에이전트의 호텔" |
| Python | 실습 언어 | 모든 노트북이 Python. requirements.txt + .env.example로 의존성 관리 |
| Semantic Kernel / AutoGen | 일부 예제 호환 | 레슨에 따라 SK·AutoGen 버전 노트북도 함께 제공(코드 샘플 다중 구현) |
| OpenAI 호환 모델 | 모델 잠금 회피 | MiniMax 등 OpenAI 호환 대안 함께 안내(최대 204K 토큰 컨텍스트) |
| 프로토콜 | 주도 | 역할 · 비유 |
|---|---|---|
| MCP (Model Context Protocol) | Anthropic | 에이전트 ↔ 도구/데이터 연결 표준. JSON-RPC 기반. "에이전트의 USB-C" |
| A2A (Agent-to-Agent) | Google 주도 | 에이전트끼리 직접 통신하는 표준. "에이전트의 전화기" |
| NLWeb (Natural Language Web) | Microsoft | 웹사이트를 에이전트가 자연어로 호출하게 하는 표준. "에이전트의 상점 간판" |
| 기술 | 역할 | 상세 |
|---|---|---|
| GitHub Codespaces / DevContainer | 학습 환경 | .devcontainer/ 설정으로 클릭 한 번에 클라우드 IDE 기동, 로컬 설치 0 |
| GitHub Models / GitHub Actions | 무료 모델 · 자동화 | 무료 모델 추론 제공. co-op-translator 도구로 50+ 언어 번역 자동 생성 |
| OpenTelemetry | 관측(Observability) | 운영 챕터에서 호출 비용·지연·정확도 추적에 사용 |
| Playwright + Vision LLM | CUA(컴퓨터 사용 에이전트) | Browser-Use 레슨에서 GUI를 자율 조작하는 패턴 실습 |
코스 전체가 두 기술을 중심으로 돈다. MAF는 에이전트를 만드는 도구, Foundry는 그 에이전트를 띄우는 클라우드 플랫폼이다. 로컬에서 MAF로 만들고, 운영 단계에 Foundry로 띄운다.
| 패턴 | 한 줄 설명 |
|---|---|
| Tool Use | LLM이 함수·API를 호출. ReAct(Reasoning+Acting)의 핵심. JSON Schema로 도구 정의 |
| Agentic RAG | 일반 RAG는 한 번 검색하고 끝. 검색→평가→부족하면 재검색 루프를 에이전트가 자율 수행 |
| Planning | 큰 목표를 작은 단계로 쪼개 의존 관계를 트리로. DAG planner(방향 비순환 그래프) |
| Multi-Agent | 여러 에이전트 협업. Group Chat / Sequential / Hierarchical 세 가지 배치 |
| Metacognition | 에이전트가 "내가 잘 하고 있나"를 스스로 평가·교정. Self-Reflection / Critique 루프 |
| Context Engineering | 컨텍스트 윈도우를 도구설명/기억/시스템메시지/예시/질문 슬롯으로 큐레이션 |
이 코스가 반복해서 강조하는 점 — 도구만 붙인다고 에이전트가 아니다. LLM · Tool · Memory · Planner · Goal 다섯 칸이 모두 채워져야 진짜 에이전트다.
레슨 폴더는 NN-짧은-이름 형식으로, 위 이름들은 공개 구조를 근거로 정리한 근사 표기다. 16·17번은 "Coming Soon"이라 일부 번호가 비어 있고(예: 16 Deploying Scalable, 17 Local Agents), 실제 폴더명 철자는 레포에서 최종 확인을 권장한다.
배울 것: 챗봇과 에이전트의 결정적 차이(스스로 행동), 에이전트의 다섯 요소(LLM·Tool·Memory·Planner·Goal), 그리고 MAF로 첫 에이전트를 만드는 법. AutoGen·Semantic Kernel을 대체·보완하는 마이크로소프트의 신규 프로덕션용 에이전트 프레임워크 MAF의 사용법을 익힌다.
배울 것: Tool Use(ReAct)·Agentic RAG·Planning(DAG)·Multi-Agent(Group/Sequential/Hierarchical)·Metacognition. 실전에서 반복되는 골격을 코드로 직접 구현하며 익힌다. 패턴 = 재사용 가능한 설계가 이 코스의 핵심 가치.
배울 것: 가드레일 설계, eval set으로 평가, OpenTelemetry로 호출 비용·지연·정확도 관측, 그리고 프로덕션 투입 시의 보안. "느낌으로 잘 도네"가 아니라 측정 가능한 운영으로 넘어가는 법.
배울 것: MCP(에이전트 ↔ 도구 표준)·A2A(에이전트 ↔ 에이전트 표준)·NLWeb(웹 ↔ 에이전트 표준). 셋이 각자 다른 문제를 푼다는 것을 구분하고, MCP 서버를 직접 만들어 여러 모델에서 같은 도구를 재사용하는 법을 익힌다.
배울 것: "프롬프트 엔지니어링"을 넘어선 컨텍스트 윈도우 큐레이션 — 도구 설명/기억/시스템 메시지/예시/질문 5개 슬롯의 배분. 그리고 단기·장기 에이전트 메모리 설계.
배울 것: Playwright + Vision LLM으로 GUI를 직접 운전하는 패턴. 화면을 보고(Vision) 클릭·입력을 자율 결정하는, 이른바 Browser-Use / Computer Use Agent 구현.
| 항목 | 최소 | 권장 |
|---|---|---|
| 실행 방식 | 웹 브라우저 + GitHub 계정 (Codespaces) | Codespaces (환경 설정 0초) |
| 로컬 대안 | Python 3.10+, Jupyter, Git | 가상환경 + requirements.txt 설치 |
| 모델 접근 | GitHub Models 무료 모델 (예: GPT-4o-mini) | Azure AI Foundry / OpenAI 호환 키 |
| 클라우드 계정 | 일부 레슨만 Azure 필요 | Azure 무료 크레딧 + Foundry |
| 네트워크 | 인터넷 연결 필수 (모델 API 호출) | 안정적인 연결 |
| 언어 | 영어 README | translations/ko 한국어 번역본 병행 |
| 셋업 방법 | 장점 | 단점 |
|---|---|---|
| GitHub Codespaces | 클릭 한 번, 로컬 설치 불필요, .devcontainer 자동 적용 | 월 무료 시간 한도 |
| 로컬 venv + Jupyter | 완전 제어, 오프라인 노트 편집 | Python·키 직접 설정 필요 |
| GitHub Models | 카드 없이 무료 모델 추론 | 레이트 리밋 존재 |
| Azure AI Foundry | 운영급 호스팅·평가·관측 | 구독·크레딧 필요 |
Codespaces + GitHub Models 무료 모델(또는 GPT-4o-mini)을 쓰면 레슨 하나를 사실상 무료에 가깝게 끝낼 수 있다. Azure가 필요한 레슨만 무료 크레딧으로 처리하자.
레포 우상단 Code → Codespaces 한 번으로 클라우드 IDE를 띄우고, 01 Intro 레슨 노트북을 끝까지 실행해본다. 로컬 환경을 만들 필요가 없다.
04 Tool Use 레슨을 따라가며 자주 쓰는 공공 API(날씨·환율) 하나를 도구로 등록한다. "오늘 도쿄 갈 만해?"를 에이전트가 직접 판단하게 만든다.
# MAF 도구 등록 (개념 스케치)
from agent_framework import tool
@tool
def get_weather(city: str) -> str:
"""도시의 현재 날씨를 조회한다"""
# 공공 날씨 API 호출 → 요약 반환
return fetch_weather_api(city)
# 에이전트가 질문을 받으면 알아서 이 도구를 골라 부른다
05 Agentic RAG를 변형해, 노션·옵시디언 노트를 검색 인덱스에 넣고 "검색 → 평가 → 부족하면 재검색" 루프로 답하는 에이전트를 만든다.
11 Protocols를 따라 자주 쓰는 REST API 5개를 MCP 서버로 감싼다. Claude Desktop·MAF 양쪽에서 같은 도구를 호출할 수 있게 된다.
# my_mcp_server.py (FastMCP 예시)
from fastmcp import FastMCP
mcp = FastMCP("내 도구 서버")
@mcp.tool()
def search_docs(q: str) -> list:
"""사내 문서를 검색한다"""
return do_search(q)
if __name__ == "__main__":
mcp.run()
08 Multi-Agent로 "리서처 → 작성자 → 검수자" 파이프라인(Sequential)을 만들고, 10 Production을 참고해 100개 테스트 쿼리로 eval set을 구성, OpenTelemetry로 호출을 추적한다.
| 레슨 | 학습 내용 | 실습 |
|---|---|---|
| 01 Intro | 에이전트 개념 · 챗봇과의 차이 | Codespaces로 1장 노트북 실행 |
| 02 Frameworks | MAF · SK · AutoGen 지형도 | MAF 설치 후 hello-agent |
| 03 Design Patterns | 6대 패턴 개요 | 패턴 분류표 직접 작성 |
| 04 Tool Use | 도구 호출 · ReAct | 공공 API 1개를 도구로 등록 |
| 레슨 | 학습 내용 | 실습 |
|---|---|---|
| 05 Agentic RAG | 자율 검색 루프 | 내 노트를 RAG로 |
| 07 Planning | DAG 플래너 · 단계 분해 | 여행 일정 플래너 에이전트 |
| 08 Multi-Agent | Group/Sequential/Hierarchical | 리서처→작성자→검수자 파이프라인 |
| 레슨 | 학습 내용 | 실습 |
|---|---|---|
| 06 Trustworthy | 가드레일 · 안전장치 | 위험 입력 차단 규칙 |
| 09 Metacognition | 자기 평가 · Critique 루프 | Self-Reflection 추가 |
| 11 Protocols | MCP · A2A · NLWeb | MCP 서버 직접 제작 |
| 레슨 | 학습 내용 | 실습 |
|---|---|---|
| 10 Production | eval set · OpenTelemetry | 100개 쿼리 평가 셋 |
| 12 Context Eng. | 컨텍스트 윈도우 큐레이션 | 5개 슬롯 배분 실험 |
| 13 Memory | 단기·장기 메모리 | 대화 기억 저장·회수 |
| 18 Securing | 에이전트 보안 | 프롬프트 인젝션 방어 |
시간이 남으면 15 Browser-Use를 보너스로 — Playwright + Vision LLM으로 GUI를 운전하는 CUA(Computer Use Agent) 패턴이다. (16·17번은 Coming Soon)
| 키워드 | 설명 |
|---|---|
| Agent | LLM에 도구·기억·계획·목표를 붙여 스스로 행동하게 만든 소프트웨어. 챗봇과의 결정적 차이는 "자율 행동" |
| MAF | Microsoft Agent Framework. AutoGen·Semantic Kernel을 대체·보완하는 마이크로소프트의 신규 프로덕션용 에이전트 프레임워크. pip install agent-framework |
| Azure AI Foundry | 에이전트를 클라우드에 띄우는 호스팅·평가·운영 플랫폼. 옛 Azure AI Studio |
| MCP | Model Context Protocol. 에이전트와 도구/데이터를 잇는 표준(JSON-RPC). "에이전트의 USB-C" |
| A2A | Agent-to-Agent. 에이전트끼리 직접 통신하는 표준. "에이전트의 전화기" |
| NLWeb | Natural Language Web. 웹사이트를 에이전트가 자연어로 호출하게 하는 표준. "에이전트의 간판" |
| Tool Use | LLM이 함수·API를 호출하는 기본 패턴. JSON Schema로 도구 정의 |
| ReAct | Reasoning + Acting. 추론하며 도구를 사용하는 에이전트 프레임워크 |
| RAG | Retrieval-Augmented Generation. 외부 문서를 찾아 답에 섞는 방식. "오픈북 시험" |
| Agentic RAG | 검색→평가→부족하면 재검색 루프를 에이전트가 자율 수행하는 RAG |
| Planning (DAG) | 큰 목표를 작은 단계로 쪼개 의존 관계를 방향 비순환 그래프로 표현 |
| Multi-Agent | 여러 에이전트 협업. Group Chat / Sequential / Hierarchical 배치 |
| Metacognition | 에이전트가 자기 수행을 평가·교정하는 메타인지. Self-Reflection / Critique |
| Context Engineering | 컨텍스트 윈도우를 도구설명/기억/시스템/예시/질문 슬롯으로 큐레이션 |
| Agent Memory | 대화·결과를 단기·장기로 저장·회수하는 에이전트 기억 시스템 |
| CUA | Computer Use Agent. Playwright+Vision LLM으로 GUI를 자율 조작 |
| eval set | 테스트 쿼리 묶음. 정확도·지연·비용을 정량 측정하는 평가 기준 |
| OpenTelemetry | 호출·지연·비용을 기록하는 관측(Observability) 표준 |
| Codespaces | GitHub의 클라우드 IDE. .devcontainer로 환경을 클릭 한 번에 기동 |
| GitHub Models | 카드 없이 쓸 수 있는 무료 모델 추론. 실습 비용 절감의 핵심 |