ai-orchestration
CHAPTER 53 / 59
읽기 약 2분
FUNCTION
멀티 에이전트: CrewAI 실전
핵심 개념
Agent·Task·Crew — 역할 분담 + 에이전트 통신 + 리서치+작성+검수 3인 팀 자동화.
본문
CrewAI 핵심 — 3개 개념
# pip install crewai
from crewai import Agent, Task, Crew
from langchain_anthropic import ChatAnthropic
llm = ChatAnthropic(model="claude-sonnet-4-6")
# 1. Agent — 역할과 도구를 가진 AI 노동자
researcher = Agent(
role="시니어 리서처",
goal="주제에 대한 정확하고 상세한 정보 수집",
backstory="20년 경력의 기술 리서처. 빠르고 정확한 정보 수집이 강점.",
llm=llm,
verbose=True,
)
writer = Agent(
role="기술 블로거",
goal="복잡한 기술을 쉽게 설명하는 한국어 블로그 작성",
backstory="한국어 기술 블로그 5년 운영. 사용자 친화적 설명이 강점.",
llm=llm,
verbose=True,
)
reviewer = Agent(
role="편집자",
goal="블로그의 정확성·가독성·문법을 검수",
backstory="기술 출판사 10년 경력. 까다로운 검수가 강점.",
llm=llm,
verbose=True,
)
# 2. Task — 각 Agent에게 할당
research_task = Task(
description="주제 'LangGraph vs LangChain 차이점'에 대해 리서치하세요.",
expected_output="3~5개 핵심 차이점과 각 사용 시나리오",
agent=researcher,
)
write_task = Task(
description="리서치 결과를 바탕으로 한국어 블로그 글 작성. 1500자.",
expected_output="제목 + 도입 + 본문(차이점 3~5) + 결론 구조의 블로그",
agent=writer,
context=[research_task], # 의존성
)
review_task = Task(
description="블로그 글을 검수하고 개선안 제시.",
expected_output="최종 수정된 블로그 글",
agent=reviewer,
context=[write_task],
)
# 3. Crew — 에이전트 팀 구성
crew = Crew(
agents=[researcher, writer, reviewer],
tasks=[research_task, write_task, review_task],
verbose=2, # 상세 로그
)
# 실행
result = crew.kickoff()
print(result)도구 (Tools) 추가
from crewai_tools import SerperDevTool, ScrapeWebsiteTool
# 웹 검색 도구
search_tool = SerperDevTool()
scrape_tool = ScrapeWebsiteTool()
researcher = Agent(
role="시니어 리서처",
goal="...",
backstory="...",
llm=llm,
tools=[search_tool, scrape_tool],
verbose=True,
)
# 커스텀 도구
from langchain_core.tools import tool
@tool
def calculate(expression: str) -> str:
"""수학 계산 도구"""
try:
return str(eval(expression)) # ⚠️ 프로덕션은 ast.literal_eval
except Exception as e:
return f"에러: {e}"
math_agent = Agent(
role="수학 전문가",
goal="정확한 계산 수행",
backstory="...",
tools=[calculate],
llm=llm,
)협업 패턴 — Sequential vs Hierarchical
# Sequential (기본) — 작업이 순차 실행
crew = Crew(
agents=[researcher, writer, reviewer],
tasks=[research_task, write_task, review_task],
process=Process.sequential,
)
# Hierarchical — 매니저가 작업 분배
from crewai import Process
crew = Crew(
agents=[researcher, writer, reviewer],
tasks=[research_task, write_task, review_task],
process=Process.hierarchical,
manager_llm=llm, # 매니저용 LLM
)
# 매니저가 동적으로 작업 분배 + 결과 통합메모리 — 에이전트 간 컨텍스트
crew = Crew(
agents=[...],
tasks=[...],
memory=True, # 모든 작업 결과 메모리 공유
embedder={
"provider": "openai",
"config": {"model": "text-embedding-3-small"},
},
)실전 — 콘텐츠 마케팅 자동화
# 1. 시장 조사 — 트렌드 파악
# 2. 키워드 리서치 — SEO
# 3. 기사 작성 — 한국어 블로그
# 4. 이미지 프롬프트 — DALL-E 입력
# 5. SNS 포스트 — 트위터/링크드인
trend_agent = Agent(role="트렌드 분석가", ...)
seo_agent = Agent(role="SEO 전문가", ...)
writer_agent = Agent(role="블로거", ...)
designer_agent = Agent(role="아트 디렉터", ...)
social_agent = Agent(role="SNS 매니저", ...)
# 5개 작업 순차 실행 → 자동화된 콘텐츠 마케팅 파이프라인다음 챕터
CH.5 "가드레일·프롬프트 보안" — 프로덕션 챗봇의 안전장치.
AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
무료 모델
Gemini 2.5 Flash(무료) + Claude Sonnet 4.6(무료) + Grok 4.1(무료)
무료 Gemini Flash로 CrewAI 멀티 에이전트 팀을 만들고 비용 0원으로 콘텐츠 자동화 구축법을 알려줘.
소자본 모델
Claude API + Cursor $20/mo + Make.com — 월 10~30만원
Claude API + CrewAI로 리서치+작성+검수 3인 팀을 빠르게 구축하는 패턴을 실전 예시로 알려줘.
프로덕션 모델
Claude Opus + CrewAI + LangGraph — 월 100만원+
Claude Opus + CrewAI + LangSmith로 엔터프라이즈 멀티 에이전트 자동화 + 비용 모니터링을 설계해줘.
스택 프롬프트
0원→$20/mo→$100/mo 단계별 스택 비교
단일 에이전트 → 2인 팀 → 5인 팀 단계별 비용/복잡도/효과를 비교해줘.
⭐ 이것만 기억하세요
멀티 에이전트: CrewAI 실전은 이 3가지만 확실히 잡으세요
1.CrewAI = Agent + Task + Crew — 역할 분담된 AI 팀
2.Tool로 도구 추가, Memory로 컨텍스트 공유, Process로 협업 방식 결정
3.다음 챕터 CH.5에서 가드레일 — 프로덕션 챗봇의 보안
공유하기
진행도 53 / 59