AI VIDEO BRIEFING
CrewAI 멀티에이전트 튜토리얼: 여행 플래너 에이전트 3개를 순차 실행으로 구현하기
CrewAI와 오픈AI 모델로 여행 플래너를 만드는 실습 영상을 정리했다. 조사·일정·예산을 맡는 에이전트 3개를 순차 프로세스로 묶는 설계와, 환경 구성부터 코드 작성과 실행 로그 확인까지의 전체 흐름을 짚는다.

핵심 메시지
쉽게 이해하기
이 영상은 CrewAI 시리즈의 두 번째 편으로, 멀티에이전트 시스템의 개념을 다룬 앞 편에 이어 실제로 여행 플래너를 만들어본다. 먼저 블록 다이어그램으로 에이전트와 태스크의 관계를 정리한 뒤 코딩에 들어가는 구성이라, 코드가 어느 위치에 놓이는지를 헷갈리지 않고 따라갈 수 있다.
설계는 단순하다. 사용자가 여행지, 기간, 예산, 선호(역사·문화·음식·사진 등)를 입력하면 크루 오케스트레이터가 이를 첫 번째 에이전트인 '여행지 조사 담당'에게 넘긴다. 이 에이전트는 명소, 활동, 현지 경험, 추천 숙박 지역을 정리해 내놓고, 그 출력이 그대로 두 번째 에이전트인 '일정 플래너'의 입력이 된다. 일정 플래너는 오전·오후·저녁 활동과 식사, 이동 시간까지 고려한 하루 단위 계획을 만든다.
세 번째 에이전트는 예산 분석가다. 앞선 두 에이전트의 결과를 받아 항공, 숙박, 식비, 현지 교통, 활동, 기타 비용을 항목별로 추산하고 주어진 예산과 비교한다. 예산을 초과하면 절감안을 제시하도록 태스크 설명에 미리 지시해 둔다.
환경 구성은 requirements.txt에 crewai, python-dotenv, openai를 넣고 가상환경에서 설치하는 방식이다. 오픈AI 플랫폼에서 API 키를 발급받아 .env 파일에 넣고, 코드에서는 load_dotenv로 읽어 os.getenv로 꺼내 쓴다. 모델은 비용을 아끼려고 모델 카탈로그에서 100만 토큰당 단가를 확인한 뒤 GPT-4o-mini를 골랐고, 온도는 0.7로 두어 약간의 창의성을 남겼다.
실행 결과 파리 7일 일정을 예로 들면, 각 태스크가 순차적으로 시작되고 완료되는 로그가 그대로 찍힌다. 마지막 예산 분석에서는 항목별 비용이 표 형태로 정리되고 총 예상 비용이 주어진 예산(인도 루피 15만)을 초과한다는 사실이 명시되며, 비수기 항공권 예약이나 저가 숙소·에어비앤비 활용 같은 절감 방안이 이어진다.
주요 인사이트
- 에이전트를 정의할 때 role과 goal뿐 아니라 backstory를 함께 준다는 점이 눈에 띈다. backstory는 곧 컨텍스트여서, '예산 안에 머물도록 돕는 재무 전문가' 같은 한 줄이 그 에이전트의 판단 성향을 잡아준다.
- 태스크마다 expected_output을 구체적으로 적어두는 것이 결과 품질을 좌우한다. 예산 태스크에 '항목별 추산 비용, 총액, 예산과의 비교, 필요 시 절감 제안'을 미리 명시했기 때문에 모델이 초과 사실을 스스로 지적하고 대안까지 내놓을 수 있었다.
- process를 sequential로 두면 앞 태스크의 출력이 다음 태스크의 입력으로 자동으로 이어진다. 데이터 전달을 직접 배선하지 않아도 되므로, 단계가 명확히 나뉘는 작업에서는 구조가 크게 단순해진다.
- verbose를 켜두면 어떤 에이전트가 어떤 태스크를 언제 시작하고 끝냈는지 로그로 확인할 수 있다. 발표자도 실행 중 kickoff 메서드 대소문자를 틀려 오류를 낸 뒤 바로잡는 과정을 그대로 보여주는데, 멀티에이전트 디버깅에서 실행 로그가 왜 중요한지를 잘 보여준다.
- 발표자는 같은 코드라도 사용하는 LLM에 따라 결과가 조금씩 달라질 수 있다고 못 박는다. 에이전트 구조가 같아도 출력이 재현되지 않을 수 있다는 점은 실무 적용 시 염두에 둘 부분이다.
자주 묻는 질문
CrewAI에서 크루 오케스트레이터는 직접 만들어야 하나요?
아닙니다. 영상에서는 오케스트레이터가 CrewAI에서 기본으로 제공된다고 설명합니다. 입력을 넘겨주면 오케스트레이터가 우리가 만든 여러 에이전트로 연결해 실행을 관리합니다.
에이전트와 태스크는 어떻게 연결되나요?
태스크를 정의할 때 description과 expected_output을 적고, agent 항목에 이 태스크를 수행할 에이전트 객체를 지정합니다. 그다음 Crew 객체에 에이전트 목록과 태스크 목록을 함께 넣고 process를 sequential로 지정하면 순서대로 실행됩니다.
왜 GPT-4o-mini를 골랐나요?
비용 때문입니다. 발표자는 오픈AI 모델 카탈로그에서 100만 토큰당 단가를 확인한 뒤, 크레딧을 아껴 쓰려고 상대적으로 저렴한 GPT-4o-mini를 선택했다고 설명합니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗