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
Quer usar Structured Output na sua empresa?
30 minutos, gratuito, sem compromisso. Dizemos onde encaixa.
Diagnóstico IA gratuito