에이전트 캐퍼빌리티: 툴·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 추가, 임베더·검색 구성) — 해당 개념 문서를 참조하세요.