https://www.perplexity.ai/search/crewaie-daehaeseo-seolmyeongha-vJuDa0STTbWS2zjVTjnXdQ#2

## 기본 설정

먼저 필요한 라이브러리를 임포트하고 기본 설정을 합니다.

```python
from crewai import Agent, Task, Crew
from langchain.tools import DuckDuckGoSearchRun

# 검색 도구 설정
search_tool = DuckDuckGoSearchRun()
```

## 에이전트 정의

블로그 포스트 작성에 필요한 세 가지 역할의 에이전트를 정의합니다.

```python
# 연구원 에이전트
researcher = Agent(
    role='연구원',
    goal='주제에 대한 최신 정보와 통계를 수집',
    backstory='당신은 꼼꼼하고 정확한 정보를 찾아내는 전문 연구원입니다.',
    tools=[search_tool],
    verbose=True
)

# 작가 에이전트
writer = Agent(
    role='작가',
    goal='흥미롭고 정보가 풍부한 블로그 포스트 작성',
    backstory='당신은 복잡한 주제를 쉽게 설명할 수 있는 재능 있는 작가입니다.',
    tools=[search_tool],
    verbose=True
)

# 편집자 에이전트
editor = Agent(
    role='편집자',
    goal='글의 품질을 높이고 일관성 있는 톤을 유지',
    backstory='당신은 꼼꼼한 교정과 건설적인 피드백을 제공하는 경험 많은 편집자입니다.',
    tools=[search_tool],
    verbose=True
)
```

## 작업 정의

각 에이전트에게 할당할 작업을 정의합니다.

```python
task1 = Task(
    description='AI와 기후 변화에 대한 최신 연구와 통계를 수집하세요.',
    agent=researcher
)

task2 = Task(
    description='수집된 정보를 바탕으로 "AI가 기후 변화 대응에 미치는 영향"에 대한 1500자 블로그 포스트를 작성하세요.',
    agent=writer
)

task3 = Task(
    description='작성된 블로그 포스트를 검토하고 필요한 수정사항을 제안하세요.',
    agent=editor
)
```

## 크루 생성 및 실행

정의된 에이전트와 작업으로 크루를 구성하고 실행합니다.

```python
crew = Crew(
    agents=[researcher, writer, editor],
    tasks=[task1, task2, task3],
    verbose=2
)

result = crew.kickoff()
print(result)
```

## 실행 과정

이 코드를 실행하면 다음과 같은 과정이 진행됩니다:

1. 연구원 에이전트가 AI와 기후 변화에 관한 최신 정보를 수집합니다.
2. 작가 에이전트가 수집된 정보를 바탕으로 블로그 포스트를 작성합니다.
3. 편집자 에이전트가 작성된 포스트를 검토하고 피드백을 제공합니다.
4. 최종 결과물이 출력됩니다.

이 예제는 CrewAI의 기본적인 사용 방법을 보여줍니다. 실제 사용 시에는 더 복잡한 작업 흐름과 추가적인 도구를 통합할 수 있습니다. 예를 들어, 특정 API를 사용하여 실시간 데이터를 가져오거나, 자연어 처리 도구를 통합하여 텍스트 분석을 수행할 수 있습니다.

CrewAI의 강점은 이러한 복잡한 작업 흐름을 여러 전문화된 에이전트가 협력하여 수행할 수 있다는 점입니다. 각 에이전트는 자신의 역할에 집중하면서도 다른 에이전트와 정보를 교환하고 협력하여 전체 작업의 품질을 높일 수 있습니다.


+ Recent posts