Development··7 min read

AI Agent 프레임워크 비교: LangChain vs CrewAI vs AutoGen

사이드 프로젝트에서 세 가지 AI Agent 프레임워크를 직접 써본 비교기

시작은 단순한 호기심이었다

토요일 오후 2시. 소파에 누워서 트위터를 보다가 "AI Agent가 알아서 코드를 짜고 테스트까지 돌린다"는 영상을 봤다. 23분짜리 영상이었는데 3분도 안 돼서 노트북을 켰다. (사실 그냥 멋있어 보여서.)

문제는 프레임워크가 너무 많다는 거다. LangChain, CrewAI, AutoGen. 이름만 들어본 건 다섯 개는 더 있었다. 그래서 그냥 세 개를 직접 써보기로 했다. 같은 태스크를 세 가지 프레임워크로 구현해서 비교하는 거다.

태스크: 뉴스 요약 에이전트

만든 건 단순하다. RSS 피드에서 기사를 가져와서, 핵심 내용을 요약하고, 카테고리별로 분류하는 에이전트. 거창하지 않다. 근데 이 정도만 해도 프레임워크 차이가 확 드러났다.

GPT-4o mini를 백엔드 LLM으로 쓰고, 동일한 뉴스 10개로 테스트했다.

LangChain: 기능은 많은데 너무 많다

LangChain은 일단 문서가 방대하다. 진짜 방대하다. 처음에 "LangChain Agent" 문서를 열었는데 탭이 7개로 분기됐다. AgentExecutor, create_react_agent, Tool, AgentType... 설치부터 pip install langchain langchain-openai langchain-community 세 개를 깔아야 했다.

코드를 짜는 데 3시간 47분이 걸렸다. 예제 코드가 동작하지 않아서 GitHub Issues를 뒤진 시간이 절반이었다. 버전이 0.2에서 0.3으로 넘어가면서 API가 꽤 바뀐 모양이다. 결국 동작은 했는데, 솔직히 코드가 깔끔하다는 느낌은 아니었다. 추상화 레이어가 너무 두껍다.

CrewAI: 직관적인데 제한이 있다

CrewAI는 컨셉이 마음에 들었다. Agent에게 역할(role)을 주고, Task를 정의하고, Crew로 묶는다. "너는 뉴스 수집 담당이야", "너는 요약 담당이야" 이런 식이다. 설치도 pip install crewai 하나면 됐다.

코드 작성에 1시간 52분. LangChain의 절반도 안 걸렸다. 근데 문제가 있었다. 커스텀 툴을 만들려니까 문서가 부실했다. RSS 파서를 에이전트의 툴로 붙이는 과정에서 40분을 삽질했다. (정확히는 42분인데 반올림하면 기분이 나아진다.)

결과물은 괜찮았다. 에이전트끼리 "대화"하면서 태스크를 처리하는 로그를 보면 나름 감동적이다. 근데 세밀한 제어가 어렵다. "이 에이전트는 반드시 이 순서로 이 데이터를 처리해야 해" 같은 걸 강제하기가 까다롭다.

AutoGen: 가장 날것인데 가능성이 보인다

AutoGen은 Microsoft가 만들었다. 설치하고 예제를 돌려보는 데까지 27분. 가장 빨랐다. 근데 그 이후부터가 문제였다.

멀티 에이전트 대화 구조가 핵심인데, 설정이 좀 독특하다. AssistantAgent, UserProxyAgent 같은 걸 조합하는 방식이다. 코드를 실행하는 에이전트가 로컬에서 직접 코드를 돌리는데, 처음에 이게 무서웠다. (내 컴퓨터에서 AI가 아무 코드나 실행한다고?)

Docker 컨테이너 안에서 돌리도록 설정을 바꾸는 데 1시간 15분을 썼다. 전체 구현은 2시간 38분. 결과는 나쁘지 않았는데, 프로덕션에 쓸 수 있겠냐고 물으면 좀 망설여진다.

숫자로 비교하면

항목LangChainCrewAIAutoGen
구현 시간3시간 47분1시간 52분2시간 38분
코드 라인 수187줄94줄132줄
요약 품질 (주관)7/108/107/10
설치 복잡도높음낮음중간
커스터마이징유연함제한적유연함

솔직히 놀란 건 CrewAI의 요약 품질이 가장 높았다는 거다. 에이전트 역할 분리가 프롬프트 품질을 올려주는 효과가 있는 것 같다.

근데 진짜 문제는 따로 있었다

세 프레임워크 다 써보고 느낀 건, 프레임워크 선택보다 프롬프트 설계가 훨씬 중요하다는 거다. 같은 프레임워크에서도 프롬프트를 어떻게 쓰느냐에 따라 결과가 완전히 달라졌다. "뉴스를 요약해줘"와 "뉴스의 핵심 주장 3개를 한 문장씩으로 요약하고 관련 수치를 포함해줘" 사이에는 하늘과 땅 차이가 있다.

그리고 비용. 테스트 10건 돌리는 데 GPT-4o mini 기준으로 LangChain이 487원, CrewAI가 312원, AutoGen이 523원 나왔다. 에이전트끼리 대화를 많이 할수록 토큰이 많이 나간다. AutoGen이 가장 비싼 이유가 이거다.

그래서 뭘 쓸 건데

사이드 프로젝트니까 CrewAI로 갈 것 같다. 빨리 만들 수 있고 직관적이니까. 근데 회사 프로젝트라면 LangChain을 선택했을 거다. 커뮤니티가 크고 레퍼런스가 많으니까. AutoGen은 솔직히 아직 이르다. 가능성은 보이는데 안정성이 좀 부족하다.

사실 이거 정리하면서 깨달은 건, 주말 내내 이걸 하고 있었다는 거다. 금요일 저녁부터 일요일 밤까지. 원래 세탁기 돌리려고 일어난 건데.

관련 글