Pular para o conteúdo

Capacidades do Agente

Agentes CrewAI podem ser estendidos com cinco tipos distintos de capacidades, cada um servindo a um propósito diferente. Entender quando usar cada um — e como eles funcionam juntos — é fundamental para construir agentes eficazes.


O mais importante a entender: essas capacidades se dividem em duas categorias.

Estas dão aos agentes a capacidade de fazer coisas — chamar APIs, ler arquivos, buscar na web, enviar emails. No momento da execução, os três tipos se resolvem no mesmo formato interno (instâncias de BaseTool) e aparecem em uma lista unificada de ferramentas que o agente pode chamar.

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()], # Ferramentas locais
mcps=["https://mcp.example.com/sse"], # Ferramentas de servidor MCP remoto
apps=["gmail", "google_sheets"], # Integrações com plataformas
)

Estas modificam o prompt do agente — injetando expertise, instruções ou dados recuperados antes do agente começar a raciocinar. Não dão aos agentes novas ações; elas moldam como os agentes pensam e a quais informações têm acesso.

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"], # Instruções de domínio
knowledge_sources=[pdf_source, url_source], # Fatos recuperados
)

Você precisa…UseExemplo
Agente buscar na webFerramentastools=[SerperDevTool()]
Agente chamar uma API remota via MCPMCPsmcps=["https://api.example.com/sse"]
Agente enviar emails pelo GmailAppsapps=["gmail"]
Agente seguir procedimentos específicosSkillsskills=["./skills/code-review"]
Agente consultar documentos da empresaKnowledgeknowledge_sources=[pdf_source]
Agente buscar na web E seguir diretrizes de revisãoFerramentas + SkillsUse ambos juntos

Na prática, agentes frequentemente usam múltiplos tipos de capacidades juntos. Aqui está um exemplo realista:

from crewai import Agent
from crewai_tools import SerperDevTool, FileReadTool, CodeInterpreterTool
# Um agente de pesquisa totalmente equipado
researcher = Agent(
role="Senior Research Analyst",
goal="Produce comprehensive market analysis reports",
backstory="Expert analyst with deep industry knowledge",
# AÇÃO: O que o agente pode FAZER
tools=[
SerperDevTool(), # Buscar na web
FileReadTool(), # Ler arquivos locais
CodeInterpreterTool(), # Executar código Python para análise
],
mcps=["https://data-api.example.com/sse"], # Acessar API de dados remota
apps=["google_sheets"], # Escrever no Google Sheets
# CONTEXTO: O que o agente SABE
skills=["./skills/research-methodology"], # Como conduzir pesquisas
knowledge_sources=[company_docs], # Dados específicos da empresa
)

CaracterísticaFerramentasMCPsAppsSkillsKnowledge
Dá ações ao agente
Modifica o prompt
Requer códigoSimApenas configApenas configApenas MarkdownApenas config
Executa localmenteSimDependeSim (com variável de ambiente)N/ASim
Precisa de chaves APIPor ferramentaPor servidorToken de integraçãoNãoApenas embedder
Definido no Agenttools=[]mcps=[]apps=[]skills=[]knowledge_sources=[]
Definido no Crewskills=[]knowledge_sources=[]

Pronto para aprender mais sobre cada tipo de capacidade?