Structure d'application du prompt Qwen Validation Debugger
Date de rédaction : 13 juillet 2026
Objectif du document
Ce document répertorie les prompts réellement appliqués dans tools/qwen-validation-debugger.
Il se contente d'indiquer, sans ajout d'interprétation, dans quelle fonction le code crée quel prompt, à quelle API il est envoyé et quel format de réponse est attendu.
Fichiers concernés
| Fichier | Contenu présenté dans ce document |
|---|---|
tools/qwen-validation-debugger/core.js |
Fonction de génération du prompt utilisé dans la requête Qwen réelle |
tools/qwen-validation-debugger/server.js |
Routage qui reçoit le prompt et l'envoie à l'API compatible Qwen/OpenAI |
tools/qwen-validation-debugger/public/app.js |
Quels boutons/actions appellent quelles API et quels prompts |
Structure commune des appels API
La fonction callQwen() de server.js transmet tous les prompts de la même manière.
{
model,
messages: [{ role: 'user', content: prompt }],
temperature: 0
}| valeur | source |
|---|---|
endpoint |
valeur d’entrée du navigateur qwenEndpoint |
model |
valeur d’entrée du navigateur qwenModel |
apiKey |
valeur d’entrée du navigateur qwenApiKey |
prompt |
valeur de retour de la fonction de génération de prompt dans core.js |
La clé API est transmise au serveur dans le corps de la requête depuis le navigateur, mais elle n’est pas stockée dans le localStorage.
Chemin d’appel du prompt
| Action de l’écran | Fonction du navigateur | API du serveur | Fonction de prompt de core.js | Fonction de traitement de la réponse |
|---|---|---|---|---|
| Étiquetage d’élément | classifyItem() |
POST /api/classify-item |
buildClassificationPrompt() |
extractJsonObject(), normalizeClassification() |
| Génération de code | generateCode() |
POST /api/generate-code |
buildCodePrompt() |
extractJsonObject(), normalizeGeneratedCode() |
| Génération de JSONL | generateJsonl() |
POST /api/generate-jsonl |
buildJsonlPrompt() |
extractJsonObject() |
| Vérification de JSONL | verifyJsonl() |
POST /api/verify-jsonl |
buildVerificationPrompt() |
normalizeYesNo() |
| Aperçu du prompt JSONL | renderSlot() |
Aucun appel d’API | buildJsonlPromptPreview() |
uniquement pour l’affichage à l’écran |
Définition des tables
Les définitions de tables utilisées dans les prompts se trouvent dans TABLE_DEFINITIONS de core.js.
docs_chunks
| champ | valeur |
|---|---|
| label | docs_chunks |
| purpose | Vérifie si le texte explicatif de la documentation correspond directement aux fragments de code. |
| directFields | content, code_blocks, api_symbols, heading, symbol |
schéma:
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 | Valeur |
|---|---|
| label | api_mapping |
| purpose | Vérifier si les justifications sur la façon dont les noms, classes, fonctions et symboles passent de Godot 3 à Godot 4 correspondent directement aux extraits de code. |
| 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
| Élément | Valeur |
|---|---|
| label | label_prototypes |
| purpose | Vérifier que l'exemple, qui ne consiste pas simplement à renommer mais implique un changement complet de la façon d'utiliser la fonction, de la composition des arguments et du modèle d'appel, correspond directement au fragment de code. |
| 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_rulesDéfinition du cas de slot
getSlotCase({ tableName, versionKey, expectation }) détermine le goal, le generationRule et le expectedAnswer qui seront inclus dans l’invite de génération JSONL.
| condition | libellé | expectedAnswer | goal | generationRule |
|---|---|---|---|---|
docs_chunks + positive |
JSONL d’explication de preuve | oui | Crée un JSONL de type documentation officielle qui explique directement le CODE_SOURCE. | Au moins un des champs description/code/symbole du JSONL doit correspondre exactement à la chaîne réelle/API appelée dans le CODE_SOURCE. |
docs_chunks + negative |
JSONL d’explication d’un autre code | non | Le CODE_SOURCE peut partager certaines API/sujets et ressembler à un candidat de recherche, mais le JSONL doit être une documentation officielle décrivant un comportement de code différent. | Le JSONL peut contenir des API ou des sujets qui se recoupent avec le candidat de recherche, mais il ne doit pas expliquer directement le but principal, l’objet cible ou le résultat final du CODE_SOURCE. |
expectation === negative + versionKey === migration |
JSONL de conversion non pertinente | non | Crée un JSONL de conversion/pattern 3→4 qui ne doit pas être appliqué ni au code Godot 3 ni au code Godot 4. | Le JSONL doit être rédigé au format conversion 3→4, mais il ne doit pas traiter directement les preuves de modification du CODE_SOURCE_GODOT3 ni du CODE_CIBLE_GODOT4. |
expectation === negative + autre que migration |
JSONL de conversion non pertinente | non | Crée un JSONL de conversion/pattern qui ne doit pas être appliqué au CODE_SOURCE. | Le JSONL doit aborder d’autres API, nœuds ou modèles d’appel et ne doit pas servir de justification de conversion pour le CODE_SOURCE. |
versionKey === migration + positive |
JSONL de preuve de conversion 3→4 | Godot 3 oui / Godot 4 non | Crée un JSONL de preuve de conversion 3→4 qui transforme le pattern du code Godot 3 en la forme du code Godot 4. | Les champs source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code du JSONL doivent correspondre exactement aux chaînes/API réelles du CODE_SOURCE_GODOT3, tandis que target_api, after_code, recommended_action doivent décrire la forme après conversion du CODE_CIBLE_GODOT4. |
versionKey === godot3 + positive |
JSONL nécessitant une conversion | oui | Crée un JSONL montrant qu’il faut convertir les API ou patterns côté source de Godot 3 présents dans le CODE_SOURCE vers Godot 4. | Au moins un des champs source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code du JSONL doit correspondre exactement à la chaîne ou appel API réel de conversion présent dans le CODE_SOURCE. |
versionKey === godot4 + positive |
JSONL déjà appliqué | non | Crée un JSONL indiquant que le CODE_SOURCE est déjà sous forme cible Godot 4 et ne doit pas être considéré comme preuve supplémentaire de migration. | Le JSONL doit contenir des indications telles que target_api, after_code, signature_stable, no_change, common syntax, montrant que la conversion est déjà appliquée ou inutile, et ne doit pas faire du CODE_SOURCE une source de conversion. |
autre positive |
JSONL commun/inutile | non | Crée un JSONL indiquant que le CODE_SOURCE utilise une syntaxe commune et ne doit pas être considéré comme preuve de migration pour api_mapping ou label_prototypes. | Le JSONL doit contenir des indications telles que target_api, after_code, signature_stable, no_change, common syntax, montrant que la conversion est déjà appliquée ou inutile, et ne doit pas faire du CODE_SOURCE une source de conversion. |
1. Invite de labellisation
Position de l’appel
| élément | valeur |
|---|---|
| fonction du navigateur | classifyItem(itemId) |
| API du serveur | POST /api/classify-item |
| fonction core | buildClassificationPrompt({ itemTitle }) |
| valeur d’entrée | itemTitle |
| JSON de réponse | syntax_scope, label, reason, godot3_focus, godot4_focus |
Texte original de l’invite
Vous êtes un classificateur d'éléments de test de code Godot.
Déterminez si le TEST_ITEM ci‑dessous peut être testé avec la même syntaxe/même bloc de code à la fois dans Godot 3 et Godot 4, ou s'il faut créer séparément du code pour Godot 3 et pour Godot 4.
Critères de jugement :
- Si c’est un élément qui peut être expliqué naturellement dans les deux versions grâce à la même syntaxe GDScript et aux mêmes appels d’API, il est « common ».
- Si le nom de classe, le nom de fonction, la signature, le nom de nœud, le mode d’appel, etc., diffèrent de manière significative entre les versions, il est « separate ».
- En cas d’ambiguïté, choisissez « separate ». Il vaut mieux créer davantage de tests sûrs.
- La réponse doit être un seul objet JSON.
Format JSON :
{
"syntax_scope": "common ou separate",
"label": "court libellé en coréen",
"reason": "une ou deux phrases expliquant pourquoi",
"godot3_focus": "points à considérer lors de la génération du code Godot 3",
"godot4_focus": "points à considérer lors de la génération du code Godot 4"
}
TEST_ITEM :
${itemTitle}Normalisation de la réponse
normalizeClassification(parsed) enregistre les éléments suivants.
| Champ interne | Source |
|---|---|
syntaxScope |
parsed.syntax_scope |
label |
parsed.label |
reason |
parsed.reason |
godot3Focus |
parsed.godot3_focus |
godot4Focus |
parsed.godot4_focus |
syntax_scope ne peut contenir que common ou separate.
2. Invite de génération de code
Lieu d’appel
| Élément | Valeur |
|---|---|
| Fonction du navigateur | generateCode(itemId, versionKey) |
| API du serveur | POST /api/generate-code |
| Fonction core | buildCodePrompt({ itemTitle, syntaxScope, targetVersion }) |
| Valeurs d’entrée | itemTitle, syntaxScope, targetVersion |
| JSON de réponse | godot_version, syntax_scope, source_code, notes |
Branche versionInstruction
| targetVersion | versionInstruction |
|---|---|
common |
Rédigez un fragment de code GDScript commun visible à la fois dans Godot 3 et Godot 4. |
godot3 |
Rédigez un fragment de code GDScript montrant une différence propre à Godot 3.x. |
godot4 |
Rédigez un fragment de code GDScript montrant une différence propre à Godot 4.x. |
Texte original de l’invite
Vous êtes un générateur de fragments de code pour les tests Godot.
${versionInstruction}
Exigences :
- Écrire au niveau des fonctions ou de petits blocs de code, pas pour l'ensemble du projet.
- Écrire uniquement le code directement lié à l'élément de test.
- Le code doit exposer les API/syntaxe nécessaires pour déterminer la version.
- La réponse doit contenir un seul objet JSON.
- Ne pas utiliser de bloc de code Markdown.
Format JSON :
{
"godot_version": "${targetVersion}",
"syntax_scope": "${syntaxScope}",
"source_code": "fragment de code GDScript",
"notes": "Points clés à vérifier dans le code"
}
ÉLÉMENT_DE_TEST :
${itemTitle}Normalisation de la réponse
normalizeGeneratedCode(parsed) enregistre les éléments suivants.
| Champ interne | Source |
|---|---|
godotVersion |
parsed.godot_version |
syntaxScope |
parsed.syntax_scope |
sourceCode |
parsed.source_code |
notes |
parsed.notes |
Si source_code est vide, le traitement échoue.
3. Invite de génération JSONL
Emplacement d'appel
| Élément | Valeur |
|---|---|
| Fonction du navigateur | generateJsonl(itemId, slotId) |
| API serveur | POST /api/generate-jsonl |
| Fonction core | buildJsonlPrompt({ itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode }) |
| Valeurs d'entrée | itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode |
| Réponse | JSON objet |
Sélection de sourceCode / targetCode
getJsonlGenerationCodes(detail, slot) dans app.js détermine le code à insérer dans l'invite de génération JSONL.
| slot.versionKey | Entrée SOURCE |
|---|---|
migration |
Dans GODOT3_SOURCE_CODE utilisez detail.codes.godot3.sourceCode, dans GODOT4_TARGET_CODE utilisez detail.codes.godot4.sourceCode |
common |
Dans SOURCE_CODE utilisez detail.codes.common.sourceCode |
godot3 |
Dans SOURCE_CODE utilisez detail.codes.godot3.sourceCode |
godot4 |
Dans SOURCE_CODE utilisez detail.codes.godot4.sourceCode |
Texte original de l'invite
Tu es un générateur JSONL pour les tests RAG de Godot.
Objectif :
${slotCase.goal}
Table cible :
${table.label}
Utilisation de la table :
${table.purpose}
Liste des champs :
${table.schema.map((field) => `- ${field}`).join('\n')}
Champs importants pour le jugement de correspondance directe :
${table.directFields.map((field) => `- ${field}`).join('\n')}
Règles de génération :
- La réponse doit contenir exactement un seul objet JSON.
- N'utilise pas de bloc de code Markdown.
- ${slotCase.generationRule}
- `docs_chunks` correspond à la correspondance basée sur l'explication, et `api_mapping` ainsi que `label_prototypes` correspondent à la correspondance basée sur la source de migration.
- Le code déjà appliqué sous forme cible Godot 4 ou le code de syntaxe commune ne constitue pas une raison « transformation nécessaire » dans `api_mapping`/`label_prototypes`.
- `negative_patterns` et `reject_when_seen_in_code` sont des conditions de rejet. Les chaînes contenues dans ces champs doivent être interprétées comme des raisons « non », et non comme des raisons « oui ».
- Ne te limite pas aux mots‑clés généraux, mais base la pertinence/irrélevance sur les chaînes réelles ou les appels d'API.
- N'ajoute pas de champs qui sortent du cadre d'utilisation de la table.
- Les valeurs `source_url`, `source_file`, *_id doivent être rédigées de façon naturelle pour les tests.
ÉLÉMENT_DE_TEST :
${itemTitle}
VERSION_DU_CODE :
${versionLabel}
${isMigrationPair ? `CODE_SOURCE_GODOT3:
${sourceCode}
CODE_CIBLE_GODOT4:
${targetCode}` : `CODE_SOURCE:
${sourceCode}`}Valeurs incluses avec la réponse du serveur
POST /api/generate-jsonl la réponse comprend les éléments suivants.
| Champ de réponse | Description |
|---|---|
prompt |
Le prompt réellement envoyé au modèle |
rawResponse |
Réponse brute du modèle |
jsonl |
Objet analysé avec extractJsonObject() |
jsonlText |
Résultat de JSON.stringify(parsed) |
expectedAnswer |
Résultat de expectedAnswerForSlot() |
4. Prompt de validation JSONL
Lieu d’appel
| Élément | Valeur |
|---|---|
| Fonction du navigateur | verifyJsonl(itemId, slotId, targetVersionKey) |
| API du serveur | POST /api/verify-jsonl |
| Fonction core | buildVerificationPrompt({ tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText }) |
| Valeurs d’entrée | tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText |
| Sortie du modèle | Oui ou Non |
Branche question
| tableName | question |
|---|---|
docs_chunks |
Déterminez si le JSONL ci‑dessous constitue une preuve de type documentation officielle décrivant directement le SOURCE_CODE. |
api_mapping, label_prototypes |
Déterminez, à partir du JSONL ci‑dessous, s’il faut appliquer une migration au SOURCE_CODE actuel. |
Branche firstRule
| tableName | firstRule |
|---|---|
docs_chunks |
Dans docs_chunks, le JSONL doit décrire directement la chaîne réelle du SOURCE_CODE, l’appel d’API, le but du code, la cible d’application et le résultat pour être considéré comme « Oui ». |
api_mapping, label_prototypes |
Dans api_mapping et label_prototypes, le JSONL doit décrire le modèle de changement précédent qui doit être appliqué au SOURCE_CODE actuel pour être considéré comme « Oui ». |
règles de la table docs_chunks
- Dans docs_chunks, « oui » n’est autorisé que lorsque le JSONL décrit directement le comportement central du SOURCE_CODE.
- Le comportement central ne se limite pas à un simple nom d’API ; il inclut ce que le code calcule, sur quel objet il s’applique et quel état/résultat final il produit.
- Même si la même API ou la même méthode apparaît, si le JSONL décrit un objectif, un objet cible ou un résultat différents, il ne s’agit que d’un candidat de recherche et non d’une preuve directe, donc « non ».
- Si le JSONL ne fournit qu’une description générale de l’API sans expliquer les ressources spécifiques, les branches, les boucles ou les changements d’état du SOURCE_CODE, ce n’est pas une preuve directe, donc « non ».
- Si le SOURCE_CODE représente une exécution répétée, une exécution unique, une transition d’état ou un remplacement de ressource, et que le flux décrit par le JSONL diffère, c’est « non ».
- Les fonctionnalités apparaissant ensemble dans le même fichier ou le même flux de jeu peuvent être des candidats de recherche mutuels. Ce n’est « oui » que si le but final, la cible et le résultat du SOURCE_CODE correspondent à ceux décrits par le JSONL.
- Même si des noms d’appels du SOURCE_CODE figurent dans api_symbols ou les titres, si le contenu ou les blocs de code décrivent un flux de travail différent, ce n’est pas une preuve directe.
- Les indices contextuels récurrents dans plusieurs codes, comme les fonctions de cycle de vie, les types communs ou les noms d’attributs généraux, ne constituent pas une preuve directe.
- Si les blocs de code du JSONL illustrent un exemple différent de celui du SOURCE_CODE, même si certaines API sont les mêmes, c’est « non ».
- On ne doit pas inférer que des API au sens similaire ou des cas d’utilisation similaires sont équivalents selon nos connaissances. Le JSONL doit exposer directement le but, la cible et le résultat du SOURCE_CODE actuel.
- Si JSONL_GENERATED_FROM_CODE_VERSION et VERIFY_TARGET_CODE_VERSION diffèrent, il faut d’abord vérifier que le JSONL décrit le comportement du code de la version cible en cours de vérification.
- Même si les versions diffèrent, il peut être « oui » si les API/behaviors communs sont explicitement décrits ; toutefois, si les blocs de code ou api_symbols du JSONL ne correspondent pas à la syntaxe/API réelle du SOURCE_CODE actuel, c’est « non », même si cela ressemble à la même fonctionnalité.api_mapping / label_prototypes tableRules
- Les questions concernant **api_mapping** et **label_prototypes** ne portent pas sur « si le JSONL et le code sont même légèrement liés », mais sur « si, à partir de ce JSONL, il faut maintenant modifier le **SOURCE_CODE** actuel ».
- Commencez par déterminer, à partir du JSONL, si le **SOURCE_CODE** actuel correspond à du code **avant modification**, du code **déjà modifié**, du code **sans rapport**, ou à du code **ne nécessitant pas de conversion**.
- « Oui » n’est autorisé que lorsque le **SOURCE_CODE** actuel est du code **avant modification** et que la conversion décrite dans le JSONL doit être appliquée immédiatement.
- Le JSONL d’intégration 3→4 a été créé en comparant le code **avant** de Godot 3 et le code **après** de Godot 4. Lors de la validation, il faut distinguer si le **SOURCE_CODE** actuel correspond au code **avant** ou **après**.
- Si le **SOURCE_CODE** actuel est déjà sous forme cible de Godot 4, même si le JSONL semble lié à la description de migration, il est considéré comme « déjà appliqué », donc la réponse est « Non ».
- Le jugement « conversion nécessaire » de **label_prototypes** n’est « Oui » que lorsque le **SOURCE_CODE** actuel contient réellement le mode d’utilisation, la composition des arguments et le schéma d’appel **avant** la conversion.
- Un JSONL de conversion « sans rapport » donne « Non » même si le code cible de la validation est du code Godot 3, tant que la conversion ne s’applique pas au **SOURCE_CODE** actuel.
- Les sections **source/before/required** servent de preuve de code **avant** modification, les sections **target/after/recommended** décrivent la forme **après** modification, et les sections **negative/reject** indiquent les conditions dans lesquelles la conversion ne doit **pas** être appliquée au code actuel.
- Même si le nom de fonction est identique, il faut que le **pattern** « avant » décrit par le JSONL (arguments d’appel, traitement du retour, nœud hérité, structure du code environnant, etc.) soit présent explicitement dans le **SOURCE_CODE** pour que la réponse soit « Oui ».
- **source_api** et **target_api** peuvent partager le même nom ou contenir des termes communs dans **match_terms**. Ce n’est pas suffisant pour répondre « Oui » si seul le nom de fonction ou un terme large correspond.
- Les fonctionnalités qui apparaissent dans le même fichier ou le même flux de jeu peuvent être considérées comme candidates à la recherche mutuelle. Toutefois, si le **pattern** « avant » n’est pas présent dans le **SOURCE_CODE** actuel, la réponse reste « Non ».
- Si **JSONL_GENERATED_FROM_CODE_VERSION** et **VERIFY_TARGET_CODE_VERSION** diffèrent, il faut d’abord déterminer si le **SOURCE_CODE** actuel correspond au code **avant** ou **déjà après** du JSONL.
- Lorsque **JSONL_GENERATED_FROM_CODE_VERSION** représente une version unique (et non une migration), la réponse n’est « Oui » que si le code à valider contient explicitement le pattern **source/before/required**.
- Si le **SOURCE_CODE** actuel correspond déjà à la forme **target/after/recommended** du JSONL ou à une version plus récente, il s’agit d’un code déjà appliqué, donc la réponse est « Non ».
- Si la version à valider est Godot 4 ou « common » et que le **SOURCE_CODE** est déjà sous forme **target/after**, même si le JSONL représente une migration correcte, la réponse est « Non ».
- Lorsque **change_type** est *signature_stable*, *no_change*, *common* ou tout autre indicateur d’absence de conversion nécessaire, la réponse est « Non ».
- Même si un JSONL de migration est attaché à du code Godot 4 ou à du code à syntaxe commune, si aucune conversion supplémentaire n’est requise, la réponse est « Non ».decisionRules
- Avant le jugement, résumez l'opération principale du CODE_SOURCE en une phrase, ainsi que le raisonnement principal décrit par le JSONL en une phrase, puis comparez les deux.
- Considérez comme preuve directe uniquement lorsque les objets cibles, le but de l'appel, le flux d'entrée/paramètres et le résultat final sont alignés dans la même direction.
- Même si cela ressemble à un candidat de recherche similaire, si cela n'explique pas le CODE_SOURCE actuel ou ne constitue pas une preuve applicable au CODE_SOURCE actuel, c'est « non ».Texte original du prompt
Vous êtes un juge de correspondance de preuves JSONL.
${question}
Tableau :
${table.label}
Utilisation du tableau :
${table.purpose}
Critères de jugement :
- ${firstRule}
- Champs JSONL à examiner : ${table.directFields.join(', ')}
- ${tableRules.join('\n- ')}
- ${decisionRules.join('\n- ')}
- Si les mots larges tels que Godot, Godot3, Godot4, migration, 2D, physics sont simplement identiques, ils ne sont pas pertinents.
- Les contenus mentionnés négativement dans le JSONL, comme "does not describe", "not related", "unrelated", "does not apply", ne sont pas reconnus comme preuves pertinentes.
- Si le JSONL porte sur une autre API, un autre nœud ou un autre système, la réponse est "non".
- N'utilisez pas vos connaissances sur Godot, utilisez uniquement les preuves textuelles présentes dans le JSONL.
- La réponse doit être uniquement "oui" ou "non".
JSONL_GENERATED_FROM_CODE_VERSION:
${sourceVersionKey}
VERIFY_TARGET_CODE_VERSION:
${targetVersionKey}
SOURCE_CODE:
${sourceCode}
JSONL:
${jsonlText}Normalisation de la réponse
normalizeYesNo(text) n'accepte comme valeur que les réponses suivantes.
| Forme d'entrée | Valeur interne |
|---|---|
Oui |
Oui |
yes |
Oui |
Non |
Non |
no |
Non |
| Valeur ci‑dessus dans le bloc de code | Valeur ci‑dessus |
| Valeur ci‑dessus de la première ligne | Valeur ci‑dessus |
| Autre | chaîne vide |
5. Aperçu du prompt JSONL
buildJsonlPromptPreview() de app.js n'est pas une fonction envoyée au modèle, mais un aperçu affiché à l'écran.
Emplacement de l'appel
| Élément | Valeur |
|---|---|
| Fonction du navigateur | renderSlot() |
| Appel API | Aucun |
| Objectif d'utilisation | Affichage de la zone de détails du prompt de génération JSONL à l'intérieur du slot |
Texte original de l'aperçu
Vous êtes un générateur JSONL pour les tests Godot RAG.
Objectif: ${slotCase.goal}
Table cible: ${table.label}
Utilisation de la table: ${table.purpose}
Champs de correspondance directe: ${table.directFields.join(', ')}
TEST_ITEM: ${itemTitle}
CODE_VERSION: ${versionLabel}
${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode || '(Entrée automatique après génération du code Godot 3)'}
GODOT4_TARGET_CODE:
${targetCode || '(Entrée automatique après génération du code Godot 4)'}` : `SOURCE_CODE:
${sourceCode || '(Entrée automatique après génération du code)'}`}règle de création de slot
getSlotSpecs(detail) dans app.js crée des slots en fonction du résultat de la classification.
commun
Si la classification est common, les slots suivants sont créés.
| 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 |
séparé
Si la classification est separate, les slots suivants sont créés.
| 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 |
calcul de expectedAnswer
expectedAnswer de la réponse de génération JSONL
expectedAnswerForSlot({ tableName, versionKey, expectation }) renvoie le expectedAnswer de getSlotCase().
expectedAnswer pour la comparaison des résultats de vérification
Les règles de expectedAnswerForVerification({ tableName, sourceVersionKey, targetVersionKey, expectation }) sont les suivantes.
| condition | expectedAnswer |
|---|---|
expectation === negative |
Non |
tableName === docs_chunks et sourceVersionKey === targetVersionKey |
Oui |
tableName === docs_chunks et sourceVersionKey !== targetVersionKey |
Non |
tableName est api_mapping ou label_prototypes et sourceVersionKey === migration, targetVersionKey === godot3 |
Oui |
tableName est api_mapping ou label_prototypes et sourceVersionKey === migration, targetVersionKey !== godot3 |
Non |
tableName est api_mapping ou label_prototypes et sourceVersionKey === godot3, targetVersionKey === godot3 |
Oui |
| autre | Non |
tableau d’historique des modifications de prompt
Lorsque le prompt est modifié ultérieurement, ajoutez les entrées ci‑dessous.
| date | fonction | texte/règle avant modification | texte/règle après modification | résultat de la vérification |
|---|---|---|---|---|
| 2026-07-13 | global | Structure du prompt basée sur le code actuel | Documentation de référence | Enregistré |
buildClassificationPrompt() |
||||
buildCodePrompt() |
||||
buildJsonlPrompt() |
||||
buildVerificationPrompt() |