llm-structured-output
Permite que seu agente obtenha respostas estruturadas de modelos de linguagem. Garante que os resultados sejam em formatos como JSON ou listas, facilitando o uso.
O que ela faz
Esta habilidade ajuda a IA a extrair informações específicas e organizadas (como dados em formato JSON) de textos, em vez de apenas gerar texto livre. Ela garante que a informação extraída siga um formato definido e seja confiável para ser usada em outras partes de um programa.
Quando usar
- ✓Quando você precisa que a IA retorne dados em um formato exato, como uma lista de itens ou informações de contato.
- ✓Ao construir sistemas onde a saída da IA precisa ser usada diretamente por outro software (ex: salvar em um banco de dados).
- ✓Se a IA está retornando dados bagunçados ou em formato incorreto e você precisa de uma solução confiável.
Exemplo do que pedir para a IA
“Extraia o nome, email e telefone desta mensagem e retorne em formato JSON: 'Olá, meu nome é Maria Silva e meu contato é maria.silva@email.com, telefone 11 98765-4321.'”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A IA é instruída a seguir um 'esquema' (um modelo de como os dados devem ser organizados) e usa ferramentas específicas de cada provedor de IA (OpenAI, Anthropic, Google) para garantir que a saída seja exatamente como o esquema define.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill llm-structured-outputOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/llm-structured-output/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Saída Estruturada de LLM
O Que Esta Habilidade Faz
Extrai dados tipados e validados das respostas da API de LLM em vez de analisar texto livre. Esta habilidade cobre as três abordagens principais: response_format da OpenAI com JSON Schema, o bloco tool_use da Anthropic para extração estruturada e responseSchema do Google no Gemini. Você aprenderá quando cada abordagem funciona, quando falha e como construir lógica de retentativa em torno de falhas de validação de esquema que todo sistema de produção encontra.
Quando Usar Esta Habilidade
- O usuário precisa extrair dados estruturados (objetos JSON, arrays, enums) de uma resposta de LLM
- O usuário está construindo um pipeline onde a saída do LLM alimenta diretamente o código (gravações em banco de dados, chamadas de API, renderização de UI)
- O usuário pergunta sobre
response_format,json_mode,json_objectoujson_schemana OpenAI - O usuário pergunta sobre o uso de blocos
tool_useoutool_resultda Anthropic para extração de dados (não para execução real de ferramentas) - O usuário pergunta sobre esquemas Zod com
zodResponseFormat()do pacote npmopenai - O usuário precisa analisar a saída do LLM em modelos Pydantic usando
instructor,marvinou validação manual - O usuário está recebendo JSON malformado, campos ausentes ou tipos incorretos das respostas do LLM e precisa de uma correção
- O usuário pergunta sobre
controlled generation,constrained decodingougrammar-based samplingem modelos locais
NÃO use esta habilidade quando:
- O usuário deseja geração de texto livre (resumos, ensaios, chat)
- O usuário está perguntando sobre Zod para validação de formulário ou validação de entrada de API (use
zod-validation-expertem vez disso) - O usuário precisa de engenharia de prompt para melhor qualidade de texto (não estrutura)
- O usuário deseja chamar ferramentas/APIs externas reais (esta habilidade cobre o uso de
tool_usecomo um hack de saída estruturada, não orquestração real de ferramentas)
Fluxo de Trabalho Principal
Identifique o esquema de destino. Pergunte ao usuário quais campos ele precisa extrair. Defina cada campo com seu tipo, se é obrigatório ou opcional, e valores de enum válidos, se aplicável. Não prossiga sem um esquema concreto.
Escolha o método apropriado para o provedor:
- OpenAI (gpt-4o, gpt-4o-mini): Use
response_format: { type: "json_schema", json_schema: { ... } }. Isso permite Saídas Estruturadas com conformidade de esquema garantida por meio de decodificação restrita. - Anthropic (Claude): Defina uma única ferramenta com o esquema de destino como
input_schemae definatool_choice: { type: "tool", name: "extract_data" }. Claude retorna os dados estruturados no bloco de conteúdotool_use. - Google (Gemini): Use
generationConfig.responseSchemacom um objeto JSON Schema e definaresponseMimeType: "application/json". - Modelos locais (llama.cpp, vLLM): Use gramáticas GBNF ou o sinalizador
--json-schemapara decodificação restrita no nível do token.
- OpenAI (gpt-4o, gpt-4o-mini): Use
Escreva a definição do esquema no idioma do usuário. Para Python, defina uma
BaseModelPydantic. Para TypeScript, defina um esquema Zod e converta-o comzodResponseFormat(). Para chamadas de API brutas, escreva JSON Schema diretamente.Inclua descrições em nível de campo no esquema. Cada campo deve ter uma string
descriptionque informa ao modelo o que colocar lá. Os modelos usam essas descrições como instruções de prompt implícitas — um campo descrito como"The user's sentiment as positive, negative, or neutral"produz melhores resultados do que umsentiment: strnu sem contexto.Defina o prompt do sistema para reforçar a estrutura. Diga ao modelo que seu trabalho é extração de dados, não conversação. Exemplo:
"You are a data extraction system. Analyze the input and return the requested fields. Do not include explanations outside the JSON structure."Se estiver usando o modo
json_schemada OpenAI, defina"strict": truena definição do esquema. Isso ativa a decodificação restrita, onde o modelo só pode emitir tokens que estejam em conformidade com o esquema. Semstrict: true, o modelo ainda pode produzir JSON inválido.Se estiver usando a abordagem
tool_useda Anthropic, extraia os dados estruturados deresponse.contentencontrando o bloco ondetype == "tool_use"e lendo seu campoinput. Não analise os blocos de texto — os dados estruturados residem exclusivamente no blocotool_use.Valide a resposta contra o esquema no código da sua aplicação. Mesmo com decodificação restrita, valide com
model_validate()do Pydantic ou.parse()do Zod antes de passar os dados adiante. Isso captura problemas semânticos (strings vazias, números fora do intervalo) que a conformidade do esquema por si só não pode evitar.
…
Perguntas frequentes
Por que a IA às vezes retorna JSON inválido?
Isso pode acontecer se a IA não for instruída corretamente sobre o formato ou se o provedor de IA não tiver um mecanismo robusto para forçar a saída a seguir o esquema. Esta habilidade ensina como usar esses mecanismos.
O que é um 'esquema' (schema)?
Um esquema é como um molde ou um plano que define a estrutura dos dados esperados: quais campos devem existir, que tipo de informação cada campo contém (texto, número, etc.) e se são obrigatórios ou opcionais.
Isso funciona para qualquer tipo de IA?
Esta habilidade foca em como fazer isso com as APIs de grandes provedores como OpenAI, Anthropic e Google. Para modelos rodando localmente, também existem técnicas similares.
Detalhes
Descrição original do autor
Get reliable JSON, enums, and typed objects from LLMs using response_format, tool_use, and schema-constrained decoding across OpenAI, Anthropic, and Google APIs.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3477
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bengali-nlp
Faz seu agente processar textos em bengali. Ajuda a entender e trabalhar com a língua, normalizando o texto e lidando com suas características únicas.
affaan-m/ECC
prompt-caching-strategy
Ajuda seu agente a otimizar o uso de prompts para modelos de linguagem. Ele analisa como os prompts são feitos para encontrar maneiras de reduzir custos e tornar as respostas mais rápidas, reutilizando informações sempre que possível.
affaan-m/ECC
prompt-optimizer
Faz seu agente analisar e melhorar os prompts que você escreve. Ele sugere como adicionar informações ou mudar a forma para que o modelo de IA entenda melhor e dê a resposta desejada.
affaan-m/ECC