MCP, function calling, CLI e skills para agentes de AI: comparação

Tradução automática

Este artigo foi traduzido automaticamente a partir da versão original em inglês.

Use function calling quando uma aplicação expõe um conjunto pequeno de ferramentas tipadas a uma única API de modelo. Use o Model Context Protocol (MCP) quando vários clientes compatíveis devem descobrir e chamar um servidor reutilizável. Use uma interface de linha de comandos (CLI) quando já existe um comando estável e texto ou ficheiros são entradas e saídas adequados. Use uma skill quando instruções, scripts e referências reutilizáveis devem ensinar um agente a executar um fluxo de trabalho.

Estas interfaces podem ser combinadas. Uma skill pode indicar a um agente quando chamar uma ferramenta MCP. Esse servidor pode executar uma CLI existente, enquanto o modelo seleciona a operação através de function calling. A aplicação tem de validar os argumentos e verificar as permissões do utilizador sobre o recurso de destino antes da execução.

A escolha depende da reutilização, da colocação em produção, das permissões e de quem mantém a interface.

Tabela de decisão

NecessidadePonto de partidaPrincipal precaução
Conjunto pequeno de ferramentas tipadas numa aplicaçãoFunction callingUm esquema válido não autoriza a ação nem torna os argumentos seguros.
Ferramentas reutilizáveis entre clientes compatíveisFerramentas MCPA identidade do servidor, as credenciais, as alterações às ferramentas e o conteúdo devolvido requerem controlos separados.
Comando existente para desenvolvimento ou operaçõesCLIValide os argumentos, evite a interpolação na shell e restrinja o acesso ao ambiente e às credenciais.
Instruções e recursos reutilizáveis para fluxos de trabalhoAgent SkillsAs instruções orientam a utilização das ferramentas; a aplicação continua a ser responsável pela execução e pelas permissões.
Lógica estável no processoFunção tipada ou API de bibliotecaNão adicione um protocolo quando uma única base de código controla ambos os lados.

Function calling

Function calling disponibiliza ao modelo operações nomeadas com argumentos estruturados. É adequado para um produto em que as ferramentas, as verificações das regras de segurança, as credenciais e a execução residem numa única aplicação. Mantenha os esquemas restritos, valide todos os argumentos e avalie tanto a seleção da ferramenta como o efeito secundário resultante.

MCP

O MCP separa os clientes dos servidores reutilizáveis e normaliza a descoberta e a invocação. É útil quando a mesma integração deve funcionar em vários agentes ou aplicações compatíveis. Os seus mecanismos de autorização continuam a exigir verificações de permissões específicas da aplicação. Autentique o servidor, limite o âmbito dos tokens, reveja as alterações às definições das ferramentas, isole servidores não fiáveis e trate os resultados como entrada não fiável.

Ferramentas CLI

Uma CLI é frequentemente o caminho mais curto para capacidades maduras, como Git, gestores de pacotes, ferramentas na nuvem e sistemas de compilação. Prefira structured output, diretórios de trabalho explícitos, opções não interativas, tempos de espera limitados e credenciais com âmbito restrito. Evite construir cadeias de comandos da shell a partir de texto não fiável.

Skills

Uma skill agrupa instruções procedimentais e pode incluir scripts, referências ou modelos de documentos. A especificação Agent Skills permite aos agentes compatíveis carregar essas instruções quando necessário. Use-a para descrever um fluxo de trabalho que as ferramentas existentes possam executar. Mantenha-a suficientemente pequena para permitir a revisão, registe os pressupostos sobre versões e indique que ações precisam de aprovação.

Lista de verificação de seleção

  • Quem é responsável pelo cliente, pela interface e pela implementação?
  • Tem de ser reutilizada por vários clientes?
  • O esquema de entrada é restrito e versionado?
  • Onde são impostas a autorização e a aprovação?
  • Pode conteúdo não fiável chegar às credenciais ou à saída para a rede?
  • As chamadas, os argumentos, os resultados e as decisões das regras de segurança podem ser rastreados?
  • Uma chamada a uma biblioteca tipada consegue resolver o problema com uma interface mais reduzida?

Leitura aprofundada

Referências