AI ToolsEN

AgentScope vs LangGraph vs CrewAI — 2026 멀티 에이전트 프레임워크 비교

AgentScope(알리바바), LangGraph(LangChain), CrewAI 세 프레임워크를 실제 데이터와 코드 예제로 비교. 아키텍처, LLM 지원, 멀티모달, 메모리, 프로덕션 배포까지 완전 비교.

AgentScope vs LangGraph vs CrewAI — 2026 멀티 에이전트 프레임워크 비교

AgentScope vs LangGraph vs CrewAI — 2026 멀티 에이전트 프레임워크 비교

2026년, AI 에이전트 프레임워크 춘추전국시대입니다. "어떤 프레임워크를 써야 하나요?"라는 질문을 매주 받습니다.

이 글에서 가장 많이 비교되는 세 프레임워크를 실제 데이터코드 예제로 비교합니다.

  • AgentScope — 알리바바 Tongyi Lab의 에이전트 프레임워크
  • LangGraph — LangChain 팀의 그래프 기반 워크플로우 엔진
  • CrewAI — 역할 기반 멀티 에이전트 오케스트레이션

1. 30초 요약

AgentScopeLangGraphCrewAI
한 줄 설명Agent-Oriented Programming 프레임워크그래프 기반 에이전트 워크플로우 엔진역할 기반 멀티 에이전트 오케스트레이션
만든 곳Alibaba Tongyi LabLangChain IncCrewAI Inc (Joao Moura)
GitHub 스타22K+28K+48K+
PyPI 월간 다운로드40.4M6.4M
최신 버전v1.0.18 (2026.3)v1.1.3 (2026.3)v1.12.2 (2026.3)
라이선스Apache 2.0MITMIT
핵심 비유async 에이전트 + 파이프라인상태 머신 그래프AI 팀 역할극

2. 아키텍처 비교

AgentScope: 에이전트 지향 프로그래밍

AgentScope의 철학은 Agent-Oriented Programming(AOP)입니다. 에이전트를 일급 객체로 다룹니다.

python
from agentscope.agent import ReActAgent, UserAgent
from agentscope.model import OpenAIChatModel
from agentscope.memory import InMemoryMemory
from agentscope.tool import Toolkit, execute_python_code
import asyncio

async def main():
    toolkit = Toolkit()
    toolkit.register_tool_function(execute_python_code)

    agent = ReActAgent(
        name="Friday",
        sys_prompt="You're a helpful assistant.",
        model=OpenAIChatModel(model_name="gpt-4o", api_key="..."),
        memory=InMemoryMemory(),
        toolkit=toolkit,
    )
    user = UserAgent(name="user")

    msg = None
    while True:
        msg = await agent(msg)
        msg = await user(msg)

asyncio.run(main())

핵심 특징:

  • 완전한 async/await 아키텍처 — 모든 에이전트 호출이 비동기
  • ReActAgent — 추론 + 행동 루프가 내장된 범용 에이전트
  • Pipeline — SequentialPipeline, FanoutPipeline으로 에이전트 조합
  • MsgHub — 브로드캐스트 기반 그룹 대화

LangGraph: 상태 그래프 머신

LangGraph는 에이전트 워크플로우를 방향 그래프(Directed Graph)로 모델링합니다.

python
from typing import TypedDict
from langgraph.graph import StateGraph, START, END
from langchain_openai import ChatOpenAI

class State(TypedDict):
    topic: str
    research: str
    draft: str

llm = ChatOpenAI(model="gpt-4o")

def researcher(state: State) -> dict:
    result = llm.invoke(f"Research: {state['topic']}")
    return {"research": result.content}

def writer(state: State) -> dict:
    result = llm.invoke(f"Write using: {state['research']}")
    return {"draft": result.content}

graph = StateGraph(State)
graph.add_node("researcher", researcher)
graph.add_node("writer", writer)
graph.add_edge(START, "researcher")
graph.add_edge("researcher", "writer")
graph.add_edge("writer", END)

app = graph.compile()
result = app.invoke({"topic": "AI agents"})

핵심 특징:

  • StateGraph — TypedDict/Pydantic으로 상태 스키마 정의
  • Nodes — 상태를 읽고 쓰는 Python 함수
  • Conditional Edges — 상태에 따른 동적 분기
  • Checkpointing — 모든 단계를 Postgres/SQLite에 자동 저장

CrewAI: 역할극 기반 팀

CrewAI는 에이전트를 팀원으로 정의합니다. 역할, 목표, 배경 스토리를 자연어로 작성합니다.

python
from crewai import Agent, Task, Crew, Process

researcher = Agent(
    role="Senior Researcher",
    goal="Research thoroughly on {topic}",
    backstory="Expert research analyst with 10 years of experience"
)
writer = Agent(
    role="Technical Writer",
    goal="Write clear, engaging articles",
    backstory="Experienced tech writer specializing in AI"
)
research_task = Task(
    description="Research {topic}",
    expected_output="Detailed research notes",
    agent=researcher
)
write_task = Task(
    description="Write article from research",
    expected_output="Publication-ready article",
    agent=writer
)
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    process=Process.sequential
)
result = crew.kickoff(inputs={"topic": "AI agents"})

핵심 특징:

  • Agent = 역할 + 목표 + 배경 — 자연어 기반 페르소나
  • Task — 설명 + 기대 출력 + 담당 에이전트
  • Crew — 에이전트 팀, Sequential 또는 Hierarchical 프로세스
  • Delegation — 에이전트 간 작업 위임

3. 기능 비교

3-1. LLM 지원

ProviderAgentScopeLangGraphCrewAI
OpenAI (GPT-4o, o3)✅ (기본)
Anthropic (Claude)
Google (Gemini)
Alibaba (Qwen)✅ (DashScope)✅ (via LangChain)✅ (via API)
Ollama (로컬)
DeepSeek

세 프레임워크 모두 주요 LLM을 지원합니다. AgentScope는 DashScope(알리바바) 연동이 가장 깊고, LangGraph는 LangChain 통합이 가장 넓습니다.

3-2. 멀티모달

기능AgentScopeLangGraphCrewAI
이미지 생성✅ (내장 도구)⚠️ (커스텀)⚠️ (커스텀)
음성 TTS✅ (6개 TTS 모델)
음성 입력✅ (Realtime Agent)
실시간 음성 대화✅ (OpenAI/Gemini/DashScope)

AgentScope가 멀티모달에서 압도적입니다. OpenAI, Gemini, DashScope의 Realtime API를 모두 지원하며, TTS 모델만 6종입니다.

3-3. 메모리 시스템

기능AgentScopeLangGraphCrewAI
단기 메모리✅ (In-Memory, Redis, SQL)✅ (State + Checkpoint)✅ (내장)
장기 메모리✅ (Mem0, ReMe)✅ (Cross-thread store)✅ (ChromaDB)
메모리 압축✅ (자동 압축)
벡터 저장소✅ (Qdrant, Milvus, MongoDB)⚠️ (외부)✅ (ChromaDB 내장)

3-4. 프로토콜 지원

프로토콜AgentScopeLangGraphCrewAI
MCP (Model Context Protocol)✅ (HTTP + Stdio)⚠️ (커뮤니티)✅ (내장)
A2A (Agent-to-Agent)✅ (내장)

AgentScope는 Google의 A2A 프로토콜을 공식 지원하는 몇 안 되는 프레임워크입니다.

3-5. 프로덕션 배포

기능AgentScopeLangGraphCrewAI
체크포인팅/복구⚠️ (세션 기반)✅ (최고 수준)⚠️ (Flows)
분산 실행✅ (agentscope-runtime)✅ (LangGraph Platform)⚠️ (제한적)
모니터링✅ (OpenTelemetry 네이티브)✅ (LangSmith)✅ (Control Plane)
샌드박스 실행✅ (Docker + VNC)⚠️ (외부)
JS/TS 지원✅ (agentscope-typescript)✅ (LangGraph.js)

4. 학습 곡선

쉬움 ◄──────────────────────────────────► 어려움

CrewAI          AgentScope          LangGraph
  │                 │                    │
  ▼                 ▼                    ▼
역할/목표 정의   Agent + Pipeline    StateGraph 정의
자연어로 충분     async/await 필요    노드/엣지/상태 설계
10분 퀵스타트    20분 퀵스타트       30분+ 퀵스타트
측면AgentScopeLangGraphCrewAI
첫 에이전트까지~20분~30분~10분
멘탈 모델OOP + async그래프 이론 + 상태 머신팀/역할 비유
복잡한 워크플로우Pipeline 조합그래프가 자연스러움Flows 필요
문서 품질양호 (중국어 편향)포괄적 (LangChain 생태계)자체 완결형

5. 생태계 규모

AgentScope 생태계 (19개 리포)

프로젝트스타설명
agentscope22K+코어 프레임워크
CoPaw13.7K개인 AI 비서
HiClaw3.4K멀티 에이전트 OS
ReMe2.5K에이전트 메모리 관리
agentscope-java2.3KJava 구현
agentscope-runtime677프로덕션 런타임
Trinity-RFT574RL 파인튜닝
OpenJudge502평가 프레임워크
agentscope-studio484시각화 도구

총 에코시스템 스타: 46K+ — 코어만 보면 22K이지만, 에코시스템 전체는 CrewAI급입니다.

LangGraph 생태계

  • LangChain (97K+ 스타) — 부모 프레임워크
  • LangSmith — 모니터링/트레이싱 플랫폼
  • LangGraph.js (2.7K 스타) — TypeScript 구현
  • LangChain Academy — 무료 교육 과정

CrewAI 생태계

  • crewai (48K 스타) — 코어 + 도구 모노레포
  • Crew Control Plane — 모니터링 플랫폼
  • learn.crewai.com — 인증 프로그램 (10만+ 개발자)

6. 숨겨진 비용과 주의점

AgentScope

  • DashScope 편향 — TTS, 멀티모달 임베딩 등에서 알리바바 서비스 의존도 높음
  • Async 전용 — 동기 API가 없어서 간단한 스크립트에도 asyncio.run() 필요
  • 문서 중국어 편향 — 이슈와 일부 문서가 중국어
  • Python 3.10+ — 3.9 이하 미지원

LangGraph

  • LangChain 종속langchain-core가 필수 의존성
  • 보일러플레이트 — 간단한 작업에도 상태 스키마, 노드, 엣지 정의 필요
  • 디버깅 난이도 — 복잡한 그래프에서 상태 전이 추적이 어려움 (LangSmith 없이는)
  • Postgres 체크포인트 SSL 이슈 — 오랫동안 미해결

CrewAI

  • 무거운 의존성 — ChromaDB, LanceDB, OpenTelemetry 등이 코어에 포함. 패키지 크기 968KB (LangGraph 168KB)
  • 기본 텔레메트리 — 에이전트 역할, 도구 이름 등을 기본 수집 (비활성화 필요)
  • OpenAI 필수 의존성 — 다른 LLM을 써도 openai 패키지 필수
  • PR 적체 — 387개 오픈 PR, 리뷰 병목 가능성

7. 선택 가이드

AgentScope를 선택해야 할 때

  • 실시간 음성 에이전트를 만들어야 할 때
  • A2A 프로토콜로 크로스 프레임워크 에이전트 통신이 필요할 때
  • 알리바바 DashScope/Qwen 생태계를 주로 사용할 때
  • RL 파인튜닝으로 에이전트 성능을 개선하고 싶을 때
  • 멀티모달 (이미지 생성 + 음성 + 텍스트) 에이전트가 필요할 때

LangGraph를 선택해야 할 때

  • 복잡한 분기 로직이 있는 워크플로우
  • 체크포인팅/복구가 핵심 요구사항일 때
  • Human-in-the-loop이 빈번한 프로세스
  • 이미 LangChain 생태계를 사용 중일 때
  • TypeScript로 에이전트를 만들어야 할 때

CrewAI를 선택해야 할 때

  • 빠른 프로토타이핑이 최우선
  • 팀원이 LLM/에이전트에 익숙하지 않을 때
  • 역할 기반 멀티 에이전트 시나리오 (리서치팀, 콘텐츠팀)
  • 최소 코드로 데모를 만들어야 할 때
  • YAML 기반 설정으로 에이전트를 관리하고 싶을 때

8. 최종 비교 매트릭스

평가 항목AgentScopeLangGraphCrewAI
시작 난이도⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
복잡한 워크플로우⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
멀티모달⭐⭐⭐⭐⭐⭐⭐⭐⭐
프로덕션 안정성⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
생태계 크기⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
문서 품질⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
커뮤니티 활성도⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
유연성/확장성⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

마무리

세 프레임워크는 서로 다른 문제를 다른 방식으로 풉니다.

  • AgentScope = 연구 지향 + 멀티모달 + 에이전트 시스템을 처음부터 설계하고 싶은 개발자
  • LangGraph = 프로덕션 지향 + 복잡한 상태 관리 + LangChain 사용자
  • CrewAI = 빠른 시작 + 직관적 API + 팀 기반 에이전트 시나리오

"최고의 프레임워크"는 없습니다. 당신의 유스케이스에 맞는 프레임워크가 최고입니다.

더 많은 콘텐츠를 받아보세요

SNS에서 새로운 글과 튜토리얼 소식을 가장 먼저 받아보세요

이메일로 받아보기

관련 포스트