콘텐츠로 이동

에이전트 기능

CrewAI 에이전트는 다섯 가지 고유한 기능 유형으로 확장할 수 있으며, 각각 다른 목적을 가지고 있습니다. 각 유형을 언제 사용해야 하는지, 그리고 어떻게 함께 작동하는지 이해하는 것이 효과적인 에이전트를 구축하는 핵심입니다.


가장 중요한 점: 이 기능들은 두 가지 범주로 나뉩니다.

에이전트에게 무언가를 할 수 있는 능력을 부여합니다 — API 호출, 파일 읽기, 웹 검색, 이메일 전송. 실행 시점에 세 가지 모두 동일한 내부 형식(BaseTool 인스턴스)으로 변환되며, 에이전트가 호출할 수 있는 통합 도구 목록에 나타납니다.

from crewai import Agent
from crewai_tools import SerperDevTool, FileReadTool
agent = Agent(
role="Researcher",
goal="Find and compile market data",
backstory="Expert market analyst",
tools=[SerperDevTool(), FileReadTool()], # 로컬 도구
mcps=["https://mcp.example.com/sse"], # 원격 MCP 서버 도구
apps=["gmail", "google_sheets"], # 플랫폼 통합
)

에이전트의 프롬프트를 수정합니다 — 에이전트가 추론을 시작하기 전에 전문성, 지침 또는 검색된 데이터를 주입합니다. 에이전트에게 새로운 액션을 제공하는 것이 아니라, 에이전트가 어떻게 생각하고 어떤 정보에 접근할 수 있는지를 형성합니다.

from crewai import Agent
agent = Agent(
role="Security Auditor",
goal="Audit cloud infrastructure for vulnerabilities",
backstory="Expert in cloud security with 10 years of experience",
skills=["./skills/security-audit"], # 도메인 지침
knowledge_sources=[pdf_source, url_source], # 검색된 사실
)

필요한 것…사용할 것예시
에이전트가 웹을 검색도구tools=[SerperDevTool()]
에이전트가 MCP를 통해 원격 API 호출MCPmcps=["https://api.example.com/sse"]
에이전트가 Gmail로 이메일 전송apps=["gmail"]
에이전트가 특정 절차를 따름스킬skills=["./skills/code-review"]
에이전트가 회사 문서 참조지식knowledge_sources=[pdf_source]
에이전트가 웹 검색 AND 리뷰 가이드라인 준수도구 + 스킬둘 다 함께 사용

실제로 에이전트는 종종 여러 기능 유형을 함께 사용합니다. 현실적인 예시입니다:

from crewai import Agent
from crewai_tools import SerperDevTool, FileReadTool, CodeInterpreterTool
# 완전히 갖춘 리서치 에이전트
researcher = Agent(
role="Senior Research Analyst",
goal="Produce comprehensive market analysis reports",
backstory="Expert analyst with deep industry knowledge",
# 액션: 에이전트가 할 수 있는 것
tools=[
SerperDevTool(), # 웹 검색
FileReadTool(), # 로컬 파일 읽기
CodeInterpreterTool(), # 분석을 위한 Python 코드 실행
],
mcps=["https://data-api.example.com/sse"], # 원격 데이터 API 접근
apps=["google_sheets"], # Google Sheets에 쓰기
# 컨텍스트: 에이전트가 아는 것
skills=["./skills/research-methodology"], # 연구 수행 방법
knowledge_sources=[company_docs], # 회사 특화 데이터
)

특성도구MCP스킬지식
에이전트에게 액션 부여
프롬프트 수정
코드 필요설정만설정만마크다운만설정만
로컬 실행경우에 따라예 (환경 변수 필요)N/A
API 키 필요도구별서버별통합 토큰아니오임베더만
Agent에 설정tools=[]mcps=[]apps=[]skills=[]knowledge_sources=[]
Crew에 설정skills=[]knowledge_sources=[]

각 기능 유형에 대해 더 알아볼 준비가 되셨나요?