Structured Output
Garante que o modelo de IA responde num formato técnico rígido e previsível, como JSON, em vez de texto livre narrativo.
O que é
No contexto da IA Generativa, o Structured Output (Saída Estruturada) é a capacidade de um modelo de linguagem (LLM) fornecer respostas que seguem um esquema predefinido e rigoroso, normalmente no formato JSON (JavaScript Object Notation). Enquanto uma interação normal com o ChatGPT resulta em texto corrido e conversacional, o Structured Output obriga a IA a organizar a informação em campos específicos, como tabelas invisíveis onde cada dado tem o seu lugar certo.
Para uma empresa, isto significa passar da fase de 'brincar' com a IA para a fase de 'integrar' a IA. Deixa de ser um chat e passa a ser uma componente de software que comunica diretamente com o software de faturação, o CRM ou o inventário sem erros de formatação.
Como funciona
Tecnicamente, o Structured Output funciona através de uma técnica chamada 'constrained sampling' (amostragem restringida). Durante o processo de geração das palavras (tokens), o servidor que corre o modelo de IA verifica se a próxima palavra viola as regras do esquema (schema) definido pelo programador. Se o esquema exige um número para o campo 'preço', o modelo fica proibido de gerar letras nesse local.
Antigamente, isto era feito puramente através de Prompt Engineering, pedindo à IA: 'Responde apenas em JSON'. No entanto, os modelos falhavam frequentemente, adicionando texto extra ou esquecendo-se de fechar parêntesis. Hoje, as principais APIs (OpenAI, Anthropic, Google) oferecem modos nativos onde o modelo garante 100% de aderência ao esquema fornecido, tornando a resposta totalmente legível por máquinas.
Quando usar
O Structured Output é indispensável em qualquer cenário onde a saída da IA precise de ser consumida por outro sistema automático. Se a ideia é apenas ler a resposta no ecrã, o texto livre serve. Se o objetivo é que a resposta preencha automaticamente uma ficha de cliente, deve usar-se saída estruturada.
Os casos de uso mais comuns incluem:
- Extração de Dados: Converter um e-mail de encomenda num objeto com 'nome_cliente', 'quantidade' e 'referencia_sku'.
- Classificação: Analisar tickets de suporte e devolver apenas uma categoria fixa (ex: Sugestão, Reclamação, Erro Técnico).
- Agentes de IA: Quando um agente precisa de decidir qual ferramenta usar (Function Calling), ele usa Structured Output para enviar os parâmetros corretos para essa ferramenta.
- Análise de Sentimento: Transformar reviews de produtos em pontuações numéricas de 1 a 5.
Erros comuns
O erro mais frequente é desenhar esquemas demasiado complexos ou ambíguos. Se pedir à IA para preencher um campo chamado 'detalhes' sem especificar o que lá deve estar, o modelo pode alucinar ou incluir informação irrelevante.
Outro erro é esquecer que o Structured Output não impede a alucinação de factos; ele apenas garante a formatação. Se perguntar o NIF de uma empresa que o modelo não conhece e exigir um formato numérico, a IA pode inventar um número válido mas falso. Finalmente, as empresas muitas vezes negligenciam o tratamento de erros: mesmo que o JSON venha perfeito, a lógica de negócio deve verificar se os dados extraídos fazem sentido (ex: se uma data de entrega não está no passado).
Exemplo prático para uma PME
Imagine uma PME portuguesa que gere alojamentos locais e recebe centenas de mensagens mensais em várias línguas através do Booking ou Airbnb. Sem Structured Output, um funcionário teria de ler cada mensagem e copiar os dados para uma folha de Excel.
Com Structured Output, a empresa envia o texto da mensagem para a IA com um esquema que define: data_entrada, data_saida, numero_hospedes e pedidos_especiais.
A IA recebe a mensagem: 'Olá, vamos chegar no dia 15 de agosto, somos 3 adultos e um bebé. Podem providenciar berço?'
O Structured Output devolve:
{
"check_in": "2024-08-15",
"total_pessoas": 4,
"berco": true,
"idioma": "PT"
}
Este JSON entra diretamente no sistema de gestão de reservas da PME, bloqueando as datas e alertando a equipa de limpeza para preparar o berço, sem que ninguém tenha de tocar no teclado.
Perguntas frequentes
Q: O Structured Output gasta mais tokens? R: Sim, ligeiramente. A sintaxe do JSON (chaves, aspas e nomes de campos) conta como tokens. No entanto, a fiabilidade que traz compensa largamente o custo marginal extra.
Q: Preciso de saber programar para usar isto? R: Para a implementação técnica num workflow automático, sim. Mas ferramentas de automação no-code (como o Make ou Zapier) já permitem configurar formatos estruturados de forma visual.
Q: Posso forçar a IA a responder num formato que não seja JSON? R: Embora o JSON seja o padrão da indústria, é possível forçar outros formatos como XML ou CSV, embora o suporte nativo dos modelos para garantir a validade seja quase sempre focado em JSON.
Q: O que acontece se o que o utilizador escreveu não couber no esquema? R: O modelo tentará adaptar a informação ao esquema da melhor forma possível. Se for impossível (ex: pedir uma data num texto que não tem datas), o modelo pode deixar o campo vazio (null) ou cometer um erro, por isso é importante incluir um campo de 'notas' ou 'status' para casos ambíguos.
Exemplos práticos
- 01Transformar e-mails de reserva em ficheiros JSON prontos para o software de gestão do hotel.
- 02Classificar automaticamente faturas digitalizadas por categoria de despesa e valor de IVA.
- 03Extrair nomes de produtos e quantidades de notas de encomenda escritas à mão via OCR.
- 04Padronizar o feedback de clientes em categorias fixas para análise em dashboards de BI.
Termos relacionados
Queres usar Structured Output na tua empresa?
Diagnóstico e proposta sem custo. Só pagas quando avançamos para a implementação.
Agendar diagnóstico IA gratuito