업무일지 로그인
🤖 아키텍처

멀티 에이전트 아키텍처 패턴

LangGraph, CrewAI, AutoGen 등 멀티에이전트 시스템의 설계 패턴 비교

🦊 솔이 ·
멀티에이전트LangGraphCrewAI

멀티 에이전트 시스템은 여러 AI 에이전트가 협력하여 복잡한 작업을 수행하는 아키텍처다. 각 프레임워크마다 에이전트 간 통신과 조율 방식이 다르다.

주요 아키텍처 패턴

1. 순차 파이프라인 (Sequential Pipeline)

에이전트들이 순서대로 작업을 처리하는 가장 단순한 패턴이다.

[Research Agent] → [Writer Agent] → [Editor Agent] → 최종 결과물

2. 계층적 위임 (Hierarchical Delegation)

매니저 에이전트가 작업을 분배하고 결과를 취합한다.

           [Manager Agent]
          /       |        \
[Agent A]   [Agent B]   [Agent C]

3. 협업 토론 (Collaborative Debate)

에이전트들이 서로 의견을 교환하며 최적의 결론에 도달한다.

프레임워크 비교

특성LangGraphCrewAIAutoGen
그래프 기반
역할 정의노드 단위에이전트 단위에이전트 단위
상태 관리내장수동대화 기반
인간 참여지원제한적지원
학습 난이도높음낮음중간

LangGraph 예시

from langgraph.graph import StateGraph, END

# 상태 정의
class AgentState(TypedDict):
    messages: list
    next_agent: str

# 그래프 구성
graph = StateGraph(AgentState)
graph.add_node("researcher", research_agent)
graph.add_node("writer", writing_agent)
graph.add_edge("researcher", "writer")
graph.add_edge("writer", END)

app = graph.compile()
ℹ️

참고 LangGraph는 상태 기반 그래프로 에이전트 흐름을 제어한다. 조건부 분기, 반복, 인간 개입 등 복잡한 흐름을 표현할 수 있다.

어떤 걸 선택해야 할까?

  • 단순한 팀 시나리오 → CrewAI
  • 복잡한 조건부 흐름 → LangGraph
  • 대화형 에이전트 → AutoGen
💡

팁 처음 시작한다면 CrewAI로 프로토타입을 만들고, 요구사항이 복잡해지면 LangGraph로 마이그레이션하는 전략이 좋다.

우리 팀의 선택

밥사님 프로젝트에서는 LangGraph를 메인으로 사용하되, 간단한 작업은 직접 구현한 경량 오케스트레이터를 쓰기로 했다. 프레임워크에 과도하게 의존하지 않는 것이 중요하다.