필사 모드: AI 에이전트 프레임워크 2026 완벽 가이드 - LangGraph · AutoGen · CrewAI · Semantic Kernel · OpenAI Agents SDK · Claude Agent SDK · Pydantic AI 심층 분석
한국어들어가며 — 2026년 5월, "에이전트 프레임워크" 카테고리는 끝났는가
2025년 말부터 2026년 1분기까지, "에이전트 프레임워크"라는 카테고리는 두 번의 큰 변곡점을 지났다. 하나는 **OpenAI Swarm 폐기 → OpenAI Agents SDK GA**, 또 하나는 **Anthropic이 Claude Code SDK를 Claude Agent SDK로 리브랜딩**한 것이다. LangChain 진영은 LangGraph 0.3에서 인터럽트와 휴먼 인 더 루프(Human in the loop)를 1급 시민으로 끌어올렸고, Microsoft는 AutoGen 0.4 액터 모델 재작성과 Semantic Kernel Agent Framework 정식 공개로 사실상 두 트랙을 모두 운영하고 있다.
이 글은 2026년 5월 시점의 "지금 프로덕션에서 골라야 할 에이전트 프레임워크" 가이드다. 마케팅 페이지를 그대로 옮기지 않는다. 실제 API 형태, 멀티 에이전트 패턴, 관측성 통합, 모델 무관성(model-agnostic) 여부, 한국/일본 커뮤니티 동향까지 짚는다.
평가 기준 — 우리가 비교할 8가지 축
비교는 항상 기준이 먼저다. 이 글은 다음 8축으로 프레임워크를 분해한다.
1. **그래프/상태 모델**: 명시적 상태 머신인가, 자유 대화인가, 이벤트 워크플로인가
2. **도구 호출(tool calling)**: 함수 시그니처 → JSON 스키마 변환을 누가 책임지는가
3. **멀티 에이전트 패턴**: handoff, supervisor-worker, magentic, role-based 등
4. **인터럽트 + 재개**: 체크포인트, 휴먼 인 더 루프, 장기 실행 작업 지원
5. **메모리**: 단기(컨텍스트 윈도)와 장기(벡터/그래프) 메모리 추상화
6. **관측성**: 트레이싱, 평가(eval), 디버깅 UI
7. **모델 무관성**: OpenAI/Anthropic/Gemini/오픈소스 모델 스위치 비용
8. **언어 SDK**: Python 외 .NET, TypeScript, Java 지원 폭
한눈에 보기 — 2026년 5월 프레임워크 라인업
| 프레임워크 | 제공자 | 1차 언어 | 핵심 모델 | 멀티 에이전트 |
| --- | --- | --- | --- | --- |
| LangGraph 0.3+ | LangChain | Python, TS | 상태 그래프 + 체크포인트 | supervisor, swarm |
| AutoGen 0.4 | Microsoft | Python | 비동기 액터 | GroupChat, Magentic-One |
| CrewAI | CrewAI Inc. | Python | role-based crew + Flows | hierarchical, sequential |
| Semantic Kernel 1.30+ | Microsoft | .NET, Python, Java | plugin + planner | Agent Framework |
| OpenAI Agents SDK | OpenAI | Python, TS | Responses API + handoff | handoff DAG |
| Claude Agent SDK | Anthropic | Python, TS | system prompt + tools + MCP | subagents |
| Pydantic AI | Pydantic Team | Python | 타입 안전 에이전트 | delegation |
| Smol Agents | Hugging Face | Python | 코드 실행 에이전트 | managed agents |
| LlamaIndex Agent Workflows | LlamaIndex | Python, TS | event-driven workflow | multi-agent workflow |
| Vercel AI SDK | Vercel | TypeScript | streaming + tool calling | 수동 오케스트레이션 |
각 행은 마케팅 슬로건이 아니라 실제 API 모양에서 직접 추출했다. 이제 한 프레임워크씩 본다.
LangGraph 0.3 — 상태 그래프 + 체크포인트의 사실상 표준
LangGraph는 LangChain 팀이 만든 그래프 기반 오케스트레이션 라이브러리다. 0.3 라인업의 핵심은 세 가지다.
- **인터럽트 + 재개를 1급 시민으로**: `interrupt()` 호출 시 그래프 실행이 멈추고, 외부에서 사람이 결정을 내린 뒤 `Command` 객체로 그래프를 재개한다.
- **체크포인터 다양화**: 메모리, SQLite, Postgres, Redis 체크포인터가 정식 채택됐다.
- **LangGraph Studio + LangSmith**: 그래프를 시각적으로 디버깅하고, 트레이스를 LangSmith로 자동 전송한다.
전형적인 LangGraph 0.3 코드는 다음과 같다.
from typing import Annotated, TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.checkpoint.memory import MemorySaver
from langgraph.types import interrupt, Command
class State(TypedDict):
messages: Annotated[list, "msgs"]
approved: bool
def plan(state: State) -> State:
return {"messages": state["messages"] + ["plan drafted"]}
def human_review(state: State) -> State:
decision = interrupt({"plan": state["messages"][-1]})
return {"approved": decision == "approve"}
def execute(state: State) -> State:
if not state["approved"]:
return {"messages": state["messages"] + ["aborted"]}
return {"messages": state["messages"] + ["executed"]}
graph = (
StateGraph(State)
.add_node("plan", plan)
.add_node("human_review", human_review)
.add_node("execute", execute)
.add_edge(START, "plan")
.add_edge("plan", "human_review")
.add_edge("human_review", "execute")
.add_edge("execute", END)
.compile(checkpointer=MemorySaver())
)
LangGraph의 매력은 **그래프 토폴로지가 코드에 그대로 드러난다는 점**이다. 노드와 엣지가 명시적이라 디버깅과 재현이 쉽다. 단점은 진입 비용이다. 단순 챗봇 하나 만들겠다고 그래프, 상태, 체크포인터, 인터럽트를 모두 익혀야 한다.
AutoGen 0.4 — 액터 모델 기반 비동기 재작성
Microsoft Research의 AutoGen은 0.4에서 사실상 처음부터 다시 쓰였다. 0.2까지의 동기 GroupChat 모델이 디버깅과 스케일에서 한계에 부딪히자, 비동기 액터 모델을 기반으로 재설계됐다.
핵심 컴포넌트는 다음과 같다.
- **`autogen-core`**: 액터 런타임. 비동기 메시지 패싱과 라우팅.
- **`autogen-agentchat`**: 0.2와 유사한 멀티 에이전트 대화 추상.
- **`autogen-ext`**: OpenAI, Anthropic, Azure OpenAI, Ollama 등 외부 통합.
- **AutoGen Studio**: 노코드 디자이너 + 디버거.
- **Magentic-One**: 범용 멀티 에이전트 시스템. WebSurfer, FileSurfer, Coder, ComputerTerminal 등 사전 정의된 에이전트가 Orchestrator 아래에서 협업.
간단한 두 에이전트 협업 코드는 다음과 같다.
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.conditions import MaxMessageTermination
from autogen_ext.models.openai import OpenAIChatCompletionClient
async def main():
client = OpenAIChatCompletionClient(model="gpt-4o")
writer = AssistantAgent("writer", client, system_message="You write drafts.")
reviewer = AssistantAgent("reviewer", client, system_message="You critique drafts.")
team = RoundRobinGroupChat([writer, reviewer], termination_condition=MaxMessageTermination(6))
await team.run(task="Draft a 3-sentence pitch for a Korean coffee subscription.")
asyncio.run(main())
AutoGen 0.4의 강점은 **분산 실행과 관측성**이다. OpenTelemetry 트레이싱이 내장되고, 액터별로 로그가 분리된다. Magentic-One은 그 자체로 GAIA 벤치마크 SOTA급 성능을 보여주는 참조 구현이다.
CrewAI — 역할 기반 협업의 가장 직관적인 추상
CrewAI는 "역할이 있는 사람들이 모인 회사"를 그대로 모델링한다. Agent, Task, Crew, Process가 핵심 추상이다.
- **Agent**: 역할(role), 목표(goal), 백스토리(backstory)를 가진 에이전트.
- **Task**: 명시적 입력/출력을 가진 작업.
- **Crew**: 에이전트 + 작업의 묶음.
- **Process**: 순차(sequential) 또는 계층(hierarchical) 실행.
- **Flows**: 2025년 말 추가된 이벤트 기반 결정 API. Crew와 결합해 조건부 분기와 상태 유지.
전형적인 CrewAI 코드는 다음과 같다.
from crewai import Agent, Task, Crew, Process
researcher = Agent(
role="시니어 리서처",
goal="AI 에이전트 시장 동향 조사",
backstory="기술 분석가 10년 경력",
allow_delegation=False,
)
writer = Agent(
role="테크 라이터",
goal="조사 결과를 블로그 포스트로 변환",
backstory="개발자 출신 기술 작가",
)
research = Task(
description="2026년 AI 에이전트 프레임워크 10개 비교",
expected_output="markdown 표 + 핵심 시그널",
agent=researcher,
)
draft = Task(
description="research 결과를 1500자 글로 변환",
expected_output="markdown 본문",
agent=writer,
context=[research],
)
crew = Crew(agents=[researcher, writer], tasks=[research, draft], process=Process.sequential)
result = crew.kickoff()
CrewAI Enterprise는 SaaS로 제공되며, 자체 호스팅 옵션과 함께 평가/배포/모니터링 파이프라인을 묶는다. 가장 빨리 데모를 만들 수 있는 프레임워크 중 하나다.
Semantic Kernel 1.30+ — Microsoft의 .NET/Python/Java 통합 트랙
Semantic Kernel은 Microsoft가 Copilot 스택 전반에서 사용하는 SDK다. 2026년 5월 기준 1.30 라인업의 특징은 다음과 같다.
- **Agent Framework가 정식 GA**: `ChatCompletionAgent`, `OpenAIAssistantAgent`, `AzureAIAgent`, `BedrockAgent`가 통일된 인터페이스로 노출.
- **Plugin 시스템**: 함수에 어트리뷰트만 붙이면 자동으로 도구로 노출. C#에서는 `KernelFunctionAttribute`, Python에서는 `@kernel_function`.
- **Planner**: 자연어 목표를 받아 plugin 호출 시퀀스를 생성. Function Calling planner, Handlebars planner 등.
- **메모리**: Azure AI Search, Qdrant, Chroma, Postgres pgvector 등 다양한 백엔드.
C# 예시는 다음과 같다.
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Agents;
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion("gpt-4o", endpoint, apiKey);
builder.Plugins.AddFromType<WeatherPlugin>();
var kernel = builder.Build();
var agent = new ChatCompletionAgent
{
Name = "WeatherBot",
Instructions = "You answer weather questions using the Weather plugin.",
Kernel = kernel,
};
await foreach (var item in agent.InvokeAsync("서울 오늘 날씨"))
{
Console.WriteLine(item.Content);
}
.NET 환경이거나 Microsoft 365 / Azure AI Foundry 통합이 필요하면 Semantic Kernel이 사실상 기본 선택지다. Java SDK는 1.x 라인업에서 점진적으로 따라잡고 있다.
OpenAI Agents SDK — Swarm의 후계자
2024년 가을 OpenAI Swarm은 "교육용 예제"였지만, 2025년 봄 OpenAI Agents SDK로 정식 GA됐다. 핵심 추상은 4가지다.
- **`Agent`**: 모델, 시스템 프롬프트, 도구, 핸드오프, 가드레일을 묶은 단위.
- **`handoff`**: 한 에이전트가 다른 에이전트에게 제어를 넘기는 1급 객체.
- **`guardrail`**: 입력/출력에 적용되는 검증 훅. 정책 위반 시 중단.
- **`trace`**: Responses API 기반 트레이싱이 기본 내장. OpenAI 대시보드에서 시각화.
코드는 매우 짧다.
from agents import Agent, Runner, handoff
triage = Agent(
name="Triage",
instructions="Decide whether the user wants billing or technical help.",
)
billing = Agent(name="Billing", instructions="Answer billing questions.")
tech = Agent(name="Tech", instructions="Answer technical questions.")
triage.handoffs = [handoff(billing), handoff(tech)]
result = Runner.run_sync(triage, "환불 받고 싶어요")
print(result.final_output)
OpenAI Agents SDK의 장점은 **OpenAI 모델과의 통합 깊이**다. Responses API, structured output, tools, traces가 한 묶음으로 동작한다. 단점은 모델 무관성이 약하다는 것이다. LiteLLM 어댑터로 다른 모델을 끼울 수는 있으나, 일급 시민은 OpenAI다.
Claude Agent SDK — Claude Code SDK의 리브랜딩
Anthropic은 2025년 말 Claude Code SDK를 **Claude Agent SDK**로 리브랜딩했다. 이름 변경의 의미는 분명하다. "코딩 전용 도구"가 아니라 "Claude 기반 에이전트를 만드는 범용 SDK"로 포지셔닝한 것이다.
핵심 빌딩 블록은 다음과 같다.
- **시스템 프롬프트 빌더**: 역할, 도구 설명, 안전 가이드라인을 합성.
- **도구(tools)**: 함수 + JSON 스키마. `bash`, `file_edit`, `web_search` 같은 내장 도구.
- **MCP (Model Context Protocol)**: 외부 컨텍스트 소스를 표준 프로토콜로 끼움. 2025년 11월 Anthropic이 공개한 후 사실상 업계 표준이 됐다.
- **subagents**: 메인 에이전트가 더 작은 에이전트를 호출하는 패턴.
Python TypedDict 기반 예시는 다음과 같다.
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
system="You are a helpful coding assistant.",
tools=[
{
"name": "read_file",
"description": "Read a file from disk",
"input_schema": {
"type": "object",
"properties": {"path": {"type": "string"}},
"required": ["path"],
},
}
],
messages=[{"role": "user", "content": "read README.md"}],
)
Claude Agent SDK의 강점은 **긴 컨텍스트 + 도구 호출 안정성**이다. Claude 4.5/4.6 시리즈는 200K 토큰 컨텍스트 윈도와 강한 도구 호출 일관성으로 알려져 있고, SDK는 이를 그대로 노출한다.
Pydantic AI — 타입 안전 에이전트 프레임워크
Pydantic 팀이 만든 Pydantic AI는 2024년 말 첫 공개 이후 빠르게 점유율을 늘리고 있다. 슬로건은 단순하다. "FastAPI가 API 서버에 한 일을 에이전트에 한다."
핵심 디자인 결정은 다음과 같다.
- **타입 안전성**: 입력, 도구, 출력 모두 Pydantic 모델로 타입.
- **의존성 주입**: 에이전트 실행 시 외부 컨텍스트(DB 연결, API 키, 사용자 정보)를 주입.
- **structured response**: LLM 출력을 항상 Pydantic 모델로 강제.
- **모델 무관성**: OpenAI, Anthropic, Gemini, Groq, Mistral, Ollama 등 동일 인터페이스.
코드는 매우 Pythonic이다.
from pydantic import BaseModel
from pydantic_ai import Agent, RunContext
class WeatherResponse(BaseModel):
city: str
temperature_c: float
condition: str
class Deps(BaseModel):
api_key: str
agent = Agent(
"anthropic:claude-sonnet-4-6",
deps_type=Deps,
output_type=WeatherResponse,
system_prompt="You answer weather questions using the get_weather tool.",
)
@agent.tool
def get_weather(ctx: RunContext[Deps], city: str) -> dict:
return {"city": city, "temperature_c": 21.0, "condition": "맑음"}
result = agent.run_sync("서울 날씨 알려줘", deps=Deps(api_key="..."))
print(result.output)
타입 안전성에 진심인 팀, 특히 FastAPI 기반 백엔드 팀이 빠르게 채택하고 있다.
Smol Agents — Hugging Face의 코드 실행 에이전트
Hugging Face가 2024년 말 공개한 Smol Agents는 "에이전트는 함수 호출이 아니라 코드를 작성해야 한다"는 ReAct + CodeAct 노선을 따른다.
- **CodeAgent**: 매 턴마다 Python 코드를 작성해 실행. 함수 호출 JSON 대신 진짜 코드.
- **ToolCallingAgent**: 전통적인 JSON 함수 호출 모드.
- **샌드박스**: E2B, Docker, 로컬 인터프리터 등 격리된 실행 환경.
- **HF Hub 통합**: 도구와 에이전트를 Hub에 push/pull.
from smolagents import CodeAgent, HfApiModel, DuckDuckGoSearchTool
model = HfApiModel("meta-llama/Llama-3.3-70B-Instruct")
agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=model)
agent.run("2026년 AI 에이전트 시장 규모 한 줄 요약")
코드 실행 노선은 도구 조합과 데이터 변환을 자유롭게 한다. 단점은 샌드박스 비용과 보안 표면적이다.
LlamaIndex Agent Workflows — 이벤트 기반 워크플로
LlamaIndex는 2025년 초 기존의 `AgentRunner`/`AgentWorker`를 **Workflows**로 통합했다. 이벤트 기반 아키텍처가 핵심이다.
- 노드는 이벤트를 받고, 다른 이벤트를 방출(emit)한다.
- 분기는 이벤트 타입으로 자연스럽게 표현된다.
- 멀티 에이전트 워크플로는 별도 모듈(`MultiAgentWorkflow`)로 제공된다.
- LlamaIndex의 인덱스/리트리버 생태계와 자연스럽게 통합된다.
from llama_index.core.workflow import Workflow, step, Event, StartEvent, StopEvent
class ResearchEvent(Event):
query: str
class MyWorkflow(Workflow):
@step
async def start(self, ev: StartEvent) -> ResearchEvent:
return ResearchEvent(query=ev.input)
@step
async def research(self, ev: ResearchEvent) -> StopEvent:
실제로는 retriever 호출
return StopEvent(result=f"summary of {ev.query}")
asyncio.run(MyWorkflow().run(input="AI agents 2026"))
RAG가 핵심 사용처라면 LlamaIndex Workflows는 거의 자연스러운 선택이다.
Vercel AI SDK — TypeScript-first, 스트리밍 + 도구 호출의 정석
Vercel AI SDK는 프런트엔드/풀스택 TypeScript 진영에서 사실상 표준이다. 2026년 5월 기준 4.x 라인업의 특징은 다음과 같다.
- **`streamText`, `generateText`, `generateObject`**: 단순 함수형 API.
- **`tools`**: zod 스키마로 도구 정의. 타입 추론이 깔끔하다.
- **`useChat`, `useCompletion`**: React 훅으로 스트리밍 UI.
- **공급자 추상화**: `@ai-sdk/openai`, `@ai-sdk/anthropic`, `@ai-sdk/google`, `@ai-sdk/mistral` 등.
const result = await generateText({
model: anthropic("claude-sonnet-4-6"),
tools: {
getWeather: tool({
description: "Get current weather for a city",
parameters: z.object({ city: z.string() }),
execute: async ({ city }) => ({ city, tempC: 21 }),
}),
},
prompt: "서울 날씨 알려줘",
});
Vercel AI SDK는 의도적으로 "에이전트 오케스트레이션 프레임워크가 아니다"라는 입장이다. 멀티 에이전트는 직접 구현하라는 것. 그래서 단순 챗 + 도구 호출 시나리오에서는 가장 빠르게 가는 길이지만, 복잡한 그래프는 적합하지 않다.
멀티 에이전트 패턴 비교 — 같은 문제, 다른 표현
같은 "리서치 → 작성 → 리뷰" 워크플로를 5개 프레임워크가 어떻게 표현하는지 보자.
| 프레임워크 | 표현 방식 |
| --- | --- |
| LangGraph | 노드 3개 + 명시적 엣지. 상태에 모든 중간 결과 저장. |
| AutoGen | RoundRobinGroupChat 또는 SelectorGroupChat. 종료 조건 명시. |
| CrewAI | Agent 3 + Task 3 + Process.sequential. context로 결과 전달. |
| OpenAI Agents SDK | 트리아지 에이전트 + handoff 2개. Runner가 라우팅. |
| Claude Agent SDK | 메인 에이전트가 subagent 호출. 도구처럼 노출. |
핵심 차이는 **"누가 라우팅을 결정하는가"**다. LangGraph는 코드(엣지)가, AutoGen은 그룹 채팅 정책이, CrewAI는 프로세스 타입이, OpenAI Agents SDK는 핸드오프 결정이, Claude Agent SDK는 메인 에이전트가 결정한다.
도구 호출 — JSON 스키마 변환을 누가 책임지는가
도구 호출은 모든 프레임워크의 공통 추상이지만, 책임 분담이 다르다.
- **Pydantic AI / Semantic Kernel / Vercel AI SDK**: 타입 정의(Pydantic, C# 시그니처, zod)에서 자동 추출.
- **LangGraph / OpenAI Agents SDK**: `@tool` 데코레이터 또는 함수 시그니처에서 추출.
- **CrewAI**: BaseTool 서브클래싱 또는 `@tool` 데코레이터.
- **Claude Agent SDK / AutoGen**: 명시적 JSON 스키마 작성도 허용.
- **Smol Agents**: 코드 실행이라 스키마 자체가 없다. Python 함수가 곧 도구.
스키마 자동 생성이 강한 쪽이 개발 속도는 빠르고, 명시적 작성이 강한 쪽이 LLM에 노출되는 인터페이스를 정밀 제어하기 좋다.
인터럽트 + 휴먼 인 더 루프 — 누가 가장 잘 하는가
장기 실행 에이전트의 핵심은 "사람이 끼어들 수 있는가"다.
- **LangGraph**: `interrupt()` + `Command`로 1급 시민. 체크포인터와 결합되어 일시정지/재개가 자연스럽다.
- **AutoGen**: `UserProxyAgent`로 표현. 다소 우회적.
- **CrewAI**: Human Input task로 부분 지원.
- **OpenAI Agents SDK**: 가드레일 차단 또는 메인 루프 외부에서 처리.
- **Semantic Kernel**: Process Framework로 외부 이벤트와 결합.
- **Claude Agent SDK**: 도구 호출 승인 인터페이스가 SDK 레벨에서 노출.
장기 실행 + 사람 결재가 중요한 워크플로(예: 환불 승인, 코드 변경 머지)는 LangGraph가 가장 자연스럽다.
관측성 — 트레이스가 없으면 디버깅 불가능
에이전트는 비결정적이라 트레이스가 없으면 디버깅이 사실상 불가능하다.
- **LangGraph**: LangSmith 자동 통합. 노드별 입출력, 토큰, 비용 시각화.
- **AutoGen 0.4**: OpenTelemetry 내장. Jaeger, Honeycomb, Datadog과 연결.
- **CrewAI**: Crew 자체 대시보드 + 외부 통합(W&B, Langfuse).
- **OpenAI Agents SDK**: Responses API 트레이스가 OpenAI 대시보드에 자동 표시.
- **Claude Agent SDK**: Anthropic 콘솔의 trace + 평가(eval) 기능.
- **Pydantic AI**: Logfire(Pydantic Team) 자연 통합.
- **Vercel AI SDK**: OpenTelemetry + Vercel Observability.
관측 도구 중에서 **Langfuse, Arize, Helicone**은 프레임워크 무관 옵션으로 자주 등장한다.
모델 무관성 — 갈아끼우기 쉬운 정도
모델 가격이 분기마다 바뀌는 시대에 모델 무관성은 비용 문제다.
- **모델 무관성 강함**: LangGraph, AutoGen, CrewAI, Pydantic AI, Smol Agents, Vercel AI SDK, LlamaIndex.
- **자사 모델 우선**: OpenAI Agents SDK(OpenAI 우선), Claude Agent SDK(Claude 우선).
- **Microsoft 라인업 우선**: Semantic Kernel(Azure OpenAI + AOAI Bedrock 호환).
자사 모델 우선 프레임워크라도 LiteLLM이나 OpenAI 호환 게이트웨이로 우회할 수는 있다. 다만 트레이싱과 도구 형식이 자사 모델 기준으로 최적화되어 있어, 갈아끼우면 일부 기능이 약해진다.
한국 커뮤니티 — LangChain Korea가 중심축
한국 AI 에이전트 커뮤니티는 2024년 후반 시작된 LangChain Korea 모임이 사실상 허브 역할을 한다. 정기 밋업, 한국어 튜토리얼, LangGraph 한국어 워크숍이 활발하다.
또 하나의 축은 **모두의연구소 LLM 풀스택 트랙**과 **패스트캠퍼스 / 인프런 강의**다. 2026년 1분기 기준 LangGraph, CrewAI, OpenAI Agents SDK 한국어 강의가 출시됐다.
기업 도입 사례는 다음 패턴이 자주 보인다.
- 네이버 / 카카오 / LG AI: 자체 모델 + LangChain/LangGraph로 사내 에이전트.
- 스타트업: OpenAI Agents SDK 또는 Claude Agent SDK + Pydantic AI 조합으로 빠르게 MVP.
- 핀테크: Semantic Kernel(.NET 백엔드)과 휴먼 인 더 루프 강조.
일본 커뮤니티 — Microsoft 라인업과 LlamaIndex 강세
일본은 두 가지 트랙이 두드러진다.
- **Microsoft Tokyo + 일본 SI 업계**: Semantic Kernel과 Azure AI Foundry 채택률이 높다. 일본어 문서화도 활발.
- **LlamaIndex 일본 유저 그룹**: 도쿄/오사카 정기 밋업. RAG 중심.
또 **PFN(Preferred Networks)**, **Sakana AI** 같은 연구 중심 조직은 자체 프레임워크를 만들거나, AutoGen / LangGraph를 포크해 실험한다. Qiita와 Zenn에는 2026년 들어 OpenAI Agents SDK, Claude Agent SDK 일본어 튜토리얼이 빠르게 늘고 있다.
어떤 프레임워크를 골라야 하는가 — 시나리오별 가이드
이 글의 결론을 시나리오별로 압축하면 다음과 같다.
- **장기 실행 워크플로 + 휴먼 인 더 루프**: LangGraph 0.3.
- **연구 프로토타입 + 멀티 에이전트 실험**: AutoGen 0.4 + Magentic-One.
- **빠른 데모 + 역할 기반 협업**: CrewAI.
- **.NET / Azure 통합**: Semantic Kernel.
- **OpenAI 모델 중심 + 핸드오프**: OpenAI Agents SDK.
- **Claude 모델 + 긴 컨텍스트 + MCP**: Claude Agent SDK.
- **타입 안전성 + FastAPI 스타일**: Pydantic AI.
- **코드 실행 + HF 생태계**: Smol Agents.
- **RAG 중심**: LlamaIndex Agent Workflows.
- **TypeScript 프런트엔드 + 스트리밍**: Vercel AI SDK.
대부분의 프로덕션 시스템은 **둘 이상을 조합한다**. 예를 들어 Vercel AI SDK로 프런트엔드를 만들고 백엔드는 LangGraph로 오케스트레이션하는 식이다.
마치며 — 프레임워크는 사라지지 않고 분기한다
2026년 5월 시점에서 "프레임워크 통합"은 일어나지 않았다. 오히려 분기가 더 뚜렷해졌다. OpenAI와 Anthropic은 자사 모델 + SDK 통합 노선으로, Microsoft는 .NET + Azure 통합 노선으로, LangChain은 그래프 + 관측성 노선으로, Pydantic은 타입 안전 노선으로 갔다.
이런 분기 자체가 시장 성숙의 신호다. "에이전트를 만드는 단 하나의 방법"은 없다. 워크로드 특성, 팀 언어 선택, 모델 의존성, 관측성 요구사항이 모두 다르기 때문이다. 이 글이 자신의 사용 사례에 맞는 프레임워크를 고르는 출발점이 되기를 바란다.
참고 자료
1. [LangGraph 공식 문서](https://langchain-ai.github.io/langgraph/)
2. [LangGraph GitHub](https://github.com/langchain-ai/langgraph)
3. [AutoGen 0.4 공식 문서](https://microsoft.github.io/autogen/)
4. [AutoGen GitHub](https://github.com/microsoft/autogen)
5. [Magentic-One 논문](https://arxiv.org/abs/2411.04468)
6. [CrewAI 공식 문서](https://docs.crewai.com/)
7. [CrewAI GitHub](https://github.com/crewAIInc/crewAI)
8. [Semantic Kernel 공식 문서](https://learn.microsoft.com/en-us/semantic-kernel/)
9. [Semantic Kernel GitHub](https://github.com/microsoft/semantic-kernel)
10. [OpenAI Agents SDK 공식 문서](https://openai.github.io/openai-agents-python/)
11. [OpenAI Agents SDK GitHub](https://github.com/openai/openai-agents-python)
12. [Claude Agent SDK 공식 문서](https://docs.anthropic.com/en/docs/claude-code/sdk)
13. [Anthropic 블로그 — Building Effective Agents](https://www.anthropic.com/research/building-effective-agents)
14. [Model Context Protocol](https://modelcontextprotocol.io/)
15. [Pydantic AI 공식 문서](https://ai.pydantic.dev/)
16. [Pydantic AI GitHub](https://github.com/pydantic/pydantic-ai)
17. [Smol Agents 블로그](https://huggingface.co/blog/smolagents)
18. [Smol Agents GitHub](https://github.com/huggingface/smolagents)
19. [LlamaIndex Workflows 문서](https://docs.llamaindex.ai/en/stable/module_guides/workflow/)
20. [LlamaIndex GitHub](https://github.com/run-llama/llama_index)
21. [Vercel AI SDK 공식 문서](https://sdk.vercel.ai/docs)
22. [Vercel AI SDK GitHub](https://github.com/vercel/ai)
23. [LangSmith 공식 사이트](https://www.langchain.com/langsmith)
24. [Langfuse 공식 사이트](https://langfuse.com/)
25. [LangChain Korea GitHub](https://github.com/teddylee777/langchain-kr)
현재 단락 (1/335)
2025년 말부터 2026년 1분기까지, "에이전트 프레임워크"라는 카테고리는 두 번의 큰 변곡점을 지났다. 하나는 **OpenAI Swarm 폐기 → OpenAI Agents S...