Estructura de aplicación del Prompt Qwen Validation Debugger
Fecha de creación: 13 de julio de 2026
Propósito del documento
Este documento resume los prompts realmente aplicados en tools/qwen-validation-debugger.
Sin añadir interpretaciones, solo se registra en qué función del código se crea cada prompt, a qué API se envía y qué formato de respuesta se espera.
Archivos objetivo
| Archivo | Contenido descrito en este documento |
|---|---|
tools/qwen-validation-debugger/core.js |
Función que genera el prompt para la solicitud real a Qwen |
tools/qwen-validation-debugger/server.js |
Enrutamiento que recibe el prompt y lo envía a la API compatible con Qwen/OpenAI |
tools/qwen-validation-debugger/public/app.js |
Qué botón/acción llama a qué API y prompt |
Estructura común de la llamada a la API
callQwen() en server.js envía todos los prompts de la misma manera.
{
model,
messages: [{ role: 'user', content: prompt }],
temperature: 0
}| Valor | Fuente |
|---|---|
endpoint |
Valor de entrada del navegador qwenEndpoint |
model |
Valor de entrada del navegador qwenModel |
apiKey |
Valor de entrada del navegador qwenApiKey |
prompt |
Valor devuelto por la función de generación de prompts en core.js |
La clave API se envía al servidor en el cuerpo de la solicitud desde el navegador, pero no se almacena en localStorage.
Ruta de llamada del prompt
| Acción de pantalla | Función del navegador | API del servidor | Función de prompt en core.js | Función de procesamiento de respuesta |
|---|---|---|---|---|
| Etiquetado de ítem | classifyItem() |
POST /api/classify-item |
buildClassificationPrompt() |
extractJsonObject(), normalizeClassification() |
| Generación de código | generateCode() |
POST /api/generate-code |
buildCodePrompt() |
extractJsonObject(), normalizeGeneratedCode() |
| Generación de JSONL | generateJsonl() |
POST /api/generate-jsonl |
buildJsonlPrompt() |
extractJsonObject() |
| Verificación de JSONL | verifyJsonl() |
POST /api/verify-jsonl |
buildVerificationPrompt() |
normalizeYesNo() |
| Vista previa del prompt JSONL | renderSlot() |
No hay llamada a API | buildJsonlPromptPreview() |
Solo para mostrar en pantalla |
Definición de tablas
Las definiciones de tablas usadas en los prompts se encuentran en TABLE_DEFINITIONS dentro de core.js.
docs_chunks
| Campo | Valor |
|---|---|
| label | docs_chunks |
| purpose | Verifica si la evidencia descriptiva de la documentación oficial coincide directamente con los fragmentos 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
| Elemento | Valor |
|---|---|
| etiqueta | api_mapping |
| propósito | Verificar si la evidencia de cómo cambian los nombres, clases, funciones y símbolos de Godot 3 a Godot 4 coincide directamente con los fragmentos de código. |
| camposDirectos | source_api, target_api, match_terms, notes |
esquema:
mapping_id
source_api
target_api
change_type
godot_from
godot_to
confidence
evidence_chunk_ids
match_terms
notes
negative_patternslabel_prototypes
| Ítem | Valor |
|---|---|
| label | label_prototypes |
| purpose | Verifique si el ejemplo, que no solo cambia el nombre sino que también altera por completo el modo de uso de la función, la composición de los argumentos y el patrón de llamada, coincide directamente con el fragmento 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_rulesDefinición de caso de ranura
getSlotCase({ tableName, versionKey, expectation }) determina el goal, generationRule y expectedAnswer que entrarán en el prompt de generación de JSONL.
| condición | etiqueta | expectedAnswer | objetivo | reglaDeGeneración |
|---|---|---|---|---|
docs_chunks + positive |
JSONL de evidencia explicativa | sí | Crear un JSONL tipo documentación oficial que explique directamente el CÓDIGO_FUENTE. | Al menos uno de los campos descripción/código/símbolo del JSONL debe coincidir exactamente con la cadena real/API llamada dentro del CÓDIGO_FUENTE. |
docs_chunks + negative |
JSONL de explicación de otro código | no | Puede parecer un candidato de búsqueda porque comparte alguna API/tema con el CÓDIGO_FUENTE, pero en realidad debe ser un JSONL tipo documentación oficial que explique un comportamiento de código diferente. | El JSONL puede compartir alguna API o tema como candidato de búsqueda, pero no debe describir directamente el propósito central, el objeto objetivo o la acción/resultados finales del CÓDIGO_FUENTE. |
expectation === negative + versionKey === migration |
JSONL de conversión irrelevante | no | Crear un JSONL de conversión/patrón 3→4 irrelevante que no deba aplicarse ni al código Godot 3 ni al código Godot 4. | El JSONL debe estar escrito en formato de conversión 3→4, pero no debe abordar directamente la evidencia previa del CÓDIGO_FUENTE_GODOT3 ni la evidencia posterior del CÓDIGO_OBJETIVO_GODOT4. |
expectation === negative + fuera de migración |
JSONL de conversión irrelevante | no | Crear un JSONL de conversión/patrón irrelevante que no deba aplicarse al CÓDIGO_FUENTE. | El JSONL debe tratar APIs, nodos o patrones de llamada diferentes y no debe servir como evidencia de conversión para el CÓDIGO_FUENTE. |
versionKey === migration + positive |
JSONL de evidencia de conversión 3→4 | Godot 3 sí / Godot 4 no | Crear un JSONL de evidencia de conversión 3→4 que transforme el patrón previo del código Godot 3 al formato posterior del código Godot 4. | Los campos source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code del JSONL deben coincidir exactamente con la cadena real/API llamada del CÓDIGO_FUENTE_GODOT3, y target_api, after_code, recommended_action deben describir la forma posterior del CÓDIGO_OBJETIVO_GODOT4. |
versionKey === godot3 + positive |
JSONL de necesidad de conversión | sí | Crear un JSONL que muestre que las APIs o patrones de llamada del lado fuente de Godot 3 dentro del CÓDIGO_FUENTE deben convertirse a Godot 4. | Al menos uno de los campos source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code del JSONL debe coincidir exactamente con la cadena real de conversión fuente o llamada API dentro del CÓDIGO_FUENTE. |
versionKey === godot4 + positive |
JSONL ya aplicado | no | Crear un JSONL que indique que el CÓDIGO_FUENTE ya está en la forma objetivo de Godot 4 y no debe considerarse evidencia adicional de migración. | El JSONL debe contener direcciones como target_api, after_code, signature_stable, no_change, common syntax que indiquen que ya está aplicado o que no se necesita conversión, y no debe hacer que el CÓDIGO_FUENTE se considere fuente de conversión. |
demás positive |
JSONL común/no necesario | no | Crear un JSONL que indique que el CÓDIGO_FUENTE es sintaxis común y no debe considerarse evidencia de migración para api_mapping o label_prototypes. | El JSONL debe contener direcciones como target_api, after_code, signature_stable, no_change, common syntax que indiquen que ya está aplicado o que no se necesita conversión, y no debe hacer que el CÓDIGO_FUENTE se considere fuente de conversión. |
1. Prompt de etiquetado
Posición de la llamada
| elemento | valor |
|---|---|
| función del navegador | classifyItem(itemId) |
| API del servidor | POST /api/classify-item |
| función central | buildClassificationPrompt({ itemTitle }) |
| valor de entrada | itemTitle |
| JSON de respuesta | syntax_scope, label, reason, godot3_focus, godot4_focus |
Texto original del prompt
Eres un clasificador de ítems de prueba de código de Godot.
A continuación, determina si el TEST_ITEM puede probarse con la misma sintaxis/código chunk tanto en Godot 3 como en Godot 4, o si es necesario crear código separado para Godot 3 y Godot 4.
Criterios de decisión:
- Si es un elemento que se puede describir de forma natural en ambos Godot 3/4 usando la misma sintaxis de GDScript y las mismas llamadas a la API, se clasifica como **"common"**.
- Si el nombre de la clase, el nombre de la función, la firma, el nombre del nodo, la forma de llamada u otros aspectos cambian de manera significativa entre versiones, se clasifica como **"separate"**.
- En caso de duda, se elige **"separate"**. Es preferible crear más pruebas seguras.
La respuesta debe ser un único objeto JSON con el siguiente formato:
{
"syntax_scope": "common o separate",
"label": "etiqueta corta en coreano",
"reason": "una o dos frases explicando la decisión",
"godot3_focus": "puntos a observar al generar código para Godot 3",
"godot4_focus": "puntos a observar al generar código para Godot 4"
}
TEST_ITEM:
${itemTitle}Normalización de la respuesta
normalizeClassification(parsed) guarda lo siguiente.
| Campo interno | Fuente |
|---|---|
syntaxScope |
parsed.syntax_scope |
label |
parsed.label |
reason |
parsed.reason |
godot3Focus |
parsed.godot3_focus |
godot4Focus |
parsed.godot4_focus |
syntax_scope solo acepta common o separate.
2. Prompt de generación de código
Lugar de llamada
| Ítem | Valor |
|---|---|
| Función del navegador | generateCode(itemId, versionKey) |
| API del servidor | POST /api/generate-code |
| Función central | buildCodePrompt({ itemTitle, syntaxScope, targetVersion }) |
| Valor de entrada | itemTitle, syntaxScope, targetVersion |
| JSON de respuesta | godot_version, syntax_scope, source_code, notes |
Rama versionInstruction
| targetVersion | versionInstruction |
|---|---|
common |
Escribe un fragmento de código GDScript que sea común y visible tanto en Godot 3 como en Godot 4. |
godot3 |
Escribe un fragmento de código GDScript que muestre diferencias exclusivas de Godot 3.x. |
godot4 |
Escribe un fragmento de código GDScript que muestre diferencias exclusivas de Godot 4.x. |
Texto original del prompt
Eres un generador de fragmentos de código para pruebas de Godot.
${versionInstruction}
Requisitos:
- Escribe en unidades de función o bloques de código pequeños, no en todo el proyecto.
- Escribe solo el código directamente relacionado con el ítem de prueba.
- El código debe mostrar la API/sintaxis necesaria para determinar la versión.
- La respuesta debe contener únicamente un objeto JSON.
- No uses fences de código Markdown.
Formato JSON:
{
"godot_version": "${targetVersion}",
"syntax_scope": "${syntaxScope}",
"source_code": "GDScript código chunk",
"notes": "Puntos clave que deben verificarse en el código"
}
TEST_ITEM:
${itemTitle}Normalización de la respuesta
normalizeGeneratedCode(parsed) guarda lo siguiente.
| Campo interno | Fuente |
|---|---|
godotVersion |
parsed.godot_version |
syntaxScope |
parsed.syntax_scope |
sourceCode |
parsed.source_code |
notes |
parsed.notes |
Si source_code está vacío, se maneja como error.
3. Prompt de generación de JSONL
Lugar de llamada
| Ítem | Valor |
|---|---|
| Función del navegador | generateJsonl(itemId, slotId) |
| API del servidor | POST /api/generate-jsonl |
| Función core | buildJsonlPrompt({ itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode }) |
| Valores de entrada | itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode |
| Respuesta | Objeto JSON |
Selección de sourceCode / targetCode
app.js → getJsonlGenerationCodes(detail, slot) determina el código que se inserta en el prompt de generación de JSONL.
| slot.versionKey | Entrada SOURCE |
|---|---|
migration |
GODOT3_SOURCE_CODE con detail.codes.godot3.sourceCode, GODOT4_TARGET_CODE con detail.codes.godot4.sourceCode |
common |
SOURCE_CODE con detail.codes.common.sourceCode |
godot3 |
SOURCE_CODE con detail.codes.godot3.sourceCode |
godot4 |
SOURCE_CODE con detail.codes.godot4.sourceCode |
Texto original del prompt
Eres un generador de JSONL para pruebas de Godot RAG.
Objetivo:
${slotCase.goal}
Tabla objetivo:
${table.label}
Propósito de la tabla:
${table.purpose}
Lista de campos:
${table.schema.map((field) => `- ${field}`).join('\n')}
Campos importantes para la determinación de coincidencia directa:
${table.directFields.map((field) => `- ${field}`).join('\n')}
Reglas de generación:
- La respuesta debe contener únicamente un objeto JSON.
- No utilices bloques de código Markdown.
- ${slotCase.generationRule}
- docs_chunks es una coincidencia de evidencia descriptiva, y api_mapping y label_prototypes son coincidencias de evidencia de origen de migración.
- El código ya aplicado en forma de objetivo Godot 4 o la sintaxis común no constituye una evidencia de "necesidad de conversión" en api_mapping/label_prototypes.
- negative_patterns y reject_when_seen_in_code son condiciones de rechazo. Las cadenas en estos campos deben interpretarse como evidencia de "no" y no como evidencia de "sí".
- No te limites a palabras clave amplias; haz que la relevancia se distinga según las cadenas reales o llamadas a API.
- No añadas campos arbitrariamente que no correspondan al propósito de la tabla.
- Los valores de source_url, source_file y *_id deben generarse de forma natural para pruebas.
TEST_ITEM:
${itemTitle}
CODE_VERSION:
${versionLabel}
${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode}
GODOT4_TARGET_CODE:
${targetCode}` : `SOURCE_CODE:
${sourceCode}`}Valores incluidos en la respuesta del servidor
POST /api/generate-jsonl la respuesta incluye lo siguiente.
| Campo de respuesta | Contenido |
|---|---|
prompt |
Prompt enviado al modelo real |
rawResponse |
Respuesta original del modelo |
jsonl |
Objeto analizado con extractJsonObject() |
jsonlText |
Resultado de JSON.stringify(parsed) |
expectedAnswer |
Resultado de expectedAnswerForSlot() |
4. Prompt de verificación de JSONL
Lugar de invocación
| Ítem | Valor |
|---|---|
| Función del navegador | verifyJsonl(itemId, slotId, targetVersionKey) |
| API del servidor | POST /api/verify-jsonl |
| Función core | buildVerificationPrompt({ tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText }) |
| Valores de entrada | tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText |
| Salida del modelo | Sí o No |
Rama de question
| tableName | question |
|---|---|
docs_chunks |
Determine si el JSONL a continuación es una evidencia tipo documentación oficial que describe directamente el SOURCE_CODE. |
api_mapping, label_prototypes |
Determine si, basándose en el JSONL a continuación, se debe aplicar una migración al SOURCE_CODE actual. |
Rama de firstRule
| tableName | firstRule |
|---|---|
docs_chunks |
En docs_chunks, solo es “Sí” cuando el JSONL describe directamente la cadena real del SOURCE_CODE, la llamada a la API, el propósito del código, el objetivo de aplicación y el resultado. |
api_mapping, label_prototypes |
En api_mapping y label_prototypes, solo es “Sí” cuando el JSONL describe el patrón previo a los cambios que ahora deben aplicarse al SOURCE_CODE. |
reglas de tabla docs_chunks
- En **docs_chunks**, “sí” solo se permite cuando el JSONL describe directamente la acción central del **SOURCE_CODE**.
- La acción central no es solo el nombre simple de la API, sino que incluye lo que el código calcula, a qué objetivo se aplica y, finalmente, qué estado/resultado produce.
- Incluso si aparece la misma API o el mismo método, si el JSONL describe un propósito, un objetivo o un resultado diferentes, solo constituye una pista de búsqueda y no una evidencia directa, por lo que la respuesta es “no”.
- Si el JSONL solo ofrece una descripción general de la API sin detallar los recursos específicos, ramificaciones, bucles o cambios de estado del **SOURCE_CODE**, no es una evidencia directa y la respuesta es “no”.
- Si el **SOURCE_CODE** muestra una ejecución repetida, una ejecución única, una transición de estado o un reemplazo de recursos y el flujo descrito en el JSONL difiere, la respuesta es “no”.
- Las funcionalidades que aparecen juntas en el mismo archivo o flujo de juego pueden ser pistas de búsqueda mutuas; sin embargo, solo cuando el objetivo final, el objetivo y el resultado del **SOURCE_CODE** coinciden con los descritos por el JSONL la respuesta es “sí”.
- Incluso si en **api_symbols** o en los encabezados aparecen nombres de llamadas del **SOURCE_CODE**, si el contenido o los bloques de código describen un flujo de trabajo diferente, no constituye una evidencia directa.
- Pistas periféricas que se repiten en varios códigos, como funciones de ciclo de vida, tipos comunes o nombres de propiedades genéricas, no son evidencia directa por sí solas.
- Si los bloques de código del JSONL explican un ejemplo distinto al del **SOURCE_CODE**, aunque algunas APIs coincidan, la respuesta es “no”.
- No se infiere que APIs de significado similar o casos de uso parecidos sean equivalentes según tu conocimiento; el JSONL debe mostrar explícitamente el propósito, objetivo y resultado del **SOURCE_CODE** actual.
- Cuando **JSONL_GENERATED_FROM_CODE_VERSION** y **VERIFY_TARGET_CODE_VERSION** difieren, primero verifica si el JSONL describe el comportamiento del código de la versión objetivo de verificación.
- Aunque las versiones difieran, si se describen explícitamente APIs/comportamientos comunes, podría ser “sí”; sin embargo, si los bloques de código o **api_symbols** del JSONL no coinciden con la sintaxis o llamadas reales del **SOURCE_CODE** actual, incluso si parecen la misma funcionalidad, la respuesta es “no”.api_mapping / label_prototypes tableRules
- Las preguntas de api_mapping y label_prototypes no son “¿JSONL y el código están de alguna manera relacionados?” sino “¿Debo cambiar el SOURCE_CODE actual basándome en este JSONL?”.
- Primero determina a cuál de las siguientes categorías pertenece el SOURCE_CODE actual según el JSONL: código antes del cambio, código ya cambiado, código irrelevante o código que no necesita transformación.
- “Sí” solo se permite cuando el SOURCE_CODE actual es código antes del cambio y la transformación que indica el JSONL debe aplicarse ahora.
- El JSONL de integración 3→4 se basa en comparar el código de Godot 3 antes del cambio con el código de Godot 4 después del cambio. En la verificación, separa si el SOURCE_CODE actual corresponde al código antes o después del cambio.
- Si el SOURCE_CODE actual ya está en la forma objetivo de Godot 4, aunque el JSONL parezca relacionado con la explicación de la migración, se considera “ya aplicado”, por lo que la respuesta es “No”.
- La evaluación de “necesita transformación” en label_prototypes es “Sí” solo cuando el SOURCE_CODE actual contiene realmente el patrón de uso, la composición de argumentos y el patrón de llamada anteriores al cambio.
- Un JSONL de transformación irrelevante es “No” incluso si el objetivo de verificación es código de Godot 3, siempre que la transformación no deba aplicarse al SOURCE_CODE actual.
- Los contenidos bajo source/before/required se interpretan como evidencia del código antes del cambio; los bajo target/after/recommended como la forma después del cambio; y los bajo negative/reject como condiciones bajo las cuales no debe aplicarse la transformación al código actual.
- Incluso si el nombre de la función coincide, debe quedar presente en el SOURCE_CODE actual el patrón anterior al cambio que describe el JSONL (por ejemplo, argumentos de llamada, manejo de valores de retorno, nodo heredado, estructura de código circundante) para que la respuesta sea “Sí”.
- source_api y target_api pueden compartir el mismo nombre o contener términos de match_terms tanto para source como para target. En ese caso, solo coincidir el nombre de la función o un término amplio de match_terms no basta para responder “Sí”.
- Funciones que aparecen en el mismo archivo o flujo de juego pueden ser candidatos de búsqueda mutua. Sin embargo, si el patrón anterior al cambio no está presente directamente en el SOURCE_CODE actual, la respuesta es “No”.
- Si JSONL_GENERATED_FROM_CODE_VERSION y VERIFY_TARGET_CODE_VERSION difieren, primero determina si el SOURCE_CODE actual corresponde al código antes del cambio o ya al código después del cambio descrito en el JSONL.
- Cuando JSONL_GENERATED_FROM_CODE_VERSION es una ranura de versión única que no corresponde a una migración, la respuesta es “Sí” solo si el código bajo verificación contiene directamente un patrón source/before/required.
- Si el SOURCE_CODE actual coincide o es más reciente que la forma target/after/recommended del JSONL, se considera código ya aplicado y la respuesta es “No”.
- Si la versión bajo verificación es Godot 4 o common y el SOURCE_CODE ya está en forma target/after, aunque el JSONL sea conocimiento de migración correcto, la respuesta sigue siendo “No”.
- Cuando change_type es signature_stable, no_change, common u otro que indique que no se necesita transformación, la respuesta es “No”.
- Incluso si un JSONL de migración se adjunta a código de Godot 4 o a código de sintaxis común, si no se requiere una transformación adicional, la respuesta es “No”.reglasDeDecisión
- Antes del juicio, capture la operación principal de SOURCE_CODE en una frase, capture también la razón principal que describe JSONL en una frase y compárelas.
- Considere como evidencia directa solo cuando el objeto objetivo, el propósito de la llamada, el flujo de entrada/parámetros y el resultado final estén en la misma dirección.
- Incluso si parece un candidato de búsqueda similar, si no explica el SOURCE_CODE actual ni sirve como base para aplicarlo al SOURCE_CODE actual, es "No".Texto original del prompt
Eres un evaluador de coincidencia de evidencia JSONL.
${question}
Tabla:
${table.label}
Propósito de la tabla:
${table.purpose}
Criterios de evaluación:
- ${firstRule}
- Campos JSONL a revisar: ${table.directFields.join(', ')}
- ${tableRules.join('\n- ')}
- ${decisionRules.join('\n- ')}
- Simplemente coincidir palabras amplias como Godot, Godot3, Godot4, migration, 2D, physics no implica relevancia.
- El contenido mencionado negativamente en el JSONL, como "does not describe", "not related", "unrelated", "does not apply", no se reconoce como evidencia relevante.
- Si el JSONL trata sobre otra API, otro nodo o otro sistema, la respuesta es "no".
- No uses el conocimiento de Godot que poseas; utiliza únicamente la evidencia textual presente en el JSONL.
- La respuesta debe ser únicamente "sí" o "no".
VERSIÓN_DEL_CÓDIGO_GENERADO_DESDE_JSONL:
${sourceVersionKey}
VERSIÓN_DEL_CÓDIGO_OBJETIVO_DE_VERIFICACIÓN:
${targetVersionKey}
CÓDIGO_FUENTE:
${sourceCode}
JSONL:
${jsonlText}Normalización de respuestas
normalizeYesNo(text) solo reconoce los siguientes valores como válidos.
| Forma de entrada | Valor interno |
|---|---|
예 |
예 |
yes |
예 |
아니오 |
아니오 |
no |
아니오 |
| code fence valor anterior dentro | valor correspondiente |
| Valor superior de la primera fila | Valor correspondiente |
| Otros | Cadena vacía |
5. Vista previa del prompt JSONL
buildJsonlPromptPreview() en app.js no es una función que se envía al modelo, sino una vista previa mostrada en la pantalla.
Ubicación de la llamada
| Ítem | Valor |
|---|---|
| Función del navegador | renderSlot() |
| Llamada a la API | Ninguno |
| Propósito de uso | dentro del slot JSONL prompt de generación mostrar área de detalles |
Texto original de la vista previa
Eres un generador de JSONL para pruebas de Godot RAG.
Objetivo: ${slotCase.goal}
Tabla objetivo: ${table.label}
Uso de la tabla: ${table.purpose}
Campos de coincidencia directa: ${table.directFields.join(', ')}
TEST_ITEM: ${itemTitle}
CODE_VERSION: ${versionLabel}
${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode || '(Código generado automáticamente después de crear el código de Godot 3)'}
GODOT4_TARGET_CODE:
${targetCode || '(Código generado automáticamente después de crear el código de Godot 4)'}` : `SOURCE_CODE:
${sourceCode || '(Código generado automáticamente después de crear el código)'}`}regla de creación de slot
app.js de getSlotSpecs(detail) crea slots según el resultado de la clasificación.
common
Si la clasificación es common, se crean los siguientes slots.
| 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
Si la clasificación es separate, se crean los siguientes slots.
| 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 de la respuesta de generación JSONL
expectedAnswerForSlot({ tableName, versionKey, expectation }) devuelve el expectedAnswer de getSlotCase().
expectedAnswer para comparación de resultados de verificación
Las reglas de expectedAnswerForVerification({ tableName, sourceVersionKey, targetVersionKey, expectation }) son las siguientes.
| condición | expectedAnswer |
|---|---|
expectation === negative |
No |
tableName === docs_chunks y sourceVersionKey === targetVersionKey |
Sí |
tableName === docs_chunks y sourceVersionKey !== targetVersionKey |
No |
tableName es api_mapping o label_prototypes y sourceVersionKey === migration, targetVersionKey === godot3 |
Sí |
tableName es api_mapping o label_prototypes y sourceVersionKey === migration, targetVersionKey !== godot3 |
No |
tableName es api_mapping o label_prototypes y sourceVersionKey === godot3, targetVersionKey === godot3 |
Sí |
| otro caso | No |
tabla de registro de cambios de prompts
Cuando se modifique el prompt más adelante, se añadirá una fila a la tabla siguiente.
| fecha | función | texto/regla antes del cambio | texto/regla después del cambio | resultado de verificación |
|---|---|---|---|---|
| 2026-07-13 | total | estructura del prompt basada en el código actual | documentación de referencia | registro completado |
buildClassificationPrompt() |
||||
buildCodePrompt() |
||||
buildJsonlPrompt() |
||||
buildVerificationPrompt() |