crewAI
무엇인가
CrewAI는 LLM 애플리케이션 프레임워크 계층에 속한다. 모델을 직접 실행하지 않고 외부 LLM 제공자를 호출해 동작하는 에이전트와 그 실행 순서를 정의하는 Python 라이브러리다. 높은 수준의 추상화와 낮은 수준의 API를 함께 노출해, 선언적인 에이전트 정의와 실행 로직 직접 제어를 같은 코드베이스에서 다룬다.
어떻게 동작하나
구성 요소는 두 가지다. Crews는 역할(role)과 목표(goal), 배경을 가진 에이전트 여러 개를 태스크에 묶고 에이전트 간 위임과 협업을 자율적으로 처리한다. Flows는 이벤트 기반 실행 그래프로, 태스크 사이의 상태를 명시적으로 관리하고 조건 분기로 실행 경로를 지정한다. Flows 안에서 Crews를 호출하거나 단일 LLM 호출을 끼워 넣는 방식으로 두 요소를 겹쳐 쓴다.
무엇과 다른가
호출 순서를 코드로 고정하는 LLM 체인 프레임워크와 달리, Crews는 다음 행동을 에이전트가 스스로 정하게 두고 Flows는 그 자율성을 이벤트 경계 안에 가둔다. 모델 실행기나 게이트웨이가 아니므로 추론 서버, 프록시, 벡터 저장소는 포함하지 않는다. 모델 연결은 별도 설정으로 외부 제공자에 위임한다.
어떻게 쓰나
설치는 pip install crewai 한 줄이다. CLI로 프로젝트 골격을 만들면 .env와 에이전트 정의 파일이 생성된다. .env에 모델 제공자 키를 넣고 에이전트와 태스크를 정의한 뒤 CLI로 실행한다. AI 코딩 에이전트를 쓴다면 공식 CrewAI Skills를 설치해 Flows와 Crews 작성 규칙을 학습시킬 수 있다.
전제와 한계
Python 3.10 이상이 필요하다. 모델 호출에는 외부 LLM 제공자 API 키가 있어야 한다. 실행 추적을 위한 텔레메트리가 기본으로 켜져 있다. 관리형 배포와 관측, 거버넌스는 오픈소스 코어가 아니라 별도 상용 제품인 CrewAI AMP Suite가 담당한다.
관련 논문 5
유사 도구
- autogen여러 AI 에이전트를 계층형 API로 조립해 대화·코드 실행·분산 런타임을 구성하는 Python 멀티에이전트 프레임워크다.
- langroid에이전트에 LLM·벡터스토어·도구를 붙이고 태스크를 맡겨 메시지로 협업시키는 Python 멀티에이전트 프레임워크다. LangChain에 의존하지 않는다.
- MetaGPT한 줄 요구사항을 입력하면 제품 관리자·아키텍트·엔지니어 역할의 LLM 에이전트 팀이 SOP 순서대로 요구사항·설계·API·코드를 산출하는 멀티에이전트 프레임워크다.
- langgraph상태를 가진 장기 실행 에이전트를 그래프로 정의하고 실패 후에도 이어서 실행하는 파이썬 저수준 오케스트레이션 프레임워크다.
- agentscope모델의 추론과 도구 사용 능력을 그대로 살려 에이전트를 조립하는 Python 프레임워크다. FastAPI 에이전트 서비스와 터미널 콘솔을 포함한다.
- langchainLLM 애플리케이션과 에이전트를 조립하는 Python 프레임워크다. 모델·임베딩·벡터 스토어·툴을 표준 인터페이스로 감싸 제공자 교체를 코드 수정 없이 처리한다.