idea_world_labDEV JOURNAL
domingo, 28 de junho de 2026

Esquema JSONL de teste do Qwen e seu uso

Data de criação: 28 de junho de 2026

Propósito

Criar trechos de código Godot com o Qwen e, ao anexar JSONL de respostas corretas e JSONL de respostas incorretas a esses trechos de código para validação “sim”/“não”, organizar o formato JSONL de referência e a finalidade de cada JSONL.

Este documento não fornece dados de exemplo. É um documento de referência de esquema para verificar, durante os testes, qual JSONL desempenha qual papel e quais campos são usados para a avaliação de evidência direta.

Critério comum

JSONL escreve um objeto JSON por linha.

{...}
{...}
{...}

Nos testes, não há um wrapper envolvendo o nome da tabela; os campos correspondentes às colunas da tabela de destino são colocados no nível superior.

Bom:
{"chunk_id":"...","content":"...","code_blocks":[...]}

Evitar:
{"table":"docs_chunks","payload":{"chunk_id":"..."}}

Campos que são gerados automaticamente no DB ou usados para o índice de pesquisa não precisam ser preenchidos diretamente no JSONL de teste.

Campo do DB Baseado no JSONL de teste
id excluído
embedding excluído ou null
search_tsv excluído
created_at excluído

No que diz respeito à verificação de evidência direta do Qwen, o importante é “qual campo no JSONL corresponde diretamente à string/API/padrão real do SOURCE_CODE”.

docs_chunks

Uso

docs_chunks é um JSONL que armazena explicações de documentação oficial, tutoriais e o corpo de referências de classes em unidades de chunk.

É usado para solicitar explicações de código, verificar o uso comum da API, confirmar explicações de sintaxe comum do Godot 3/4. Serve como base para determinar “quão diretamente este código está relacionado a alguma explicação da documentação oficial”, mais do que para as próprias regras de migração.

Formato JSONL

{
  "chunk_id": "text, required",
  "doc_version": "text, required",
  "source_url": "text, required",
  "source_file": "text, required",
  "source_sha256": "text, required",
  "doc_type": "text, required",
  "symbol": "text or null",
  "section_path": "array, required",
  "heading": "text or null",
  "content": "text, required",
  "code_blocks": "array, required",
  "language_tags": "array<string>",
  "godot_version_tags": "array<string>",
  "api_symbols": "array<string>",
  "token_count": "integer or null",
  "metadata": "object"
}

Como campo visto como evidência direta

Campo Critério de evidência direta
content Deve descrever a API, nome da função, nome do nó ou padrão de código presente em SOURCE_CODE
code_blocks Deve conter a mesma string de código ou padrão de chamada que está em SOURCE_CODE
api_symbols Deve coincidir exatamente com a API/símbolo presente em SOURCE_CODE
heading Evidência secundária. É fraca se apenas o título coincidir e não houver evidência no corpo/código
godot_version_tags Apenas para referência de versão. Não deve ser usado sozinho para julgar como sim

Papel nos testes

Caso Expectativa
SOURCE_CODE usa get_viewport_rect().size e content ou code_blocks contêm a mesma expressão sim
Apenas compartilha um tema amplo com SOURCE_CODE sem a string/API real não
Explicação de sintaxe comum a Godot 3/4 e a string de código corresponde exatamente sim
Apenas a tag de versão coincide, sem evidência de código não

api_mapping

Uso

api_mapping é um arquivo JSONL que registra como nomes, nomes de classe, nomes de função e nomes de símbolos mudaram do Godot 3 para o Godot 4.

É usado para decisões de mudança de nome simples, rename, replacement, APIs depreciadas/removidas. Exemplos em que todo o modo de usar a função muda são mais adequados para a seção label_prototypes.

Formato JSONL

{
  "mapping_id": "text, required",
  "source_api": "text, required",
  "target_api": "text or null",
  "change_type": "text, required",
  "godot_from": "text, required",
  "godot_to": "text, required",
  "confidence": "text, required",
  "evidence_chunk_ids": "array<string>",
  "match_terms": "array<string>",
  "notes": "text",
  "negative_patterns": "array<string>"
}

Evidência direta por campo

Campo Critério de evidência direta
source_api Deve aparecer realmente no SOURCE_CODE
target_api Usado para validar a explicação do código convertido ou da migração
match_terms Deve coincidir exatamente com a string/API real dentro do SOURCE_CODE
notes Explicação complementar. É vista junto com source_api/match_terms em vez de ser evidência isolada
negative_patterns Se o SOURCE_CODE corresponder a esse padrão, serve como evidência de não

Papel nos testes

Caso Expectativa
O SOURCE_CODE contém KinematicBody2D e o source_api no JSONL também é KinematicBody2D Sim
O SOURCE_CODE contém yield( e o match_terms no JSONL contém yield( Sim
O JSONL tem Camera -> Camera3D, mas o SOURCE_CODE é KinematicBody2D Não
Apenas termos amplos como Godot 3/4 ou “migration” coincidem Não

label_prototypes

Uso

label_prototypes é um JSONL que armazena exemplos nos quais não se trata apenas de renomear, mas de mudar completamente a forma de usar a função, a composição dos argumentos e o padrão de chamada.

Se api_mapping responde “qual nome foi trocado por qual”, então label_prototypes se aproxima de “como o código deve ser escrito em termos de padrão”.

Formato JSONL

{
  "prototype_id": "text, required",
  "label": "text, required",
  "task_type": "text, required",
  "input_pattern": "text, required",
  "expected_finding": "text, required",
  "recommended_action": "text, required",
  "evidence_mapping_ids": "array<string>",
  "evidence_chunk_ids": "array<string>",
  "severity": "text",
  "validator_rules": "object"
}

validator_rules pode ter os seguintes subcampos.

{
  "required_when_seen_in_code": "array<string>",
  "before_code": "text",
  "after_code": "text",
  "reject_when_seen_in_code": "array<string>"
}

Evidência direta por campo

Campo Critério de evidência direta
input_pattern Deve corresponder exatamente ao padrão de chamada do SOURCE_CODE
expected_finding Descrição do problema/padrão que deve ser encontrado
recommended_action Direção da conversão ou explicação
validator_rules.required_when_seen_in_code Deve estar presente no SOURCE_CODE para ser evidência de “sim”
validator_rules.before_code Se for o mesmo padrão de código anterior ao SOURCE_CODE, é evidência forte de “sim”
validator_rules.reject_when_seen_in_code Se o SOURCE_CODE contiver esse padrão, o protótipo corresponde a “não”

Papel nos testes

Caso Expectativa
O SOURCE_CODE contém yield(get_tree().create_timer(...), "timeout") e before_code tem o mesmo padrão sim
O SOURCE_CODE contém move_and_slide(velocity) e o protótipo explica a mudança desse modo de chamada sim
O SOURCE_CODE é yield, mas o protótipo trata de conversão para Color8 não
Compartilha apenas o mesmo rótulo do SOURCE_CODE, sem padrão real não

Limites dos três JSONL

JSONL Pergunta central O que deve corresponder principalmente
docs_chunks Este código está diretamente relacionado a alguma documentação oficial ou tutorial? content, code_blocks, api_symbols
api_mapping Os nomes ou destinos das APIs/símbolos neste código mudaram de Godot 3 para 4? source_api, target_api, match_terms
label_prototypes O modo de uso, argumentos ou padrão de chamada deste código corresponde a um exemplo que mudou completamente? input_pattern, validator_rules, before_code

Tratamento de sintaxe comum

Se a sintaxe for a mesma em Godot 3 e Godot 4, não se considera diferença de versão.

Situação JSONL a usar Critério de julgamento
Código comum como _ready(), _process(delta), print() 1 JSONL do código/função correspondente + 1 JSONL de função totalmente diferente Se houver evidência direta baseada no mesmo fragmento de código, sim; se for função totalmente diferente, não
Anexar JSONL de migração que não tem relação com código de sintaxe comum api_mapping ou label_prototypes incorreto Se não houver API/padrão real, não
Aparece API específica de Godot 3 JSONL exclusivo de Godot 3 + JSONL exclusivo de Godot 4 O JSONL que corresponde diretamente ao padrão/string de Godot 3 no SOURCE_CODE resulta em sim
Aparece API específica de Godot 4 JSONL exclusivo de Godot 4 + JSONL exclusivo de Godot 3 O JSONL que corresponde diretamente ao padrão/string de Godot 4 no SOURCE_CODE resulta em sim