30

CrewAI 핵심: Agent, Task, Crew

Day 4: CrewAI 협업 에이전트

학습 목표

CrewAI의 3대 구성요소(Agent, Task, Crew)를 이해한다 Process 유형(sequential, hierarchical)의 차이를 안다 Agent에 Tool을 연결하는 패턴을 익힌다

CrewAI란

CrewAI = 역할 기반 AI Agent 팀 프레임워크

핵심 비유:
  실제 팀처럼 Agent에게 "역할", "목표", "배경"을 부여하고,
  Task를 순서대로 또는 계층적으로 처리한다.

CrewAI 3대 구성요소

1. Agent (팀원)

from crewai import Agent

quality_analyst = Agent(
    role="품질 분석가",
    goal="제조 품질 데이터를 분석하여 불량 패턴과 원인을 파악한다",
    backstory="""당신은 제조 품질 10년 경력의 전문가입니다.
SPC, 6시그마, 특성요인도에 능숙하며,
데이터에서 패턴을 찾아내는 능력이 뛰어납니다.
제조 공정의 미세한 변화도 놓치지 않습니다.""",
    tools=[spc_tool, defect_analyzer],
    verbose=True,
    llm="gpt-4o-mini",  # 또는 최신 모델 사용 가능
)
속성설명제조 예시
role역할"품질 분석가", "설비 진단 엔지니어"
goal목표"불량 원인을 파악한다"
backstory배경/성격"SPC 10년 경력 전문가"
tools사용 가능한 도구SPC 분석 도구, DB 조회 도구
llm사용할 LLM"gpt-4o-mini", "gpt-4o"

backstory가 중요한 이유:

  • LLM에게 전문가 페르소나를 부여한다
  • "나는 10년 경력 품질 전문가"라는 맥락이 응답 품질을 높인다
  • 도메인 용어를 자연스럽게 사용하게 된다

2. Task (업무)

from crewai import Task

analyze_defects = Task(
    description="""이번 주 B라인 불량 데이터를 분석하세요.

    분석 항목:
    1. 불량 유형별 발생 빈도 (파레토 분석)
    2. 시간대별 불량률 추이
    3. 설비별 불량 발생 현황
    4. SPC 관리도 이탈 여부

    데이터: B라인 2026년 1월 4주차 품질 데이터""",

    expected_output="""불량 분석 보고서 (마크다운):
    - 파레토 차트 데이터 (불량 유형, 건수, 누적 %)
    - 시간대별 불량률 표
    - 이상 패턴 요약
    - 개선 필요 항목 목록""",

    agent=quality_analyst,
)
속성설명
description구체적인 업무 지시 (상세할수록 좋다)
expected_output기대하는 산출물 형태
agent이 Task를 수행할 Agent
context선행 Task의 결과를 참조 (optional)

3. Crew (팀)

from crewai import Crew, Process

quality_crew = Crew(
    agents=[data_collector, quality_analyst, report_writer],
    tasks=[collect_data, analyze_defects, write_report],
    process=Process.sequential,  # 순서대로 실행
    verbose=True,
)

result = quality_crew.kickoff()

Process 유형

Sequential (순차 실행)

Agent A → Task 1 완료 → Agent B → Task 2 완료 → Agent C → Task 3 완료
(앞 Task의 결과가 다음 Task의 입력이 됨)

적합한 경우: 데이터 수집 → 분석 → 보고서 같은 파이프라인

Hierarchical (계층 실행)

          Manager Agent
         ┌──────┼──────┐
         ▼      ▼      ▼
      Agent A Agent B Agent C
      (분석)  (진단)  (보고)

적합한 경우: Manager가 상황에 따라 팀원에게 작업을 분배


CrewAI vs LangGraph vs A2A

비교CrewAILangGraphA2A
추상화 수준높음 (역할 기반)중간 (그래프 기반)낮음 (프로토콜 기반)
설정 난이도쉬움중간어려움
유연성제한적높음매우 높음
Agent 정의role + goal + backstoryNode 함수Agent Card
흐름 제어sequential/hierarchicalConditional EdgeTask 상태
최적 용도역할 명확한 팀 작업복잡한 조건부 흐름독립 Agent 간 통신
선택 가이드:

"역할이 명확하고 순서가 정해진 팀 작업"     → CrewAI
"조건에 따라 다른 경로로 가야 하는 복잡한 흐름" → LangGraph
"독립적인 Agent들이 표준 프로토콜로 협업"      → A2A
"세 가지를 조합"                              → 실전 최적 아키텍처

⚠️ CrewAI API가 빠르게 변화하고 있습니다. 최신 버전은 공식 문서를 확인하세요.

AI로 학습하기 — 꿀팁
CrewAI Process 유형 개념 점검AI 학습 팁

AI가 설명한 CrewAI sequential과 hierarchical process의 차이가 공식 CrewAI 문서와 일치하는지 검증하세요.

CrewAI의 sequential process와 hierarchical process의 차이, 특히 Manager Agent의 역할과 Task 위임 방식에 대해 설명받았는데, 이 내용이 CrewAI 공식 문서 기준과 정확한지 점검하고, 제조 현장에서 어느 process가 더 적합한 시나리오를 각각 제시해줘.
이 팁이 도움이 됐나요?
실습 — 직접 해보기
🧪멀티에이전트 오케스트레이션
슈퍼바이저·병렬 분담 패턴(CrewAI 스타일)으로 역할 분담 협업을 체험해보세요