Glossário/Agentes & Tools

    Function Calling

    tool useuso de ferramentas

    Capacidade de um modelo de IA identificar que precisa de uma ferramenta externa para realizar uma tarefa e gerar o comando necessário para a executar com dados estruturados.

    O que é

    O Function Calling (chamada de funções) é a funcionalidade que permite aos modelos de linguagem (LLMs) deixarem de ser apenas geradores de texto para se tornarem motores de ação. Na sua essência, é a ponte entre o raciocínio da IA e os sistemas informáticos tradicionais da sua empresa.

    Embora um modelo como o GPT-4 ou o Claude seja incrivelmente capaz de escrever e analisar, ele vive num vácuo: não sabe que horas são, não tem acesso ao saldo do seu banco, nem consegue consultar o stock no seu armazém por conta própria. O Function Calling permite que o programador descreva as ferramentas disponíveis (APIs, bases de dados, calculadoras) para a IA. Quando o utilizador faz uma pergunta que exige dados externos, a IA avalia que ferramenta usar e devolve um formato de dados estruturado (normalmente JSON) com os parâmetros necessários para executar essa função.

    Como funciona

    Apesar do nome, a IA não executa o código diretamente nos seus servidores. O processo é um diálogo em quatro passos:

    1. Apresentação: Ao enviar uma mensagem à IA, o sistema anexa uma 'lista de ferramentas' descritas em código. Por exemplo: 'Tenho uma função chamada consultar_stock que aceita o parâmetro referencia_produto'.
    2. Decisão: O modelo analisa o pedido do utilizador. Se o cliente perguntar 'Temos sapatilhas azuis tamanho 42?', a IA percebe que não sabe a resposta, mas vê que tem uma ferramenta de stock disponível.
    3. Pedido de Chamada: A IA responde, não com texto para o cliente, mas com um pedido técnico: 'Por favor, executa consultar_stock para o item sap-azul-42'.
    4. Execução e Resposta: O seu sistema informático executa o comando na base de dados, obtém o resultado ('Sim, 5 unidades') e envia-o de volta à IA. Só então a IA escreve para o utilizador: 'Sim, temos 5 pares em stock. Deseja encomendar?'.

    Este ciclo transforma a IA num agente que interage com a realidade do negócio em tempo real.

    Quando usar

    Deve implementar Function Calling sempre que precisar que a IA interaja com dados dinâmicos ou sistemas de terceiros. Para uma PME, isto é crítico para evitar alucinações. Se perguntar à IA 'Qual foi a faturação de ontem?', sem Function Calling ela poderá inventar um número. Com Function Calling, ela consulta o software de faturação.

    Os casos de uso ideais incluem:

    • Consulta de dados em tempo real: Preços, meteorologia, disponibilidade de calendários ou níveis de inventário.
    • Ações em sistemas externos: Criar um ticket de suporte no Zendesk, enviar um email de confirmação ou agendar uma reunião no Google Calendar.
    • Extração de dados estruturados: Transformar um email desordenado de um cliente num formulário de encomenda pronto a inserir no ERP.
    • Cálculos complexos: Delegar matemática financeira a uma calculadora precisa em vez de confiar na aritmética probabilística do modelo.

    Erros comuns

    O erro mais frequente é dar nomes genéricos ou descrições vagas às funções. A IA decide qual ferramenta usar baseando-se na descrição que lhe fornece. Se a descrição for ambígua, ela escolherá a ferramenta errada ou tentará adivinhar os parâmetros.

    Outro erro crítico é a falta de validação. Nunca deve permitir que a IA execute funções sensíveis (como 'Eliminar Utilizador' ou 'Fazer Transferência Bancária') sem uma camada de verificação humana ou regras de negócio rígidas. A IA gera o comando, mas o seu sistema deve validar se aquele utilizador tem permissão para o executar.

    Por fim, muitos programadores esquecem-se de lidar com erros de rede. Se a API do seu fornecedor demorar a responder, a IA ficará sem contexto ou entrará em loop. É necessário prever respostas de erro para que a IA possa informar o utilizador de forma educada.

    Exemplo prático para uma PME

    Imagine uma empresa portuguesa de distribuição de vinhos. Eles têm um chatbot para os seus clientes profissionais (restaurantes e garrafeiras).

    Sem Function Calling, o bot apenas explica as castas dos vinhos. Com Function Calling, o bot tem acesso a três ferramentas: verificar_preço_revenda(id_cliente, id_produto), consultar_data_entrega(codigo_postal) e registar_encomenda().

    Quando o dono de um restaurante no Porto pergunta: 'A quanto me fica uma caixa de Pêra-Manca e quando chega?', o fluxo é este:

    • A IA deteta que precisa de consultar o preço específico para aquele cliente e os tempos logísticos para o Porto.
    • Chama as funções em milissegundos.
    • Recebe os dados: 450€ + IVA e entrega na próxima terça-feira.
    • Responde: 'Para o seu perfil de revenda, a caixa fica por 450€ + IVA. Se encomendar agora, entregamos no Porto já na terça-feira.'.

    Aqui, o valor para a PME é a automação de uma venda que anteriormente exigiria uma chamada telefónica ou troca de emails, mantendo a precisão total dos dados.

    Perguntas frequentes

    Q: O Function Calling é seguro? R: Sim, desde que o programador controle o que a função faz. A IA apenas sugere a chamada; é o seu código que a executa. Nunca dê acesso direto e sem restrições à base de dados.

    Q: Preciso de saber programar para usar isto? R: Para configurar a infraestrutura técnica, sim. No entanto, ferramentas de 'no-code' para agentes de IA já começam a integrar estas capacidades de forma visual.

    Q: Qual a diferença entre Function Calling e um Plugin? R: O Function Calling é o mecanismo técnico subjacente. Um Plugin (como os do ChatGPT) é uma implementação específica de interface que usa esse mecanismo para ligar o chatbot a serviços externos.

    Q: Consome muitos tokens? R: Sim, as definições das funções ocupam espaço na janela de contexto (Context Window). Se tiver dezenas de funções complexas, o custo por mensagem será mais elevado.

    Exemplos práticos

    • 01Um chatbot de imobiliária que consulta a base de dados para listar apartamentos com tipologia T2 em Braga.
    • 02Um assistente virtual que agenda reuniões verificando a disponibilidade real no Outlook da equipa.
    • 03Uma ferramenta de suporte que cancela subscrições automaticamente após validar o pedido do cliente no Stripe.
    • 04Um sistema de análise de compras que converte faturas em PDF em entradas estruturadas no software primavera.

    Queres usar Function Calling na tua empresa?

    Diagnóstico e proposta sem custo. Só pagas quando avançamos para a implementação.

    Agendar diagnóstico IA gratuito