메인 콘텐츠로 건너뛰기
CrewAI AMP에 배포하기 전에, 프로젝트가 올바르게 구성되어 있는지 확인하는 것이 중요합니다. Crews와 Flows 모두 “자동화”로 배포할 수 있지만, 성공적인 배포를 위해 충족해야 하는 서로 다른 프로젝트 구조와 요구 사항이 있습니다.

자동화 이해하기

CrewAI AMP에서 **자동화(automations)**는 배포 가능한 Agentic AI 프로젝트의 총칭입니다. 자동화는 다음 중 하나일 수 있습니다:
  • Crew: 작업을 함께 수행하는 AI 에이전트들의 독립 실행형 팀
  • Flow: 여러 crew, 직접 LLM 호출 및 절차적 로직을 결합할 수 있는 오케스트레이션된 워크플로우
배포하는 유형을 이해하는 것은 프로젝트 구조와 진입점이 다르기 때문에 필수적입니다.

Crews vs Flows: 주요 차이점

Crew 프로젝트

에이전트와 작업을 정의하는 crew.py가 있는 독립 실행형 AI 에이전트 팀. 집중적이고 협업적인 작업에 적합합니다.

Flow 프로젝트

crews/ 폴더에 포함된 crew가 있는 오케스트레이션된 워크플로우. 복잡한 다단계 프로세스에 적합합니다.

프로젝트 구조 참조

Crew 프로젝트 구조

crewai create crew my_crew를 실행하면 다음 구조를 얻습니다:
중첩된 src/project_name/ 구조는 Crews에 매우 중요합니다. 잘못된 레벨에 파일을 배치하면 배포 실패의 원인이 됩니다.

Flow 프로젝트 구조

crewai create flow my_flow를 실행하면 다음 구조를 얻습니다:
Crews와 Flows 모두 src/project_name/ 구조를 사용합니다. 핵심 차이점은 Flows는 포함된 crews를 위한 crews/ 폴더가 있고, Crews는 프로젝트 폴더에 직접 crew.py가 있다는 것입니다.

배포 전 체크리스트

이 체크리스트를 사용하여 프로젝트가 배포 준비가 되었는지 확인하세요.

1. pyproject.toml 설정 확인

pyproject.toml에 올바른 [tool.crewai] 섹션이 포함되어야 합니다:
type이 프로젝트 구조와 일치하지 않으면 빌드가 실패하거나 자동화가 올바르게 실행되지 않습니다.

2. uv.lock 파일 존재 확인

CrewAI는 의존성 관리를 위해 uv를 사용합니다. uv.lock 파일은 재현 가능한 빌드를 보장하며 배포에 필수입니다.
파일이 존재하지 않으면 uv lock을 실행하고 저장소에 커밋하세요:

3. CrewBase 데코레이터 사용 확인

모든 crew 클래스는 @CrewBase 데코레이터를 사용해야 합니다. 이것은 다음에 적용됩니다:
  • 독립 실행형 crew 프로젝트
  • Flow 프로젝트 내에 포함된 crews
@CrewBase 데코레이터를 잊으면 에이전트나 작업 구성이 누락되었다는 오류와 함께 배포가 실패합니다.

4. 프로젝트 진입점 확인

Crews와 Flows 모두 src/project_name/main.py에 진입점이 있습니다:
진입점은 run() 함수를 사용합니다:

5. 환경 변수 준비

배포 전에 다음을 준비해야 합니다:
  1. LLM API 키 (OpenAI, Anthropic, Google 등)
  2. 도구 API 키 - 외부 도구를 사용하는 경우 (Serper 등)
프로젝트가 프라이빗 PyPI 레지스트리의 패키지에 의존하는 경우, 레지스트리 인증 자격 증명도 환경 변수로 구성해야 합니다. 자세한 내용은 프라이빗 패키지 레지스트리 가이드를 참조하세요.
구성 문제를 조기에 발견하기 위해 배포 전에 동일한 환경 변수로 로컬에서 프로젝트를 테스트하세요.

빠른 검증 명령어

프로젝트 루트에서 다음 명령어를 실행하여 설정을 빠르게 확인하세요:

일반적인 설정 실수

다음 단계

프로젝트가 모든 체크리스트 항목을 통과하면 배포할 준비가 된 것입니다:

AMP에 배포하기

CLI, 웹 인터페이스 또는 CI/CD 통합을 사용하여 Crew 또는 Flow를 CrewAI AMP에 배포하려면 배포 가이드를 따르세요.