순차적 프로세스
CrewAI 프로젝트에서 작업 실행을 위한 순차적 프로세스 활용에 대한 종합 가이드.
시작하기
CrewAI는 순차적 및 계층적 프로세스를 모두 지원하며, 작업을 구조적으로 실행할 수 있는 유연한 프레임워크를 제공한다. 이 가이드에서는 효율적인 작업 실행과 프로젝트 완수를 위해 이러한 프로세스를 효과적으로 구현하는 방법을 설명한다.
순차적 프로세스 개요
순차적 프로세스는 작업이 선형적으로 진행되며 한 번에 하나씩 순서대로 실행된다. 이 방식은 특정 순서대로 작업을 완료해야 하는 프로젝트에 적합하다.
주요 기능
- 선형 작업 흐름: 미리 정해진 순서대로 작업을 처리해 체계적인 진행을 보장한다.
- 단순성: 단계별로 명확한 작업이 있는 프로젝트에 가장 적합하다.
- 쉬운 모니터링: 작업 완료와 프로젝트 진행 상황을 손쉽게 추적할 수 있다.
순차적 프로세스 구현
순차적 프로세스를 사용하려면, 팀원을 구성하고 실행 순서에 따라 작업을 정의한다.
참고 사항:
순차적 프로세스의 각 작업에는 반드시 에이전트를 할당해야 한다. 모든 Task
에 agent
매개변수를 포함시켜야 한다.
워크플로우 실행 과정
- 초기 작업: 순차적인 프로세스에서 첫 번째 에이전트가 자신의 작업을 완료하고 완료 신호를 보낸다.
- 후속 작업: 에이전트는 프로세스 타입에 따라 작업을 선택한다. 이때 앞선 작업의 결과나 지침에 따라 작업을 실행한다.
- 완료: 마지막 작업이 실행되면 프로세스가 종료되고 프로젝트가 완료된다.
고급 기능
작업 위임
순차적 프로세스에서 에이전트의 allow_delegation
이 True
로 설정되어 있다면, 해당 에이전트는 크루 내 다른 에이전트에게 작업을 위임할 수 있다. 크루에 여러 에이전트가 존재할 때 이 기능은 자동으로 설정된다.
비동기 실행
작업을 비동기적으로 실행하면 적절한 경우 병렬 처리가 가능하다. 비동기 작업을 생성하려면 작업을 정의할 때 async_execution=True
로 설정한다.
메모리와 캐싱
CrewAI는 메모리와 캐싱 기능을 모두 지원한다:
- 메모리: Crew를 생성할 때
memory=True
로 설정하면 활성화된다. 이를 통해 에이전트가 여러 작업 간에 정보를 유지할 수 있다. - 캐싱: 기본적으로 캐싱이 활성화되어 있다.
cache=False
로 설정하면 비활성화할 수 있다.
콜백
콜백은 작업(task)과 단계(step) 두 수준에서 설정할 수 있다:
task_callback
: 각 작업 완료 후 실행된다.step_callback
: 에이전트 실행 과정에서 각 단계가 끝난 후 실행된다.
사용량 메트릭
CrewAI는 모든 작업과 에이전트에 걸쳐 토큰 사용량을 추적한다. 실행 후에 이 메트릭에 접근할 수 있다.
순차적 프로세스를 위한 모범 사례
- 순서의 중요성: 각 작업이 이전 작업을 기반으로 진행되도록 논리적인 순서로 작업을 배열한다.
- 명확한 작업 설명: 각 작업에 대한 상세한 설명을 제공해 에이전트가 효과적으로 작업을 수행할 수 있도록 안내한다.
- 적절한 에이전트 선택: 각 작업의 요구 사항에 맞게 에이전트의 기술과 역할을 매칭한다.
- 컨텍스트 활용: 이전 작업의 컨텍스트를 활용해 후속 작업에 필요한 정보를 제공한다.
이 업데이트된 문서는 코드베이스의 최신 변경 사항을 정확히 반영하고, 새로운 기능과 설정을 어떻게 활용할 수 있는지 명확히 설명한다. 내용을 간결하고 직관적으로 유지해 쉽게 이해할 수 있도록 구성했다.