Qwen Validation Debugger estrutura de aplicação do prompt
Data de criação: 13 de julho de 2026
Propósito do documento
Este documento resume os prompts realmente aplicados em tools/qwen-validation-debugger.
Registre apenas qual função cria qual prompt, para qual API ele é enviado e qual formato de resposta é esperado, sem adicionar interpretações.
Arquivo alvo
| Arquivo | Conteúdo visto neste documento |
|---|---|
tools/qwen-validation-debugger/core.js |
Função que gera o prompt usado na solicitação real ao Qwen |
tools/qwen-validation-debugger/server.js |
Roteamento que recebe o prompt e o envia para a API compatível com Qwen/OpenAI |
tools/qwen-validation-debugger/public/app.js |
Indica qual botão/ação chama qual API e prompt |
Estrutura comum de chamada da API
callQwen() de server.js envia todos os prompts da mesma maneira.
{
model,
messages: [{ role: 'user', content: prompt }],
temperature: 0
}| Valor | Fonte |
|---|---|
endpoint |
Valor de entrada do navegador qwenEndpoint |
model |
Valor de entrada do navegador qwenModel |
apiKey |
Valor de entrada do navegador qwenApiKey |
prompt |
Valor retornado pela função de criação de prompt em core.js |
A chave de API é enviada ao servidor no corpo da requisição pelo navegador, mas não é armazenada no localStorage.
Caminho de chamada do prompt
| Ação da tela | Função do navegador | API do servidor | Função de prompt do core.js | Função de tratamento da resposta |
|---|---|---|---|---|
| Rotulagem de item | classifyItem() |
POST /api/classify-item |
buildClassificationPrompt() |
extractJsonObject(), normalizeClassification() |
| Geração de código | generateCode() |
POST /api/generate-code |
buildCodePrompt() |
extractJsonObject(), normalizeGeneratedCode() |
| Geração de JSONL | generateJsonl() |
POST /api/generate-jsonl |
buildJsonlPrompt() |
extractJsonObject() |
| Verificação de JSONL | verifyJsonl() |
POST /api/verify-jsonl |
buildVerificationPrompt() |
normalizeYesNo() |
| Pré‑visualização do prompt JSONL | renderSlot() |
Nenhuma chamada de API | buildJsonlPromptPreview() |
Apenas exibição na tela |
Definição de tabelas
As definições de tabelas usadas nos prompts estão em TABLE_DEFINITIONS dentro de core.js.
docs_chunks
| Campo | Valor |
|---|---|
| label | docs_chunks |
| purpose | Verifica se a justificativa explicativa da documentação corresponde diretamente ao trecho de código. |
| directFields | content, code_blocks, api_symbols, heading, symbol |
esquema:
chunk_id
doc_version
source_url
source_file
source_sha256
doc_type
symbol
section_path
heading
content
code_blocks
language_tags
godot_version_tags
api_symbols
token_count
metadataapi_mapping
| Item | Valor |
|---|---|
| label | api_mapping |
| purpose | Verifica se a justificativa de como nomes, classes, funções e símbolos mudam do Godot 3 para o Godot 4 corresponde diretamente aos trechos de código. |
| directFields | source_api, target_api, match_terms, notes |
schema:
mapping_id
source_api
target_api
change_type
godot_from
godot_to
confidence
evidence_chunk_ids
match_terms
notes
negative_patternslabel_prototypes
| Item | Valor |
|---|---|
| label | label_prototypes |
| purpose | Verifique se a evidência de exemplo, que não é apenas uma simples renomeação, mas altera completamente o modo de uso da função, a composição dos argumentos e o padrão de chamada, corresponde diretamente ao trecho de código. |
| directFields | input_pattern, expected_finding, recommended_action, validator_rules.required_when_seen_in_code, validator_rules.before_code, validator_rules.after_code |
schema:
prototype_id
label
task_type
input_pattern
expected_finding
recommended_action
evidence_mapping_ids
evidence_chunk_ids
severity
validator_rulesDefinição de Caso de Slot
getSlotCase({ tableName, versionKey, expectation }) define goal, generationRule e expectedAnswer que entram no prompt de geração de JSONL.
| condição | rótulo | expectedAnswer | objetivo | generationRule |
|---|---|---|---|---|
docs_chunks + positive |
JSONL de justificativa explicativa | sim | Cria um JSONL no estilo de documentação oficial que explica diretamente o SOURCE_CODE. | Pelo menos um dos campos description/code/symbol do JSONL deve corresponder exatamente à string real/API call dentro do SOURCE_CODE. |
docs_chunks + negative |
JSONL de explicação de código diferente | não | Pode parecer um candidato de busca porque parte da API/assunto se sobrepõe ao SOURCE_CODE, mas na verdade cria um JSONL no estilo de documentação oficial que explica um comportamento de código diferente. | O JSONL pode ter sobreposição parcial de API ou assunto como candidato de busca, mas não deve explicar diretamente o objetivo principal, objeto alvo ou ação/resultados finais do SOURCE_CODE. |
expectation === negative + versionKey === migration |
JSONL de conversão irrelevante | não | Cria um JSONL de padrão/conversão 3→4 que não deve ser aplicado nem ao código Godot 3 nem ao Godot 4. | O JSONL deve ser escrito no formato de conversão 3→4, mas não deve tratar diretamente das evidências de mudança do GODOT3_SOURCE_CODE nem do GODOT4_TARGET_CODE. |
expectation === negative + fora de migration |
JSONL de conversão irrelevante | não | Cria um JSONL de conversão/padrão irrelevante que não deve ser aplicado ao SOURCE_CODE. | O JSONL deve abordar APIs, nós ou padrões de chamada diferentes e não pode servir como evidência de conversão para o SOURCE_CODE. |
versionKey === migration + positive |
JSONL de evidência de conversão 3→4 | Exemplo Godot 3 / Não Godot 4 | Cria um JSONL de evidência de conversão 3→4 que transforma o padrão antes da mudança no código Godot 3 para a forma após a mudança no código Godot 4. | Os campos source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code do JSONL devem corresponder exatamente à string real/API call antes da mudança no GODOT3_SOURCE_CODE, e target_api, after_code, recommended_action devem descrever a forma após a mudança no GODOT4_TARGET_CODE. |
versionKey === godot3 + positive |
JSONL de necessidade de conversão | sim | Cria um JSONL que mostra que APIs ou padrões de chamada do lado do Godot 3 dentro do SOURCE_CODE precisam ser convertidos para o Godot 4. | Pelo menos um dos campos source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code do JSONL deve corresponder exatamente à string real/API call de conversão dentro do SOURCE_CODE. |
versionKey === godot4 + positive |
JSONL já aplicado | não | Cria um JSONL que indica que o SOURCE_CODE já está no formato alvo do Godot 4 e não deve ser considerado como evidência adicional de migração. | O JSONL deve conter direções como target_api, after_code, signature_stable, no_change, common syntax que indiquem que já está aplicado ou que não há necessidade de conversão, e não deve fazer do SOURCE_CODE uma fonte de conversão. |
demais positive |
JSONL comum/desnecessário | não | Cria um JSONL que indica que o SOURCE_CODE é sintaxe comum e não deve ser considerado como evidência de migração para api_mapping ou label_prototypes. | O JSONL deve conter direções como target_api, after_code, signature_stable, no_change, common syntax que indiquem que já está aplicado ou que não há necessidade de conversão, e não deve fazer do SOURCE_CODE uma fonte de conversão. |
1. Prompt de Rotulagem
Posição da Chamada
| item | valor |
|---|---|
| Função do navegador | classifyItem(itemId) |
| API do servidor | POST /api/classify-item |
| Função core | buildClassificationPrompt({ itemTitle }) |
| Valor de entrada | itemTitle |
| JSON de resposta | syntax_scope, label, reason, godot3_focus, godot4_focus |
Texto original do prompt
Você é um classificador de itens de teste de código Godot.
Determine se o TEST_ITEM abaixo pode ser testado com a mesma sintaxe/código chunk em Godot 3 e Godot 4, ou se códigos separados para Godot 3 e Godot 4 devem ser criados.
Critérios de julgamento:
- Se for um item que pode ser explicado naturalmente em ambos Godot 3 e 4 usando a mesma sintaxe GDScript e chamadas de API, é **"common"**.
- Se nomes de classes, funções, assinaturas, nomes de nós, modo de chamada ou outras APIs/sintaxes mudam significativamente entre versões, é **"separate"**.
- Em caso de dúvida, escolha **"separate"**. É melhor criar mais testes seguros.
- A resposta deve conter apenas um objeto JSON.
Formato JSON:
{
"syntax_scope": "common ou separate",
"label": "rótulo curto em coreano",
"reason": "por que você chegou a essa conclusão, uma ou duas frases",
"godot3_focus": "pontos a observar ao gerar código para Godot 3",
"godot4_focus": "pontos a observar ao gerar código para Godot 4"
}
TEST_ITEM:
${itemTitle}Normalização de Resposta
normalizeClassification(parsed) armazena o seguinte.
| Campo interno | Fonte |
|---|---|
syntaxScope |
parsed.syntax_scope |
label |
parsed.label |
reason |
parsed.reason |
godot3Focus |
parsed.godot3_focus |
godot4Focus |
parsed.godot4_focus |
syntax_scope aceita apenas common ou separate.
2. Prompt de Geração de Código
Local de chamada
| Item | Valor |
|---|---|
| Função do navegador | generateCode(itemId, versionKey) |
| API do servidor | POST /api/generate-code |
| Função core | buildCodePrompt({ itemTitle, syntaxScope, targetVersion }) |
| Valor de entrada | itemTitle, syntaxScope, targetVersion |
| JSON de resposta | godot_version, syntax_scope, source_code, notes |
Ramificação versionInstruction
| targetVersion | versionInstruction |
|---|---|
common |
Escreva um trecho de código GDScript que seja comum a Godot 3 e Godot 4. |
godot3 |
Escreva um trecho de código GDScript que mostre diferenças específicas do Godot 3.x. |
godot4 |
Escreva um trecho de código GDScript que mostre diferenças específicas do Godot 4.x. |
Texto original do prompt
Você é um gerador de trechos de código de teste para Godot.
${versionInstruction}
Requisitos:
- Não escreva todo o projeto, mas sim em nível de função ou pequenos blocos de código.
- Escreva apenas o código diretamente relacionado ao item de teste.
- O código deve expor a API/sintaxe necessária para determinar a versão.
- A resposta deve conter exatamente um objeto JSON.
- Não use fences de código Markdown.
Formato JSON:
{
"godot_version": "${targetVersion}",
"syntax_scope": "${syntaxScope}",
"source_code": "GDScript código chunk",
"notes": "Pontos principais a serem verificados no código"
}
TEST_ITEM:
${itemTitle}Normalização da Resposta
normalizeGeneratedCode(parsed) salva o seguinte.
| Campo interno | Fonte |
|---|---|
godotVersion |
parsed.godot_version |
syntaxScope |
parsed.syntax_scope |
sourceCode |
parsed.source_code |
notes |
parsed.notes |
Se source_code estiver vazio, trate como falha.
3. Prompt de Geração de JSONL
Local de chamada
| Item | Valor |
|---|---|
| Função do navegador | generateJsonl(itemId, slotId) |
| API do servidor | POST /api/generate-jsonl |
| Função core | buildJsonlPrompt({ itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode }) |
| Valores de entrada | itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode |
| Resposta | Objeto JSON |
Seleção de sourceCode / targetCode
app.js → getJsonlGenerationCodes(detail, slot) determina o código que será inserido no prompt de geração de JSONL.
| slot.versionKey | Entrada SOURCE |
|---|---|
migration |
GODOT3_SOURCE_CODE recebe detail.codes.godot3.sourceCode, GODOT4_TARGET_CODE recebe detail.codes.godot4.sourceCode |
common |
SOURCE_CODE recebe detail.codes.common.sourceCode |
godot3 |
SOURCE_CODE recebe detail.codes.godot3.sourceCode |
godot4 |
SOURCE_CODE recebe detail.codes.godot4.sourceCode |
Texto original do prompt
Você é um gerador JSONL para teste de RAG no Godot.
Objetivo:
${slotCase.goal}
Tabela alvo:
${table.label}
Uso da tabela:
${table.purpose}
Lista de campos:
${table.schema.map((field) => `- ${field}`).join('\n')}
Campos importantes para julgamento de correspondência direta:
${table.directFields.map((field) => `- ${field}`).join('\n')}
Regras de geração:
- A resposta deve conter exatamente um objeto JSON.
- Não use fences de código Markdown.
- ${slotCase.generationRule}
- docs_chunks são correspondências de base explicativa, e api_mapping e label_prototypes são correspondências de base de migração de origem.
- Código já aplicado na forma de destino do Godot 4 ou código de sintaxe comum não são bases de “necessita conversão” em api_mapping/label_prototypes.
- negative_patterns e reject_when_seen_in_code são condições de rejeição. As strings inseridas nesses campos devem ser interpretadas como bases “não” e não como bases “sim”.
- Não se limite a palavras‑chave amplas; faça a distinção entre relacionado e não relacionado com base em strings reais/chamadas de API.
- Não adicione campos arbitrariamente que estejam fora do uso da tabela.
- Os valores de source_url, source_file, *_id devem ser criados de forma natural para fins de teste.
ITEM_DE_TESTE:
${itemTitle}
VERSÃO_DO_CÓDIGO:
${versionLabel}
${isMigrationPair ? `CÓDIGO_FONTE_GODOT3:
${sourceCode}
CÓDIGO_ALVO_GODOT4:
${targetCode}` : `CÓDIGO_FONTE:
${sourceCode}`}Valores incluídos na resposta do servidor
POST /api/generate-jsonl a resposta inclui o seguinte.
| Campo da resposta | Conteúdo |
|---|---|
prompt |
Prompt enviado ao modelo real |
rawResponse |
Resposta original do modelo |
jsonl |
Objeto analisado por extractJsonObject() |
jsonlText |
Resultado de JSON.stringify(parsed) |
expectedAnswer |
Resultado de expectedAnswerForSlot() |
4. Prompt de verificação de JSONL
Local de chamada
| Item | Valor |
|---|---|
| Função do navegador | verifyJsonl(itemId, slotId, targetVersionKey) |
| API do servidor | POST /api/verify-jsonl |
| Função core | buildVerificationPrompt({ tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText }) |
| Valores de entrada | tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText |
| Saída do modelo | Sim ou Não |
Ramificação de question
| tableName | question |
|---|---|
docs_chunks |
Determine se o JSONL abaixo é uma evidência no formato de documentação oficial que descreve diretamente o SOURCE_CODE. |
api_mapping, label_prototypes |
Determine, com base no JSONL abaixo, se deve aplicar a migração ao SOURCE_CODE atual. |
Ramificação de firstRule
| tableName | firstRule |
|---|---|
docs_chunks |
Em docs_chunks, o JSONL só recebe “Sim” quando descreve diretamente a string real do SOURCE_CODE, chamada de API, objetivo do código, alvo de aplicação ou resultado. |
api_mapping, label_prototypes |
Em api_mapping e label_prototypes, o JSONL só recebe “Sim” quando descreve o padrão anterior que deve ser alterado no SOURCE_CODE atual. |
Regras da tabela docs_chunks
- nos docs_chunks, “sim” só é permitido quando o JSONL descreve diretamente a ação central do SOURCE_CODE.
- A ação central não é apenas o nome simples da API, mas inclui o que o código calcula, em que alvo ele se aplica e, finalmente, qual estado/resultado ele produz.
- Mesmo que a mesma API ou método apareça, se o JSONL explicar um propósito diferente, um objeto alvo diferente ou um resultado diferente, ele será apenas um candidato de busca, não uma evidência direta, portanto “não”.
- Se o JSONL fornecer apenas uma descrição geral da mesma API sem detalhar os recursos específicos, ramificações, loops ou mudanças de estado do SOURCE_CODE, não será uma evidência direta, portanto “não”.
- Se o SOURCE_CODE envolver execução em loop, execução única, transição de estado ou troca de recurso e o fluxo descrito no JSONL for diferente, “não”.
- Funções que aparecem juntas no mesmo arquivo ou fluxo de jogo podem ser candidatos de busca entre si. Mesmo assim, só será “sim” quando o objetivo final, o alvo e o resultado do SOURCE_CODE coincidirem com os descritos no JSONL.
- Mesmo que api_symbols ou headings contenham nomes de chamadas presentes no SOURCE_CODE, se content/code_blocks descrevem um fluxo de trabalho diferente, não são evidências diretas.
- Evidências que consistem apenas em pistas recorrentes em vários códigos, como funções de ciclo de vida, tipos comuns ou nomes de propriedades genéricas, não são evidências diretas.
- Se os code_blocks do JSONL descrevem um exemplo de código diferente do SOURCE_CODE, mesmo que algumas APIs coincidam, “não”.
- Não inferir que APIs de significado semelhante ou casos de uso parecidos são equivalentes com base no seu conhecimento. O JSONL deve expor diretamente o objetivo/alvo/resultado do SOURCE_CODE atual.
- Quando JSONL_GENERATED_FROM_CODE_VERSION e VERIFY_TARGET_CODE_VERSION forem diferentes, primeiro verifique se o JSONL descreve o comportamento do código da versão que está sendo verificada.
- Mesmo com versões diferentes, pode ser “sim” se houver uma explicação explícita de APIs/comportamentos comuns; porém, se os code_blocks/api_symbols do JSONL não corresponderem à sintaxe real ou chamadas de API do SOURCE_CODE atual, será “não”, mesmo que pareçam a mesma funcionalidade.api_mapping / label_prototypes tableRules
- As perguntas sobre **api_mapping** e **label_prototypes** não são “Será que JSONL e código têm alguma relação?” mas sim “Com base neste JSONL, devemos alterar o **SOURCE_CODE** agora?”.
- Primeiro, determine em qual das categorias o **SOURCE_CODE** atual se encaixa, considerando o JSONL: código antes da mudança, código já alterado, código irrelevante ou código que não precisa ser convertido.
- Responda **“sim”** apenas quando o **SOURCE_CODE** atual for código antes da mudança e a conversão indicada pelo JSONL precisar ser aplicada agora.
- O JSONL de integração 3→4 foi criado a partir da comparação entre o código antes da mudança do Godot 3 e o código depois da mudança do Godot 4. Na verificação, separe se o **SOURCE_CODE** atual corresponde ao código antes ou ao código depois da mudança.
- Se o **SOURCE_CODE** já estiver no formato alvo do Godot 4, mesmo que o JSONL pareça relacionado à migração, considere‑o “já aplicado” e responda **“não”**.
- O julgamento de “necessidade de conversão” em **label_prototypes** só deve ser **“sim”** quando o **SOURCE_CODE** atual ainda contiver o padrão de uso, a composição de argumentos e o padrão de chamada anteriores.
- Um JSONL de conversão irrelevante recebe resposta **“não”** se, mesmo que o alvo da verificação seja código Godot 3, a conversão não for aplicável ao **SOURCE_CODE** atual.
- Conteúdos nas categorias `source/before/required` servem como evidência de código antes da mudança; conteúdos em `target/after/recommended` representam a forma após a mudança; conteúdos em `negative/reject` indicam condições nas quais a conversão **não** deve ser aplicada.
- Mesmo que o nome da função seja o mesmo, a resposta será **“sim”** somente se o **SOURCE_CODE** ainda mantiver o padrão anterior descrito no JSONL (por exemplo, argumentos de chamada, tratamento de retorno, nó herdado, estrutura de código ao redor etc.).
- `source_api` e `target_api` podem compartilhar o mesmo nome ou conter termos de correspondência (`match_terms`) tanto para fonte quanto para alvo. Nesse caso, apenas a coincidência de um nome de função ou de termos amplos **não** basta para responder **“sim”**.
- Funcionalidades que aparecem no mesmo arquivo ou no mesmo fluxo de jogo podem ser candidatos de busca entre si, mas se o padrão anterior não estiver presente no **SOURCE_CODE** atual, a resposta será **“não”**.
- Se `JSONL_GENERATED_FROM_CODE_VERSION` e `VERIFY_TARGET_CODE_VERSION` forem diferentes, primeiro identifique se o **SOURCE_CODE** atual corresponde ao código antes da mudança ou já ao código depois da mudança descrito no JSONL.
- Quando `JSONL_GENERATED_FROM_CODE_VERSION` representa um slot de versão única (não uma migração), responda **“sim”** apenas se o padrão `source/before/required` estiver presente no código que está sendo verificado.
- Se o **SOURCE_CODE** atual já estiver no formato `target/after/recommended` do JSONL ou for ainda mais recente, considere‑o “já aplicado” e responda **“não”**.
- Quando a versão alvo da verificação for Godot 4 ou “common” e o **SOURCE_CODE** já estiver no formato `target/after`, mesmo que o JSONL contenha conhecimento de migração correto, a resposta deve ser **“não”**.
- Se `change_type` for `signature_stable`, `no_change`, `common` ou outro que indique que nenhuma alteração é necessária, responda **“não”**.
- Mesmo que um JSONL de migração esteja anexado a código Godot 4 ou a código com sintaxe comum, se nenhuma transformação adicional for necessária, a resposta deve ser **“não”**.decisionRules
- Antes da avaliação, capture a ação principal do SOURCE_CODE em uma frase, capture também o principal fundamento descrito pelo JSONL em uma frase e compare os dois.
- Considere como evidência direta apenas quando o objeto alvo, o propósito da chamada, o fluxo de entrada/parâmetro e o resultado final estiverem na mesma direção.
- Mesmo que pareça um candidato de busca semelhante, se não explicar o SOURCE_CODE atual ou não servir como base para aplicá‑lo ao SOURCE_CODE atual, é “não”.Prompt original
Você é um avaliador de correspondência de evidências JSONL.
${question}
Tabela:
${table.label}
Uso da tabela:
${table.purpose}
Critérios de avaliação:
- ${firstRule}
- Campos JSONL a serem revisados: ${table.directFields.join(', ')}
- ${tableRules.join('\n- ')}
- ${decisionRules.join('\n- ')}
- Se apenas palavras amplas como Godot, Godot3, Godot4, migration, 2D, physics coincidirem, não há relação.
- Conteúdos mencionados negativamente no JSONL, como "does not describe", "not related", "unrelated", "does not apply", não são reconhecidos como evidência relevante.
- Se o JSONL tratar de outra API, outro nó ou outro sistema, a resposta é "não".
- Não use o conhecimento de Godot que você possui; utilize apenas as evidências de texto presentes no JSONL.
- A resposta deve ser apenas "sim" ou "não".
JSONL_GENERATED_FROM_CODE_VERSION:
${sourceVersionKey}
VERIFY_TARGET_CODE_VERSION:
${targetVersionKey}
SOURCE_CODE:
${sourceCode}
JSONL:
${jsonlText}Normalização de Resposta
normalizeYesNo(text) aceita apenas as seguintes respostas como valores.
| Forma de Entrada | Valor Interno |
|---|---|
예 |
예 |
yes |
예 |
아니오 |
아니오 |
no |
아니오 |
| valor acima dentro de fence de código | valor correspondente |
| valor acima na primeira linha | valor correspondente |
| outro | string vazia |
5. Pré‑visualização do Prompt JSONL
buildJsonlPromptPreview() em app.js não é uma função que envia ao modelo, mas sim uma pré‑visualização exibida na tela.
Local de Chamada
| Item | Valor |
|---|---|
| Função do navegador | renderSlot() |
| Chamada de API | Nenhuma |
| Propósito | Exibir a área de detalhes do JSONL 생성 프롬프트 dentro do slot |
Texto Original da Pré‑visualização
Você é um gerador de JSONL para teste Godot RAG.
Objetivo: ${slotCase.goal}
Tabela alvo: ${table.label}
Uso da tabela: ${table.purpose}
Campos de correspondência direta: ${table.directFields.join(', ')}
TEST_ITEM: ${itemTitle}
CODE_VERSION: ${versionLabel}
${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode || '(Código gerado automaticamente após criação do Godot 3)'}
GODOT4_TARGET_CODE:
${targetCode || '(Código gerado automaticamente após criação do Godot 4)'}` : `SOURCE_CODE:
${sourceCode || '(Código gerado automaticamente após criação)'}`}Regras de criação de slot
A função getSlotSpecs(detail) em app.js cria slots de acordo com o resultado da classificação.
common
Se a classificação for common, os seguintes slots são criados.
| versionKey | tableName | expectation |
|---|---|---|
common |
docs_chunks |
positive |
common |
docs_chunks |
negative |
common |
api_mapping |
positive |
common |
api_mapping |
negative |
common |
label_prototypes |
positive |
common |
label_prototypes |
negative |
separate
Se a classificação for separate, os seguintes slots são criados.
| versionKey | tableName | expectation |
|---|---|---|
godot3 |
docs_chunks |
positive |
godot3 |
docs_chunks |
negative |
godot4 |
docs_chunks |
positive |
godot4 |
docs_chunks |
negative |
migration |
api_mapping |
positive |
migration |
api_mapping |
negative |
migration |
label_prototypes |
positive |
migration |
label_prototypes |
negative |
Cálculo de expectedAnswer
expectedAnswer da resposta de geração JSONL
expectedAnswerForSlot({ tableName, versionKey, expectation }) devolve o expectedAnswer de getSlotCase().
expectedAnswer para comparação de resultados de verificação
As regras de expectedAnswerForVerification({ tableName, sourceVersionKey, targetVersionKey, expectation }) são as seguintes.
| Condição | expectedAnswer |
|---|---|
expectation === negative |
Não |
tableName === docs_chunks e sourceVersionKey === targetVersionKey |
Sim |
tableName === docs_chunks e sourceVersionKey !== targetVersionKey |
Não |
tableName é api_mapping ou label_prototypes e sourceVersionKey === migration, targetVersionKey === godot3 |
Sim |
tableName é api_mapping ou label_prototypes e sourceVersionKey === migration, targetVersionKey !== godot3 |
Não |
tableName é api_mapping ou label_prototypes e sourceVersionKey === godot3, targetVersionKey === godot3 |
Sim |
| Outros | Não |
Registro de alterações de prompt
Quando o prompt for modificado no futuro, adicione as alterações na tabela abaixo.
| Data | Função | Texto/Regra antes da alteração | Texto/Regra após a alteração | Resultado da verificação |
|---|---|---|---|---|
| 2026-07-13 | geral | Estrutura do prompt baseada no código atual | Documentação de linha de base | Registro concluído |
buildClassificationPrompt() |
||||
buildCodePrompt() |
||||
buildJsonlPrompt() |
||||
buildVerificationPrompt() |