순차·계층 프로세스(워크플로우 관리)
순차·계층 프로세스(워크플로우 관리)
크루의 프로세스(Process)는 에이전트가 태스크를 어떻게 분배하고 실행할지 결정하는 실행 전략이에요. 사람 팀의 프로젝트 관리를 떠올리면 쉬운데, 순차(Sequential)는 태스크를 정해진 순서대로 하나씩 밀어내고, 계층(Hierarchical)은 매니저 에이전트가 작업을 위임하고 검증하는 관리 체계를 만듭니다. 여기서는 두 프로세스의 차이와 크루에 지정하는 방법을 정리할게요.
출처: 공식문서
본문
개요
프로세스 구현
- Sequential(순차): 태스크를 순차적으로 실행해 정돈된 진행을 보장합니다.
- Hierarchical(계층): 태스크를 관리 계층으로 조직하고, 구조화된 지휘 체계에 따라 태스크를 위임·실행합니다. 계층 프로세스를 활성화하려면 크루에 매니저 언어모델(
manager_llm) 또는 사용자 정의 매니저 에이전트(manager_agent)를 반드시 지정해야 하며, 매니저가 태스크 생성·관리를 담당합니다.
팀워크에서 프로세스의 역할
프로세스는 개별 에이전트가 하나의 응집된 단위로 동작하게 해, 공통 목표를 효율성과 일관성으로 달성하도록 노력을 한곳에 모읍니다.
크루에 프로세스 지정
크루에 프로세스를 지정하려면 크루 생성 시 실행 전략을 설정하세요. 계층 프로세스라면 매니저 에이전트용으로 manager_llm 또는 manager_agent를 정의해야 합니다.
from crewai import Crew, Process
# Example: Creating a crew with a sequential process
crew = Crew(
agents=my_agents,
tasks=my_tasks,
process=Process.sequential
)
# Example: Creating a crew with a hierarchical process
# Ensure to provide a manager_llm or manager_agent
crew = Crew(
agents=my_agents,
tasks=my_tasks,
process=Process.hierarchical,
manager_llm="gpt-4o"
# or
# manager_agent=my_manager_agent
)
참고: Crew 객체를 만들기 전에 my_agents와 my_tasks를 정의해 두세요. 계층 프로세스에는 manager_llm 또는 manager_agent도 필요합니다.
순차 프로세스
이 방식은 역동적인 팀 워크플로우를 반영해 태스크를 신중하고 체계적으로 진행합니다. 태스크 실행은 태스크 목록의 사전 정의된 순서를 따르며, 한 태스크의 출력이 다음 태스크의 컨텍스트가 됩니다.
태스크 컨텍스트를 사용자 지정하려면 Task 클래스의 context 파라미터로 후속 태스크의 컨텍스트로 쓸 출력을 지정하세요.
계층 프로세스
기업 계층 구조를 모사하며, CrewAI는 사용자 정의 매니저 에이전트를 지정하거나 자동 생성합니다(매니저 언어모델 manager_llm 지정 필요). 이 에이전트가 계획·위임·검증을 포함한 태스크 실행을 감독합니다. 태스크는 미리 할당되지 않으며, 매니저가 각 에이전트의 역량에 따라 태스크를 배분하고 출력을 검토하며 완료 여부를 판단합니다.
Process 클래스 상세
Process 클래스는 열거형(Enum)으로 구현되어 타입 안전성을 보장하고 프로세스 값을 정의된 유형(sequential, hierarchical)으로 제한합니다.
결론
CrewAI 내 프로세스가 지원하는 구조화된 협업은 에이전트 간 체계적인 팀워크에 필수적입니다. 이 문서는 최신 기능·개선사항을 반영해 갱신되었습니다.