Líderes de pensamento

Guia para Entender, Construir e Otimizar Agentes de Chamada de API

mm
Adicione Unite.AI às suas fontes preferidas no Google

O papel da InteligÊncia Artificial em empresas de tecnologia estÃĄ evoluindo rapidamente; os casos de uso de IA evoluíram do processamento de informaçÃĩes passivo para agentes proativos capazes de executar tarefas. De acordo com uma pesquisa de março de 2025 sobre adoçÃĢo global de IA conduzida por Georgian e NewtonX, 91% dos executivos tÃĐcnicos em empresas em estÃĄgio de crescimento e empresas estÃĢo relatando usar ou planejar usar IA agente.

Os agentes de chamada de API sÃĢo um exemplo primÃĄrio dessa mudança para agentes. Os agentes de chamada de API utilizam Large Language Models (LLMs) para interagir com sistemas de software por meio de suas Interfaces de ProgramaçÃĢo de Aplicativos (APIs).

Por exemplo, traduzindo comandos de linguagem natural em chamadas de API precisas, os agentes podem recuperar dados em tempo real, automatizar tarefas rotineiras ou mesmo controlar outros sistemas de software. Essa capacidade transforma os agentes de IA em intermediÃĄrios Úteis entre a intençÃĢo humana e a funcionalidade do software.

As empresas estÃĢo atualmente usando agentes de chamada de API em vÃĄrios domínios, incluindo:

  • Aplicativos de Consumo: Assistentes como o Siri da Apple ou o Alexa da Amazon foram projetados para simplificar tarefas diÃĄrias, como controlar dispositivos inteligentes e fazer reservas.
  • Fluxos de Trabalho Empresariais: As empresas implantaram agentes de API para automatizar tarefas repetitivas, como recuperar dados de CRMs, gerar relatÃģrios ou consolidar informaçÃĩes de sistemas internos.
  • RecuperaçÃĢo e AnÃĄlise de Dados: As empresas estÃĢo usando agentes de API para simplificar o acesso a conjuntos de dados proprietÃĄrios, recursos baseados em assinatura e APIs pÚblicas para gerar insights.

Neste artigo, usarei uma abordagem centrada em engenharia para entender, construir e otimizar agentes de chamada de API. O material neste artigo ÃĐ baseado em parte na pesquisa e desenvolvimento prÃĄticos conduzidos pelo LaboratÃģrio de IA da Georgian. A pergunta motivadora para grande parte da pesquisa do LaboratÃģrio de IA na ÃĄrea de agentes de chamada de API foi: “Se uma organizaçÃĢo tem uma API, qual ÃĐ a maneira mais eficaz de construir um agente que possa se comunicar com essa API usando linguagem natural?”

Explicarei como os agentes de chamada de API funcionam e como arquitetar e engenharia esses agentes para desempenho. Finalmente, fornecerei um fluxo de trabalho sistemÃĄtico que as equipes de engenharia podem usar para implementar agentes de chamada de API.

I. DefiniçÃĩes-Chave:

  • API ou Interface de ProgramaçÃĢo de Aplicativos: Um conjunto de regras e protocolos que permitem que diferentes aplicaçÃĩes de software se comuniquem e troquem informaçÃĩes.
  • Agente: Um sistema de IA projetado para perceber seu ambiente, tomar decisÃĩes e realizar açÃĩes para alcançar objetivos específicos.
  • Agente de Chamada de API: Um agente de IA especializado que traduz instruçÃĩes de linguagem natural em chamadas de API precisas.
  • Agente de GeraçÃĢo de CÃģdigo: Um sistema de IA que ajuda no desenvolvimento de software, escrevendo, modificando e depurando cÃģdigo. Embora relacionado, meu foco aqui ÃĐ principalmente em agentes que chamam APIs, embora a IA tambÃĐm possa ajudar a construir esses agentes.
  • MCP (Protocolo de Contexto de Modelo): Um protocolo, notadamente desenvolvido pela Anthropic, que define como os LLMs podem se conectar e utilizar ferramentas e fontes de dados externas.

II. Tarefa Central: Traduzindo Linguagem Natural em AçÃĩes de API

A funçÃĢo fundamental de um agente de chamada de API ÃĐ interpretar um pedido de linguagem natural do usuÃĄrio e convertÊ-lo em uma ou mais chamadas de API precisas. Esse processo geralmente envolve:

  1. Reconhecimento de IntençÃĢo: Entender o objetivo do usuÃĄrio, mesmo que expresso de forma ambígua.
  2. SeleçÃĢo de Ferramenta: Identificar o ponto de extremidade de API apropriado (ou “ferramenta”) de um conjunto de opçÃĩes disponíveis que possa atender à intençÃĢo.
  3. ExtraçÃĢo de ParÃĒmetro: Identificar e extrair os parÃĒmetros necessÃĄrios para a chamada de API selecionada (s) da consulta do usuÃĄrio.
  4. ExecuçÃĢo e GeraçÃĢo de Resposta: Fazer a chamada de API, receber a resposta e, em seguida, sintetizar essas informaçÃĩes em uma resposta coerente ou realizar uma açÃĢo subsequente.

Considere um pedido como “Ei, Siri, como estÃĄ o clima hoje?” O agente deve identificar a necessidade de chamar uma API de clima, determinar a localizaçÃĢo atual do usuÃĄrio (ou permitir a especificaçÃĢo de uma localizaçÃĢo) e, em seguida, formular a chamada de API para recuperar as informaçÃĩes climÃĄticas.

Para o pedido “Ei, Siri, como estÃĄ o clima hoje?”, uma chamada de API de exemplo pode parecer:

GET /v1/clima?localizaçÃĢo=Nova%20York&unidades=metricas

Os desafios iniciais de alto nível sÃĢo inerentes a esse processo de traduçÃĢo, incluindo a ambiguidade da linguagem natural e a necessidade do agente manter o contexto em interaçÃĩes de vÃĄrias etapas.

Por exemplo, o agente deve frequentemente “lembrar” partes anteriores de uma conversa ou resultados de chamadas de API anteriores para informar açÃĩes atuais. A perda de contexto ÃĐ um modo de falha comum se nÃĢo for explicitamente gerenciada.

III. Arquitetando a SoluçÃĢo: Componentes-Chave e Protocolos

Construir agentes de chamada de API eficazes requer uma abordagem arquitetÃīnica estruturada.

1. Definindo “Ferramentas” para o Agente

Para que um LLM use uma API, as capacidades da API devem ser descritas para ele de uma forma que possa entender. Cada ponto de extremidade de API ou funçÃĢo ÃĐ frequentemente representado como uma “ferramenta”. Uma definiçÃĢo de ferramenta robusta inclui:

  • Uma descriçÃĢo clara e natural da finalidade e funcionalidade da ferramenta.
  • Uma especificaçÃĢo precisa dos parÃĒmetros de entrada (nome, tipo, se ÃĐ necessÃĄrio ou opcional e uma descriçÃĢo).
  • Uma descriçÃĢo da saída ou dados que a ferramenta retorna.

2. O Papel do Protocolo de Contexto de Modelo (MCP)

O MCP ÃĐ um habilitador crítico para um uso mais padronizado e robusto de ferramentas por LLMs. Ele fornece um formato estruturado para definir como os modelos podem se conectar a ferramentas e fontes de dados externas.

A padronizaçÃĢo do MCP ÃĐ benÃĐfica porque permite uma integraçÃĢo mais fÃĄcil de ferramentas diversificadas, promove a reutilizaçÃĢo de definiçÃĩes de ferramentas em diferentes agentes ou modelos. AlÃĐm disso, ÃĐ uma prÃĄtica recomendada para equipes de engenharia, começando com especificaçÃĩes de API bem definidas, como uma especificaçÃĢo OpenAPI. Ferramentas como Stainless.ai sÃĢo projetadas para ajudar a converter essas especificaçÃĩes OpenAPI em configuraçÃĩes MCP, simplificando o processo de tornar as APIs “prontas para o agente”.

3. Estruturas de Agente e Escolhas de ImplementaçÃĢo

VÃĄrios frameworks podem ajudar a construir o agente em si. Isso inclui:

  • Pydantic: Embora nÃĢo seja exclusivamente um framework de agente, Pydantic ÃĐ Ãštil para definir estruturas de dados e garantir a segurança de tipo para entradas e saídas de ferramentas, o que ÃĐ importante para a confiabilidade. Muitas implementaçÃĩes de agentes personalizados utilizam Pydantic para essa integridade estrutural.
  • mcp_agent do LastMile: Esse framework ÃĐ projetado especificamente para trabalhar com MCPs, oferecendo uma estrutura mais opinativa que se alinha com prÃĄticas para construir agentes eficazes, como descrito em pesquisas de lugares como Anthropic.
  • Framework Interno: TambÃĐm ÃĐ cada vez mais comum usar agentes de geraçÃĢo de cÃģdigo de IA (usando ferramentas como Cursor ou Cline) para ajudar a escrever o cÃģdigo de boilerplate para o agente, suas ferramentas e a lÃģgica circundante. A experiÊncia do LaboratÃģrio de IA da Georgian trabalhando com empresas em implementaçÃĩes de agentes mostra que isso pode ser Ãģtimo para criar frameworks personalizados mínimos.

IV. Engenharia para Confiabilidade e Desempenho

Garantir que um agente faça chamadas de API de forma confiÃĄvel e tenha um bom desempenho requer um esforço de engenharia focado. Duas maneiras de fazer isso sÃĢo (1) criaçÃĢo e validaçÃĢo de conjunto de dados e (2) engenharia e otimizaçÃĢo de prompts.

1. CriaçÃĢo e ValidaçÃĢo de Conjunto de Dados

Treinar (se aplicÃĄvel), testar e otimizar um agente requer um conjunto de dados de alta qualidade. Esse conjunto de dados deve consistir em consultas de linguagem natural representativas e suas sequÊncias de chamadas de API desejadas ou resultados.

  • CriaçÃĢo Manual: Criar manualmente um conjunto de dados garante precisÃĢo e relevÃĒncia, mas pode ser trabalhoso.
  • GeraçÃĢo SintÃĐtica: Gerar dados programaticamente ou usando LLMs pode dimensionar a criaçÃĢo do conjunto de dados, mas essa abordagem apresenta desafios significativos. A pesquisa do LaboratÃģrio de IA da Georgian encontrou que garantir a correçÃĢo e a complexidade realista das chamadas de API e consultas geradas sinteticamente ÃĐ muito difícil. Muitas vezes, as perguntas geradas eram muito triviais ou impossivelmente complexas, tornando difícil medir o desempenho nuanciado do agente. A validaçÃĢo cuidadosa dos dados sintÃĐticos ÃĐ absolutamente crítica.

Para avaliaçÃĢo crítica, um conjunto de dados menor, de alta qualidade e verificado manualmente muitas vezes fornece insights mais confiÃĄveis do que um grande conjunto de dados sintÃĐticos e barulhento.

2. Engenharia e OtimizaçÃĢo de Prompts

O desempenho de um agente baseado em LLM ÃĐ fortemente influenciado pelos prompts usados para guiar seu raciocínio e seleçÃĢo de ferramentas.

  • A prompting eficaz envolve definir claramente a tarefa do agente, fornecer descriçÃĩes das ferramentas disponíveis e estruturar o prompt para encorajar a extraçÃĢo de parÃĒmetros precisa.
  • A otimizaçÃĢo sistemÃĄtica usando frameworks como DSPy pode melhorar significativamente o desempenho. DSPy permite definir os componentes do agente (por exemplo, mÃģdulos para geraçÃĢo de pensamento, seleçÃĢo de ferramentas, formataçÃĢo de parÃĒmetros) e, em seguida, usa uma abordagem de compilaçÃĢo com poucos exemplos do conjunto de dados para encontrar prompts ou configuraçÃĩes otimizados para esses componentes.

V. Um Caminho Recomendado para Agentes de API Eficazes

Desenvolver agentes de chamada de API robustos ÃĐ uma disciplina de engenharia iterativa. Com base nos achados da pesquisa do LaboratÃģrio de IA da Georgian, os resultados podem ser melhorados significativamente usando um fluxo de trabalho sistemÃĄtico como o seguinte:

  1. Comece com DefiniçÃĩes de API Claras: Comece com especificaçÃĩes de API bem estruturadas para as APIs com as quais o agente interagirÃĄ.
  2. Padronize o Acesso à Ferramenta: Converta as especificaçÃĩes da API em MCP. Ferramentas como Stainless.ai podem facilitar isso, criando uma forma padronizada para o agente entender e usar as APIs.
  3. Implemente o Agente: Escolha um framework ou abordagem apropriada. Isso pode envolver o uso de Pydantic para modelagem de dados dentro de uma estrutura de agente personalizado ou aproveitar um framework como mcp_agent do LastMile que ÃĐ construído em torno do MCP.
    • Antes de fazer isso, considere conectar o MCP a uma ferramenta como Claude Desktop ou Cline e usar manualmente essa interface para ter uma ideia de como bem um agente genÃĐrico pode usÃĄ-lo, quantas iteraçÃĩes geralmente leva para usar o MCP corretamente e quaisquer outros detalhes que possam economizar tempo durante a implementaçÃĢo.
  4. Crie um Conjunto de Dados de AvaliaçÃĢo de Qualidade: Crie manualmente ou valide cuidadosamente um conjunto de dados de consultas e interaçÃĩes de API desejadas. Isso ÃĐ crítico para testes e otimizaçÃĢo confiÃĄveis.
  5. Otimizar Prompts e LÃģgica do Agente: Empregue frameworks como DSPy para aprimorar os prompts e a lÃģgica interna do agente, usando o conjunto de dados para impulsionar melhorias na precisÃĢo e confiabilidade.

VI. Um Exemplo Ilustrativo do Fluxo de Trabalho

Aqui estÃĄ um exemplo simplificado ilustrando o fluxo de trabalho recomendado para construir um agente de chamada de API:

Etapa 1: Comece com DefiniçÃĩes de API Claras

Imagine uma API para gerenciar uma lista de tarefas simples, definida em OpenAPI:

openapi: 3.0.0

info:

título: API de Lista de Tarefas

versÃĢo: 1.0.0

caminhos:

/tarefas:

post:

resumo: Adicionar uma nova tarefa

corpo da solicitaçÃĢo:

requerido: true

conteÚdo:

application/json:

esquema:

tipo: objeto

propriedades:

descriçÃĢo:

tipo: string

respostas:

‘201’:

descriçÃĢo: Tarefa criada com sucesso

get:

resumo: Obter todas as tarefas

respostas:

‘200’:

descriçÃĢo: Lista de tarefas

Etapa 2: Padronize o Acesso à Ferramenta

Converta a especificaçÃĢo OpenAPI em configuraçÃĩes de Protocolo de Contexto de Modelo (MCP). Usando uma ferramenta como Stainless.ai, isso pode renderizar:

Nome da Ferramenta DescriçÃĢo ParÃĒmetros de Entrada DescriçÃĢo da Saída
Adicionar Tarefa Adiciona uma nova tarefa à lista de tarefas. `descriçÃĢo` (string, necessÃĄrio): A descriçÃĢo da tarefa. ConfirmaçÃĢo de criaçÃĢo de tarefa.
Obter Tarefas Recupera todas as tarefas da lista de tarefas. Nenhum Uma lista de tarefas com suas descriçÃĩes.

Etapa 3: Implemente o Agente

Usando Pydantic para modelagem de dados, crie funçÃĩes correspondentes às ferramentas MCP. Em seguida, use um LLM para interpretar consultas de linguagem natural e selecionar a ferramenta e parÃĒmetros apropriados.

Etapa 4: Crie um Conjunto de Dados de AvaliaçÃĢo de Qualidade

Crie um conjunto de dados:

Consulta Chamada de API Esperada Resultado Esperado
“Adicionar ‘Comprar mantimentos’ à minha lista.” `Adicionar Tarefa` com `descriçÃĢo` = “Comprar mantimentos” ConfirmaçÃĢo de criaçÃĢo de tarefa
“O que estÃĄ na minha lista?” `Obter Tarefas` Lista de tarefas, incluindo “Comprar mantimentos”

Etapa 5: Otimizar Prompts e LÃģgica do Agente

Use DSPy para aprimorar os prompts, focando em instruçÃĩes claras, seleçÃĢo de ferramentas e extraçÃĢo de parÃĒmetros usando o conjunto de dados curado para avaliaçÃĢo e melhoria.

Ao integrar esses blocos de construçÃĢo – desde definiçÃĩes de API estruturadas e protocolos de ferramentas padronizados atÃĐ prÃĄticas de dados rigorosas e otimizaçÃĢo sistemÃĄtica – as equipes de engenharia podem construir agentes de chamada de API mais capazes, confiÃĄveis e mantenedores.

Rodrigo Ceballos Lentini ÃĐ um Líder TÃĐcnico de IA no LaboratÃģrio de IA da Georgian, onde ele ajuda as empresas do portfÃģlio a alcançar resultados tangíveis em projetos de IA gerativa e agente. Rodrigo possui um Mestrado em Sistemas Neurais e ComputaçÃĢo com foco em VisÃĢo Computacional pela ETH ZÞrich.