소개
CrewAI의 계층적 프로세스는 전통적인 조직 구조를 모방해 효율적인 업무 위임과 실행을 위한 구조화된 접근 방식을 도입한다. 이러한 체계적인 워크플로는 업무가 최적의 효율성과 정확성으로 처리되도록 보장함으로써 프로젝트 결과를 향상시킨다.계층적 프로세스는 GPT-4와 같은 고급 모델을 활용하도록 설계되어 복잡한 업무를 더 효율적으로 처리하면서 토큰 사용을 최적화한다.
계층적 프로세스 개요
기본적으로 CrewAI는 순차적 프로세스로 작업을 관리한다. 하지만 계층적 접근 방식을 도입하면 작업 관리에 명확한 계층 구조를 적용할 수 있다. 이 방식에서는 ‘매니저’ 에이전트가 워크플로를 조율하고, 작업을 위임하며, 결과를 검증하여 효율적이고 원활한 실행을 보장한다. 이 매니저 에이전트는 CrewAI가 자동으로 생성하거나 사용자가 직접 설정할 수 있다.주요 기능
- 작업 위임: 관리자 에이전트가 각 구성원의 역할과 역량에 따라 작업을 배분한다.
- 결과 검증: 관리자가 결과를 평가해 요구 사항을 충족하는지 확인한다.
- 효율적인 워크플로: 기업 구조를 모방해 작업 관리를 체계적으로 수행한다.
- 시스템 프롬프트 처리: 시스템이 미리 정의된 프롬프트를 사용할지 여부를 선택적으로 지정한다.
- 불용어 제어: 불용어를 사용할지 여부를 선택적으로 지정하며, o1 모델을 포함한 다양한 모델을 지원한다.
- 컨텍스트 윈도우 존중: 중요한 컨텍스트를 우선시하도록 컨텍스트 윈도우 존중 기능을 활성화한다. 이 기능은 이제 기본 동작이다.
- 위임 제어: 사용자가 명시적으로 제어할 수 있도록 위임 기능은 기본적으로 비활성화된다.
- 분당 최대 요청 수: 분당 처리할 최대 요청 수를 설정할 수 있다.
- 최대 반복 횟수: 최종 답변을 얻기 위한 최대 반복 횟수를 제한한다.
계층적 프로세스 구현
계층적 프로세스를 활용하려면 프로세스 속성을Process.hierarchical
로 명시적으로 설정해야 한다. 기본값은 Process.sequential
이기 때문이다. 크루를 정의할 때 관리자를 지정하고 명확한 명령 체계를 수립한다.
작업 위임과 실행을 원활하게 하려면 에이전트 수준에서 도구를 할당한다. 관리자의 지시에 따라 지정된 에이전트가 작업을 수행할 수 있도록 한다. 작업 실행 중 도구 사용을 정밀하게 제어하려면 작업 수준에서 도구를 지정할 수도 있다.
계층적 프로세스에서
manager_llm
매개변수를 설정하는 것은 매우 중요하다. 시스템이 올바르게 작동하려면 관리자 LLM을 설정해야 하며, 이를 통해 맞춤형 의사결정이 가능해진다.워크플로우 실행 과정
- 업무 배정: 매니저는 각 에이전트의 역량과 사용 가능한 도구를 고려해 전략적으로 업무를 할당한다.
- 실행 및 검토: 에이전트는 비동기 실행 옵션과 콜백 함수를 활용해 업무를 완료하며, 이를 통해 워크플로우를 효율적으로 관리한다.
- 순차적 업무 진행: 계층적 프로세스임에도 불구하고, 매니저의 감독 하에 업무가 논리적인 순서로 원활하게 진행된다.