에이전트 캐퍼빌리티: 툴·MCP·앱·스킬·지식

에이전트 캐퍼빌리티: 툴·MCP·앱·스킬·지식

CrewAI 에이전트는 다섯 가지 능력 유형으로 확장할 수 있어요: 툴(Tools), MCP, 앱(Apps), 스킬(Skills), 지식(Knowledge). 이 다섯 가지는 크게 행동 능력(무언가를 한다 — 툴·MCP·앱)과 컨텍스트 능력(어떻게 생각할지·무엇을 알지에 영향을 준다 — 스킬·지식) 두 범주로 나눌 수 있습니다. 언제 무엇을 쓰고 어떻게 조합하는지 이해하는 게 효과적인 에이전트 설계의 핵심이에요.

출처: 공식문서

본문

개요

CrewAI 에이전트는 다섯 가지 뚜렷한 능력 유형으로 확장될 수 있으며, 각각 다른 목적을 제공합니다. 언제 무엇을 쓸지 — 그리고 이들이 어떻게 함께 동작하는지 — 이해하는 것이 효과적인 에이전트 구축의 핵심입니다.

능력 설명
Tools 호출 가능한 함수 — 에이전트가 행동을 취하게 함. 웹 검색, 파일 연산, API 호출, 코드 실행.
MCP Servers 원격 툴 서버 — Model Context Protocol로 에이전트를 외부 툴 서버에 연결. 툴과 같은 효과지만 외부 호스팅.
Apps 플랫폼 통합 — CrewAI 플랫폼으로 Gmail·Slack·Jira·Salesforce 같은 SaaS 앱에 연결. 플랫폼 통합 토큰으로 로컬 실행.
Skills 도메인 전문성 — 에이전트 프롬프트에 지침·가이드라인·참고자료 주입. 스킬은 어떻게 생각할지를 가르침.
Knowledge 검색된 사실 — 의미 검색(RAG)으로 문서·파일·URL 데이터를 제공. 지식은 무엇을 알아야 할지를 줌.

핵심 구분

가장 중요한 것: 이 능력들은 두 범주로 나뉩니다.

행동 능력 (Tools, MCPs, Apps)

이들은 에이전트가 무언가를 하게 합니다 — 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()],  # Local tools
    mcps=["https://mcp.example.com/sse"],     # Remote MCP server tools
    apps=["gmail", "google_sheets"],           # Platform integrations
)

컨텍스트 능력 (Skills, Knowledge)

이들은 에이전트의 프롬프트를 수정합니다 — 에이전트가 추론을 시작하기 전에 전문성·지침·검색 데이터를 주입합니다. 새 액션을 주지는 않고 어떻게 생각하는지와 어떤 정보에 접근하는지를 형성합니다.

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"],        # Domain instructions
    knowledge_sources=[pdf_source, url_source], # Retrieved facts
)

언제 무엇을 쓸까

필요한 것 사용 예시
에이전트가 웹 검색 Tools tools=[SerperDevTool()]
에이전트가 MCP로 원격 API 호출 MCPs mcps=["https://api.example.com/sse"]
에이전트가 Gmail로 이메일 전송 Apps apps=["gmail"]
에이전트가 특정 절차 따르기 Skills skills=["./skills/code-review"]
에이전트가 회사 문서 참조 Knowledge knowledge_sources=[pdf_source]
에이전트가 웹 검색 AND 검토 지침 따르기 Tools + Skills 함께 사용

능력 조합

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

from crewai import Agent
from crewai_tools import SerperDevTool, FileReadTool, CodeInterpreterTool

# A fully-equipped research agent
researcher = Agent(
    role="Senior Research Analyst",
    goal="Produce comprehensive market analysis reports",
    backstory="Expert analyst with deep industry knowledge",

    # ACTION: What the agent can DO
    tools=[
        SerperDevTool(),         # Search the web
        FileReadTool(),          # Read local files
        CodeInterpreterTool(),   # Run Python code for analysis
    ],
    mcps=["https://data-api.example.com/sse"],  # Access remote data API
    apps=["google_sheets"],                      # Write to Google Sheets

    # CONTEXT: What the agent KNOWS
    skills=["./skills/research-methodology"],    # How to conduct research
    knowledge_sources=[company_docs],            # Company-specific data
)

비교 표

기능 Tools MCPs Apps Skills Knowledge
에이전트의 액션 제공
프롬프트 수정
코드 필요 Yes Config only Config only Markdown only Config only
로컬 실행 Yes Depends Yes (with env var) N/A Yes
API 키 필요 Per tool Per server Integration token No Embedder only
Agent에서 설정 tools=[] mcps=[] apps=[] skills=[] knowledge_sources=[]
Crew에서 설정 skills=[] knowledge_sources=[]

심화 학습

각 능력 유형에 대해 더 배우고 싶다면 — 툴(사용자 정의 툴, 75+ OSS 카탈로그, 캐싱·비동기 실행 구성), MCP 통합(stdio/SSE/HTTP 연결, 툴 필터, 인증), 스킬(SKILL.md 패키지, 도메인 전문성 주입), 지식(PDF·CSV·URL 추가, 임베더·검색 구성) — 해당 개념 문서를 참조하세요.

더 알아보기