본문 바로가기
인공지능/생성형 AI

[생성형 AI] LangGraph vs CrewAI 라이브러리

by 클레어몬트 2025. 2. 17.

https://claremont.tistory.com/entry/%EC%83%9D%EC%84%B1%ED%98%95-AI-LangChain%EC%9D%B4%EB%9E%80

 

[생성형 AI] LangChain이란?

ㅁLangChain: LLM을 활용하여 응용 프로그램을 개발하는 프레임워크주로 OpenAI의 GPT, Google의 PaLM, Meta의 Llama 등 다양한 LLM과 통합하여 문서 검색, 데이터 분석, 자동화된 AI 응답 시스템 등을 구축하는

claremont.tistory.com

 

 

 

ㅇLangGraph 라이브러리: LangChain 기반멀티 에이전트(Multi-Agent)상태 관리(State Management) 라이브러리
기존 LangChain의 체인(Chains) 모델보다 더 유연하고 동적인 워크플로우를 구축할 수 있도록 설계되었다

 

 

[LangGraph 라이브러리 특징]

  1. 멀티 에이전트 시스템 구축
    • 여러 개의 LLM 에이전트를 동시에 실행하며, 서로 상호작용하게 할 수 있다
    • e.g. 한 에이전트는 요약을 담당하고, 다른 에이전트는 분석을 수행하는 구조 가능
  2. 그래프(Graph) 기반 워크플로우
    • 기존 LangChain의 체인보다 더 복잡한 분기(branching) 구조를 만들 수 있다
    • AI가 조건에 따라 다른 경로를 선택하여 실행할 수 있다
  3. 상태 관리(State Management)
    • LLM이 이전 상태를 기억하면서 동적인 대화 흐름을 조정할 수 있도록 지원한다

 

(LangGraph를 활용한 멀티 에이전트 시스템 예제)

from langgraph.graph import StateGraph
from langchain.chat_models import ChatOpenAI

# LangGraph를 사용한 간단한 에이전트 구축
class State:
    messages: list

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

# 그래프 생성
workflow = StateGraph(State)

# LLM 실행 노드 추가
workflow.add_node("agent", llm)

# 시작 노드 지정
workflow.set_entry_point("agent")

# 실행
app = workflow.compile()
output = app.invoke({"messages": ["LangGraph란 뭐야?"]})

print(output)
 
 

ㅇCrewAI 라이브러리: LLM을 활용하여 다중 AI 에이전트(Multi-Agent)를 조정하는 라이브러리

저수지의 개들 crew - 여러 에이전트들! (동헌, 채현, 수원, 지수)


LangGraph가 그래프 기반 워크플로우를 제공하는 반면, CrewAI는 여러 AI 에이전트들이 협력하여 작업을 수행하도록 설계되었다

 

 

[CrewAI 라이브러리 실행 순서]

  1. 역할 기반(Role-based) AI 에이전트 협업
    • 에이전트를 정의하고 role(역할), goal(목표), backstory(배경 설명) 작성
    • 에이전트들이 협력하여 지정된 작업을 순차적으로 해결한다
  2. 태스크(Task) 기반 워크플로우 
    • 태스크를 정의하고 description(설명)expected_output(예상 결과물)agent(수행 에이전트) 설정
    • 단순한 개별 실행이 아니라, 특정 순서에 따라 태스크를 수행하는 워크플로우(workflow)를 구성
  3. 멀티 에이전트 조정 및 협력(Multi-Agent Orchestration)
    • 에이전트들로 구성된 크루를 정의하고 해당 에이전트들이 수행할 태스크를 지정
    • 각 AI가 개별적으로 작동하는 것이 아니라, 서로 정보를 주고받으며 협업하는 방식으로 동작한다

 

(CrewAI 라이브러리를 활용한 팀 구성 및 협업 예제)

from crewai import Agent, Task, Crew
from langchain.chat_models import ChatOpenAI

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

# 역할 기반 AI 에이전트 생성
researcher = Agent(
    name="Researcher",
    role="AI 연구원",
    goal="최신 AI 트렌드에 대한 정보를 수집",
    backstory="AI 및 기술 발전을 연구하는 전문가",
    llm=llm
)

writer = Agent(
    name="Writer",
    role="AI 콘텐츠 작성자",
    goal="연구원이 제공한 정보를 바탕으로 블로그 글 작성",
    backstory="기술 문서를 전문적으로 작성하는 AI",
    llm=llm
)

# 태스크(Task) 정의
research_task = Task(description="최신 AI 연구 트렌드 검색", agent=researcher)
writing_task = Task(description="연구 내용을 바탕으로 블로그 작성", agent=writer)

# Crew 구성 (팀 운영)
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task]
)

# 실행
result = crew.kickoff()
print(result)

 

이 코드에서는 AI 연구원(Researcher) 글 작성자(Writer) 두 명의 AI 에이전트가 협력하여 최신 AI 트렌드에 대한 블로그 글을 자동 생성한다

 

 

+ 원영적 사고 변환기 - LLM 오케스트레이션

https://github.com/imclaremont/wonyoung_thinking_converter

 

GitHub - imclaremont/wonyoung_thinking_converter: 원영적 사고 변환기 - LLM 오케스트레이션

원영적 사고 변환기 - LLM 오케스트레이션. Contribute to imclaremont/wonyoung_thinking_converter development by creating an account on GitHub.

github.com

 

 

 

[LangGraph 라이브러리 vs CrewAI 라이브러리]

CrewAI는 Crew를 결성한다!

 

 

 

(LangGraph 활용 사례)

  • 멀티 에이전트 챗봇: 사용자의 요청에 따라 AI 에이전트들이 협력하여 정보를 제공
  • 동적 AI 워크플로우: 입력값에 따라 실행 경로가 달라지는 AI 시스템
  • 고급 검색 및 추천 시스템: AI가 정보를 검색하고 추천하는 엔진 개발

 

(CrewAI 활용 사례)

  • AI 팀워크 자동화: 여러 AI가 협력하여 연구, 콘텐츠 생성, 데이터 분석 수행
  • 기업 자동화 시스템: AI가 사내 문서를 분석하고 보고서를 자동으로 생성
  • 프로젝트 매니지먼트: AI가 프로젝트 역할을 나누고 수행하는 시스템

 

 

(한 줄 정리)

👉 LangGraph동적인 워크플로우 자동화에, CrewAI역할 기반 AI 협업 시스템 구축에 최적화된 라이브러리이다