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 |