혼자 일하는 에이전트를 넘어, 여러 AI Agent가 팀으로 협업하는 멀티 에이전트 시스템이 주목받고 있습니다. CrewAI는 이를 가장 직관적으로 구현할 수 있는 프레임워크입니다.
CrewAI란?
CrewAI는 역할 기반 멀티 에이전트 오케스트레이션 프레임워크입니다. 각 에이전트에게 역할(Role), 목표(Goal), 배경(Backstory)을 부여하고, 태스크를 분배하여 협업하게 합니다.
설치
pip install crewai crewai-tools
기본 구조
CrewAI의 핵심은 세 가지입니다:
- Agent: 역할과 도구를 가진 개별 AI
- Task: 에이전트에게 할당되는 작업 단위
- Crew: 에이전트와 태스크의 조합
예제: 리서치 + 작성 에이전트 팀
from crewai import Agent, Task, Crew
from crewai_tools import SerperDevTool
search_tool = SerperDevTool()
# 리서처 에이전트
researcher = Agent(
role="AI 트렌드 리서처",
goal="최신 AI Agent 관련 정보를 수집하고 분석한다",
backstory="5년 경력의 AI 리서처로, 최신 기술 트렌드에 밝다",
tools=[search_tool],
verbose=True
)
# 작성자 에이전트
writer = Agent(
role="테크 블로그 작성자",
goal="리서치 내용을 독자 친화적인 블로그 포스트로 작성한다",
backstory="IT 전문 매체 기자 출신으로 복잡한 기술을 쉽게 설명한다",
verbose=True
)
# 태스크 정의
research_task = Task(
description="2024년 AI Agent 분야 주요 발전 사항 3가지를 조사하라",
agent=researcher,
expected_output="3가지 트렌드와 각각의 의미를 담은 리포트"
)
writing_task = Task(
description="리서치 결과를 바탕으로 1000자 분량의 블로그 포스트를 작성하라",
agent=writer,
expected_output="한국어 블로그 포스트"
)
# Crew 실행
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
verbose=True
)
result = crew.kickoff()
print(result)
멀티 에이전트의 강점
복잡한 프로젝트를 단일 에이전트에게 맡기면 컨텍스트가 폭발하고 품질이 저하됩니다. 멀티 에이전트 시스템은 분업을 통해 각 에이전트가 자신의 전문 영역에 집중하게 하여 전체 품질을 높입니다.
마치 실제 팀처럼, AI Agent들도 역할 분담이 핵심입니다.
댓글 없음:
댓글 쓰기