티스토리 뷰

반응형

CrewAI란? 다중 AI 에이전트 시스템 이해하기

Manus와 같은 AI 시스템을 개발하려면 다중 에이전트(AI Agents) 기반의 구조를 이해해야 합니다.
CrewAI는 여러 개의 AI 에이전트가 협업하여 작업을 수행할 수 있도록 설계된 프레임워크입니다.
이 글에서는 CrewAI의 개념과 구조를 설명하고, Ollama와 연동하여 AI 에이전트를 실행하는 방법을 실습합니다.


🔹 1. CrewAI란?

📌 CrewAI 개요

CrewAI는 여러 개의 AI 에이전트가 역할을 분담하고 협력하여 작업을 수행하는 시스템을 구현할 수 있도록 도와주는 Python 라이브러리입니다.

CrewAI의 주요 특징

  • 다중 에이전트 시스템: 여러 AI 에이전트가 역할을 분담하여 협력 가능
  • 자동화된 워크플로우: 각 AI 에이전트가 특정 작업(Task)을 수행
  • LLM 연동 지원: Ollama, OpenAI, Hugging Face 등 다양한 LLM 지원
  • FastAPI, LangChain과 쉽게 연동 가능

CrewAI vs 일반적인 AI 시스템

비교 항목 일반적인 AI 시스템 CrewAI 기반 AI 시스템

에이전트 수 단일 AI 다중 AI 협업
역할 분배 없음 명확한 역할 부여
워크플로우 사용자가 직접 제어 AI가 자동으로 조율
예제 ChatGPT API Manus 스타일 AI

💡 목표: CrewAI를 활용하여 다중 AI 에이전트 시스템을 구축하는 방법을 실습합니다.


🔹 2. CrewAI 설치 및 환경 설정

CrewAI를 사용하려면 Python 환경에서 라이브러리를 설치해야 합니다.

CrewAI 설치

pip install crewai

Ollama 및 기타 종속 라이브러리 설치

pip install ollama fastapi uvicorn

설치 확인 (Python 환경에서 실행)

import crewai

print("CrewAI 설치 완료:", crewai.__version__)

🔹 3. CrewAI의 핵심 개념

CrewAI의 기본 개념은 Agent(에이전트), Task(작업), Crew(팀)으로 구성됩니다.

📌 1. Agent (AI 에이전트)

AI가 수행할 역할을 정의합니다.

from crewai import Agent

ai_agent = Agent(
    name="기술 분석가",
    role="최신 AI 기술을 분석하는 전문가",
    backstory="10년 경력의 AI 연구원",
    model="mistral"
)

📌 2. Task (작업)

각 AI 에이전트가 수행해야 할 작업을 설정합니다.

from crewai import Task

task = Task(
    description="최신 AI 기술 트렌드를 조사하고 요약해줘.",
    agent=ai_agent
)

📌 3. Crew (팀)

여러 개의 AI 에이전트를 조합하여 하나의 팀으로 설정합니다.

from crewai import Crew

crew = Crew(
    agents=[ai_agent],  # AI 에이전트 추가
    tasks=[task]  # 작업 추가
)

CrewAI의 전체 구조

Crew(agents=[Agent1, Agent2, Agent3], tasks=[Task1, Task2, Task3])

Manus와 같은 시스템 구현을 위해 CrewAI 활용 가능

  • 여러 AI가 역할을 나누어 문서 분석, 코딩, 보고서 생성 등의 작업 수행
  • 사용자의 요청을 자동 분석하여 최적의 답변 제공

🔹 4. CrewAI + Ollama 실습: AI 에이전트 실행하기

반응형

이제 CrewAI와 Ollama를 활용하여 기본적인 AI 에이전트 시스템을 실행해 보겠습니다.

🔹 Python 코드 (CrewAI + Ollama 연동 테스트)

from crewai import Agent, Task, Crew
import ollama

# Ollama 기반 AI 실행 함수
def query_ollama(prompt):
    response = ollama.chat(model="mistral", messages=[{"role": "user", "content": prompt}])
    return response["message"]["content"]

# CrewAI 기반 AI 에이전트 정의
researcher = Agent(
    name="기술 분석가",
    role="최신 AI 기술을 조사하는 AI",
    backstory="AI 연구소에서 10년간 기술을 연구한 전문가",
    model="mistral"
)

writer = Agent(
    name="기술 작가",
    role="기술 블로그를 작성하는 AI",
    backstory="기술 문서를 전문적으로 작성하는 AI",
    model="mistral"
)

# 연구원에게 AI 기술 조사 요청
research_task = Task(
    description="2024년 AI 기술 트렌드를 조사하고 요약해줘.",
    agent=researcher
)

# 작가에게 블로그 글 작성 요청
write_task = Task(
    description="조사한 내용을 바탕으로 블로그 글을 작성해줘.",
    agent=writer
)

# Crew 설정 (AI 에이전트 협업)
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])

# AI 에이전트 실행
result = crew.kickoff()
print("📌 AI 응답:")
print(result)

📌 실행 결과:
1️⃣ AI 연구원이 최신 AI 트렌드를 조사
2️⃣ AI 기술 작가가 조사 내용을 바탕으로 블로그 글 작성

이 코드에서 확인할 점

  • CrewAI를 사용하여 여러 AI가 역할을 나누어 협업
  • Ollama 기반의 AI 모델(mistral)을 활용하여 맞춤형 AI 생성
  • Manus 스타일의 AI 시스템을 직접 구현하는 기초 코드 제공

🔹 5. CrewAI로 AI 자동화 시스템 확장하기

이제 CrewAI를 활용하여 더 강력한 AI 시스템을 개발할 수 있습니다.
다음 단계에서는 FastAPI를 활용하여 CrewAI 기반 AI 서비스를 API로 제공하는 방법을 배워볼 것입니다.

📌 AI Agent 확장 로드맵

CrewAI + FastAPI 연동하여 API 형태로 AI 제공
LangChain과 결합하여 AI의 기억력(장기 메모리) 추가
Docker 컨테이너로 AI Agent 배포 및 운영


🎯 6. CrewAI 개념 및 실습 정리

CrewAI는 여러 AI가 협력하여 작업하는 다중 AI 시스템을 구축하는 도구이다.
Agent, Task, Crew 개념을 활용하여 AI 역할을 분리할 수 있다.
CrewAI와 Ollama를 연동하면 AI 협업 시스템을 만들 수 있다.
Manus 스타일의 AI 시스템을 직접 개발할 수 있다.


🚀 다음 글 미리보기:

👉 "FastAPI로 AI API 만들기 - Ollama와 CrewAI 연동"
👉 FastAPI를 활용하여 CrewAI 기반 AI 에이전트를 API 서비스로 배포하는 방법을 배워봅니다.


 

 

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함
반응형