30분
CrewAI 핵심: Agent, Task, Crew
Day 4: CrewAI 협업 에이전트
CrewAI 핵심: Agent, Task, Crew
AI Agent 심화 > 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
| 비교 | CrewAI | LangGraph | A2A |
|---|---|---|---|
| 추상화 수준 | 높음 (역할 기반) | 중간 (그래프 기반) | 낮음 (프로토콜 기반) |
| 설정 난이도 | 쉬움 | 중간 | 어려움 |
| 유연성 | 제한적 | 높음 | 매우 높음 |
| Agent 정의 | role + goal + backstory | Node 함수 | Agent Card |
| 흐름 제어 | sequential/hierarchical | Conditional Edge | Task 상태 |
| 최적 용도 | 역할 명확한 팀 작업 | 복잡한 조건부 흐름 | 독립 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 스타일)으로 역할 분담 협업을 체험해보세요