1. Comece com um contrato de resposta estruturada
A recuperação de respostas só é útil quando a requisição já solicita saída estruturada. Bons casos de uso:response_format.type = "json_object"- saída no estilo JSON Schema
- uma estrutura de objeto estável usada por vários chamadores
2. Habilite o plugin na camada adequada
Você pode habilitarresponse-healing em três lugares:
- na política padrão de plugins do workspace
- na configuração de plugins de uma predefinição
- em
pluginsna requisição
- workspace
- predefinição
- requisição
3. Mantenha a saída do modelo restrita
A recuperação funciona melhor quando o formato de saída solicitado já está delimitado. Recomendações:- um objeto, em vez de vários blocos sem relação
- chaves obrigatórias explícitas
- temperatura determinística sempre que possível
- não peça texto explicativo fora do payload JSON
4. Entenda os limites da recuperação de respostas
O fluxo atual de recuperação é determinístico e funciona somente sem streaming. Requisições de streaming ignoram totalmente essa etapa. Ele pode corrigir:- cercas de código Markdown ao redor do JSON
- vírgulas sobrando no final
- delimitadores seguros ausentes
- chaves de objeto sem aspas em estruturas que ainda possam ser recuperadas
strict. Ele apenas extrai JSON já válido de cercas de código ou do texto ao redor e não aplica as transformações sintáticas mais amplas.
Quando a requisição usa saída no estilo JSON Schema, a recuperação também valida o payload recuperado antes de reescrevê-lo. O validador atual cobre restrições comuns, como:
- chaves obrigatórias
- tipos básicos escalares e de contêiner
- enums e valores const
- limites de arrays e
uniqueItems - comprimento de strings, expressões regulares e formatos comuns, como
email,uri,uuidedate-time - limites numéricos e
multipleOf - limites de propriedades de objetos e
additionalProperties: false
- inventar campos semânticos ausentes
- adivinhar valores de negócio
- transformar prosa arbitrária em dados válidos
5. Confirme se o plugin realmente foi executado
Quando a recuperação é executada, os detalhes da requisição devem mostrar informações sobre a execução do plugin. Confira:- o ID do plugin
- se ele tentou fazer uma transformação
- se o payload foi alterado
- o motivo da falha quando a resposta não pôde ser recuperada
- se a requisição não usava streaming, caso você esperasse que a recuperação fosse executada
6. Separe problemas do parser de problemas no conteúdo
Se a recuperação não ajudar, identifique qual tipo de falha ocorreu:- JSON malformado, mas ainda próximo da estrutura esperada
- JSON válido segundo o esquema, porém com campos incorretos
- prosa em vez de JSON
- saída truncada porque o limite de tokens é baixo demais
7. Implante gradualmente
- habilite a recuperação em uma predefinição com saída estruturada estável
- acompanhe os metadados de execução do plugin nos logs
- confirme que os payloads recuperados correspondem ao esquema esperado
- amplie para predefinições semelhantes somente depois de conferir que os logs estão corretos
8. Escolha o modo adequado
- Use
safequando o fluxo de trabalho se beneficiar de uma limpeza sintática limitada, como remover vírgulas finais ou adicionar aspas a chaves sem aspas. - Use
strictquando o fluxo de trabalho só puder aceitar JSON já válido depois que os delimitadores forem removidos. - Confira os detalhes da requisição para confirmar qual modo foi executado.