idea_world_labDEV JOURNAL
2026년 7월 13일 월요일

Qwen Validation Debugger 프롬프트 적용 구조

작성일: 2026년 7월 13일

문서 목적

이 문서는 tools/qwen-validation-debugger에 실제로 적용된 프롬프트를 정리한다.

해석을 덧붙이지 않고, 코드가 어떤 함수에서 어떤 프롬프트를 만들고, 어떤 API로 보내고, 어떤 응답 형식을 기대하는지만 기록한다.

대상 파일

파일 이 문서에서 보는 내용
tools/qwen-validation-debugger/core.js 실제 Qwen 요청에 들어가는 프롬프트 생성 함수
tools/qwen-validation-debugger/server.js 프롬프트를 받아 Qwen/OpenAI 호환 API로 보내는 라우팅
tools/qwen-validation-debugger/public/app.js 어떤 버튼/동작이 어떤 API와 프롬프트를 호출하는지

API 호출 공통 구조

server.jscallQwen()은 모든 프롬프트를 같은 방식으로 전송한다.

{
  model,
  messages: [{ role: 'user', content: prompt }],
  temperature: 0
}
출처
endpoint 브라우저 입력값 qwenEndpoint
model 브라우저 입력값 qwenModel
apiKey 브라우저 입력값 qwenApiKey
prompt core.js의 프롬프트 생성 함수 반환값

API key는 브라우저에서 요청 body로 서버에 전달되지만, localStorage에는 저장하지 않는다.

프롬프트 호출 경로

화면 동작 브라우저 함수 서버 API core.js 프롬프트 함수 응답 정리 함수
항목 라벨링 classifyItem() POST /api/classify-item buildClassificationPrompt() extractJsonObject(), normalizeClassification()
코드 생성 generateCode() POST /api/generate-code buildCodePrompt() extractJsonObject(), normalizeGeneratedCode()
JSONL 생성 generateJsonl() POST /api/generate-jsonl buildJsonlPrompt() extractJsonObject()
JSONL 검증 verifyJsonl() POST /api/verify-jsonl buildVerificationPrompt() normalizeYesNo()
JSONL 프롬프트 미리보기 renderSlot() API 호출 없음 buildJsonlPromptPreview() 화면 표시 전용

테이블 정의

프롬프트에서 사용하는 테이블 정의는 core.jsTABLE_DEFINITIONS에 있다.

docs_chunks

항목
label docs_chunks
purpose 공식문서 설명형 근거가 코드 chunk와 직접 맞는지 확인한다.
directFields content, code_blocks, api_symbols, heading, symbol

schema:

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
metadata

api_mapping

항목
label api_mapping
purpose Godot 3에서 Godot 4로 이름, 클래스, 함수, 심볼이 어떻게 바뀌는지에 대한 근거가 코드 chunk와 직접 맞는지 확인한다.
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_patterns

label_prototypes

항목
label label_prototypes
purpose 단순 이름 변경이 아니라 함수 사용 방식, 인자 구성, 호출 패턴이 통째로 바뀌는 예시 근거가 코드 chunk와 직접 맞는지 확인한다.
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_rules

슬롯 케이스 정의

getSlotCase({ tableName, versionKey, expectation })는 JSONL 생성 프롬프트에 들어갈 goal, generationRule, expectedAnswer를 정한다.

조건 label expectedAnswer goal generationRule
docs_chunks + positive 설명 근거 JSONL SOURCE_CODE를 직접 설명하는 공식문서형 JSONL을 만든다. JSONL의 설명/코드/심볼 필드 중 하나 이상이 SOURCE_CODE 안의 실제 문자열/API 호출과 직접 일치해야 한다.
docs_chunks + negative 다른 코드 설명 JSONL 아니오 SOURCE_CODE와 일부 API/주제가 겹쳐 검색 후보처럼 보일 수 있지만, 실제로는 다른 코드 동작을 설명하는 공식문서형 JSONL을 만든다. JSONL은 검색 후보처럼 일부 API나 주제가 겹쳐도 된다. 다만 SOURCE_CODE의 핵심 목적, 대상 객체, 최종 동작/결과를 직접 설명하지 않아야 한다.
expectation === negative + versionKey === migration 무관 변환 JSONL 아니오 Godot 3 코드와 Godot 4 코드 둘 다에 적용하면 안 되는 무관한 3->4 변환/패턴 JSONL을 만든다. JSONL은 3->4 변환 형식으로 작성하되 GODOT3_SOURCE_CODE의 변경 전 근거도, GODOT4_TARGET_CODE의 변경 후 근거도 직접 다루면 안 된다.
expectation === negative + migration 이외 무관 변환 JSONL 아니오 SOURCE_CODE에 적용하면 안 되는 무관한 변환/패턴 JSONL을 만든다. JSONL은 다른 API, 다른 노드, 다른 호출 패턴을 다뤄야 하며 SOURCE_CODE의 변환 source 근거가 되면 안 된다.
versionKey === migration + positive 3->4 변환 근거 JSONL Godot 3 예 / Godot 4 아니오 Godot 3 코드의 변경 전 패턴을 Godot 4 코드의 변경 후 형태로 바꾸는 3->4 변환 근거 JSONL을 만든다. JSONL의 source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code는 GODOT3_SOURCE_CODE의 실제 변경 전 문자열/API 호출과 직접 일치해야 하고, target_api, after_code, recommended_action은 GODOT4_TARGET_CODE의 변경 후 형태를 설명해야 한다.
versionKey === godot3 + positive 변환 필요 JSONL SOURCE_CODE 안의 Godot 3/source-side API나 호출 패턴을 Godot 4로 바꿔야 함을 보여주는 JSONL을 만든다. JSONL의 source_api, source_pattern, match_terms, input_pattern, before_code, required_when_seen_in_code 중 하나 이상이 SOURCE_CODE 안의 실제 변환 source 문자열/API 호출과 직접 일치해야 한다.
versionKey === godot4 + positive 이미 적용 JSONL 아니오 SOURCE_CODE가 이미 Godot 4 target 형태라서 추가 마이그레이션 근거로 판정되면 안 되는 JSONL을 만든다. JSONL은 target_api, after_code, signature_stable, no_change, common syntax처럼 이미 적용됐거나 변환이 필요 없다는 방향을 담아야 하며, SOURCE_CODE를 변환 source로 판정하게 만들면 안 된다.
그 외 positive 공통/불필요 JSONL 아니오 SOURCE_CODE가 공통문법이라서 api_mapping 또는 label_prototypes 마이그레이션 근거로 판정되면 안 되는 JSONL을 만든다. JSONL은 target_api, after_code, signature_stable, no_change, common syntax처럼 이미 적용됐거나 변환이 필요 없다는 방향을 담아야 하며, SOURCE_CODE를 변환 source로 판정하게 만들면 안 된다.

1. 라벨링 프롬프트

호출 위치

항목
브라우저 함수 classifyItem(itemId)
서버 API POST /api/classify-item
core 함수 buildClassificationPrompt({ itemTitle })
입력값 itemTitle
응답 JSON syntax_scope, label, reason, godot3_focus, godot4_focus

프롬프트 원문

너는 Godot 코드 테스트 항목 분류기다.

아래 TEST_ITEM이 Godot 3과 Godot 4에서 같은 문법/같은 코드 chunk로 테스트해도 되는지, 아니면 Godot 3용 코드와 Godot 4용 코드를 따로 만들어야 하는지 판정하라.

판정 기준:
- 같은 GDScript 문법과 같은 API 호출로 Godot 3/4 모두에서 자연스럽게 설명 가능한 항목이면 "common"이다.
- 클래스명, 함수명, 시그니처, 노드명, 호출 방식처럼 버전별로 의미 있게 달라지는 API/문법이면 "separate"다.
- 애매하면 "separate"로 둔다. 테스트를 안전하게 더 많이 만드는 쪽이 낫다.
- 답변은 반드시 JSON 객체 하나만 출력한다.

JSON 형식:
{
  "syntax_scope": "common 또는 separate",
  "label": "짧은 한국어 라벨",
  "reason": "왜 그렇게 봤는지 한두 문장",
  "godot3_focus": "Godot 3 코드 생성 시 볼 포인트",
  "godot4_focus": "Godot 4 코드 생성 시 볼 포인트"
}

TEST_ITEM:
${itemTitle}

응답 정규화

normalizeClassification(parsed)는 다음을 저장한다.

내부 필드 출처
syntaxScope parsed.syntax_scope
label parsed.label
reason parsed.reason
godot3Focus parsed.godot3_focus
godot4Focus parsed.godot4_focus

syntax_scopecommon 또는 separate만 통과한다.

2. 코드 생성 프롬프트

호출 위치

항목
브라우저 함수 generateCode(itemId, versionKey)
서버 API POST /api/generate-code
core 함수 buildCodePrompt({ itemTitle, syntaxScope, targetVersion })
입력값 itemTitle, syntaxScope, targetVersion
응답 JSON godot_version, syntax_scope, source_code, notes

versionInstruction 분기

targetVersion versionInstruction
common Godot 3과 Godot 4에서 공통으로 볼 수 있는 GDScript 코드 chunk를 하나 작성하라.
godot3 Godot 3.x 전용 차이가 드러나는 GDScript 코드 chunk를 하나 작성하라.
godot4 Godot 4.x 전용 차이가 드러나는 GDScript 코드 chunk를 하나 작성하라.

프롬프트 원문

너는 Godot 테스트용 코드 chunk 생성기다.

${versionInstruction}

요구사항:
- 전체 프로젝트가 아니라 함수 단위 또는 작은 코드 블록 단위로 작성한다.
- 테스트 항목과 직접 관련 있는 코드만 작성한다.
- 코드 안에 버전 판단에 필요한 API/문법이 드러나야 한다.
- 답변은 반드시 JSON 객체 하나만 출력한다.
- Markdown code fence를 쓰지 않는다.

JSON 형식:
{
  "godot_version": "${targetVersion}",
  "syntax_scope": "${syntaxScope}",
  "source_code": "GDScript 코드 chunk",
  "notes": "코드에서 확인해야 할 핵심 포인트"
}

TEST_ITEM:
${itemTitle}

응답 정규화

normalizeGeneratedCode(parsed)는 다음을 저장한다.

내부 필드 출처
godotVersion parsed.godot_version
syntaxScope parsed.syntax_scope
sourceCode parsed.source_code
notes parsed.notes

source_code가 비어 있으면 실패 처리한다.

3. JSONL 생성 프롬프트

호출 위치

항목
브라우저 함수 generateJsonl(itemId, slotId)
서버 API POST /api/generate-jsonl
core 함수 buildJsonlPrompt({ itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode })
입력값 itemTitle, tableName, expectation, versionKey, versionLabel, sourceCode, targetCode
응답 JSON 객체

sourceCode / targetCode 선택

app.jsgetJsonlGenerationCodes(detail, slot)가 JSONL 생성 프롬프트에 넣을 코드를 정한다.

slot.versionKey SOURCE 입력
migration GODOT3_SOURCE_CODEdetail.codes.godot3.sourceCode, GODOT4_TARGET_CODEdetail.codes.godot4.sourceCode
common SOURCE_CODEdetail.codes.common.sourceCode
godot3 SOURCE_CODEdetail.codes.godot3.sourceCode
godot4 SOURCE_CODEdetail.codes.godot4.sourceCode

프롬프트 원문

너는 Godot RAG 테스트용 JSONL 생성기다.

목표:
${slotCase.goal}

대상 테이블:
${table.label}

테이블 용도:
${table.purpose}

필드 목록:
${table.schema.map((field) => `- ${field}`).join('\n')}

직접 매칭 판단에 중요한 필드:
${table.directFields.map((field) => `- ${field}`).join('\n')}

생성 규칙:
- 답변은 반드시 JSON 객체 하나만 출력한다.
- Markdown code fence를 쓰지 않는다.
- ${slotCase.generationRule}
- docs_chunks는 설명 근거 매칭이고, api_mapping과 label_prototypes는 마이그레이션 source 근거 매칭이다.
- 이미 Godot 4 target 형태로 적용된 코드나 공통문법 코드는 api_mapping/label_prototypes의 "변환 필요" 근거가 아니다.
- negative_patterns와 reject_when_seen_in_code는 거절 조건이다. 이 필드에 들어간 문자열은 "예" 근거가 아니라 "아니오" 근거로 해석되어야 한다.
- 넓은 주제어만 맞추지 말고, 실제 문자열/API 호출 기준으로 관련/무관이 갈리게 만든다.
- 테이블 용도에서 벗어난 필드를 임의로 늘리지 않는다.
- source_url, source_file, *_id 값은 테스트용으로 자연스럽게 작성한다.

TEST_ITEM:
${itemTitle}

CODE_VERSION:
${versionLabel}

${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode}

GODOT4_TARGET_CODE:
${targetCode}` : `SOURCE_CODE:
${sourceCode}`}

서버 응답에 함께 포함되는 값

POST /api/generate-jsonl 응답은 다음을 포함한다.

응답 필드 내용
prompt 실제 모델에 보낸 프롬프트
rawResponse 모델 원문 응답
jsonl extractJsonObject()로 파싱한 객체
jsonlText JSON.stringify(parsed) 결과
expectedAnswer expectedAnswerForSlot() 결과

4. JSONL 검증 프롬프트

호출 위치

항목
브라우저 함수 verifyJsonl(itemId, slotId, targetVersionKey)
서버 API POST /api/verify-jsonl
core 함수 buildVerificationPrompt({ tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText })
입력값 tableName, sourceVersionKey, targetVersionKey, sourceCode, jsonlText
모델 출력 또는 아니오

question 분기

tableName question
docs_chunks 아래 JSONL이 SOURCE_CODE를 직접 설명하는 공식문서형 근거인지 판정하라.
api_mapping, label_prototypes 아래 JSONL을 근거로 현재 SOURCE_CODE에 마이그레이션을 적용해야 하는지 판정하라.

firstRule 분기

tableName firstRule
docs_chunks docs_chunks에서는 JSONL이 SOURCE_CODE의 실제 문자열, API 호출, 코드 목적, 적용 대상, 결과를 직접 설명할 때만 "예"다.
api_mapping, label_prototypes api_mapping과 label_prototypes에서는 JSONL이 현재 SOURCE_CODE에 지금 적용해야 하는 변경 전 패턴을 설명할 때만 "예"다.

docs_chunks tableRules

- docs_chunks에서 "예"는 JSONL이 SOURCE_CODE의 핵심 동작을 직접 설명할 때만 허용한다.
- 핵심 동작은 단순 API 이름이 아니라 코드가 무엇을 계산하고, 어떤 대상에 적용하며, 최종적으로 어떤 상태/결과를 만드는지까지 포함한다.
- 같은 API나 같은 메서드가 등장해도 JSONL이 다른 목적, 다른 대상 객체, 다른 결과를 설명하면 검색 후보일 뿐 직접 근거가 아니므로 "아니오"다.
- JSONL이 같은 API의 일반 설명만 제공하고 SOURCE_CODE의 구체적인 리소스, 분기, 반복, 상태 변화까지 설명하지 않으면 직접 설명 근거가 아니므로 "아니오"다.
- SOURCE_CODE가 반복 실행, 단발 실행, 상태 전환, 리소스 교체 중 어떤 흐름인지 보고 JSONL의 흐름이 다르면 "아니오"다.
- 같은 파일이나 같은 게임 흐름에서 함께 등장하는 기능끼리는 서로 검색 후보가 될 수 있다. 이 경우에도 SOURCE_CODE의 최종 목적, 대상, 결과와 JSONL이 설명하는 최종 목적, 대상, 결과가 같을 때만 "예"다.
- api_symbols나 heading에 SOURCE_CODE의 일부 호출명이 있어도, content/code_blocks가 다른 작업 흐름을 설명하면 직접 설명 근거가 아니다.
- 라이프사이클 함수, 공통 타입, 일반 속성명처럼 여러 코드에서 반복되는 주변 단서만 맞는 것은 직접 근거가 아니다.
- JSONL의 code_blocks가 SOURCE_CODE와 다른 예제 코드를 설명하고 있다면, 일부 API가 같아도 "아니오"다.
- 비슷한 의미의 다른 API나 비슷한 사용 사례를 네 지식으로 동등하다고 추론하지 않는다. JSONL에 현재 SOURCE_CODE의 목적/대상/결과가 직접 드러나야 한다.
- JSONL_GENERATED_FROM_CODE_VERSION과 VERIFY_TARGET_CODE_VERSION이 다르면, JSONL이 현재 검증 대상 버전의 코드 동작까지 설명하는지 먼저 확인한다.
- 버전이 달라도 공통 API/공통 동작을 명시적으로 설명하면 "예"일 수 있지만, JSONL의 code_blocks/api_symbols가 현재 SOURCE_CODE의 실제 문법/API 호출과 다르면 같은 기능처럼 보여도 "아니오"다.

api_mapping / label_prototypes tableRules

- api_mapping과 label_prototypes의 질문은 "JSONL과 코드가 조금이라도 관련 있나"가 아니라 "이 JSONL을 근거로 현재 SOURCE_CODE를 지금 바꿔야 하나"이다.
- 먼저 현재 SOURCE_CODE를 JSONL 기준으로 변경 전 코드, 이미 변경 후 코드, 무관한 코드, 변환 불필요 코드 중 어디에 해당하는지 판정하라.
- "예"는 현재 SOURCE_CODE가 변경 전 코드이고, JSONL이 말하는 변환을 지금 적용해야 할 때만 허용한다.
- 3->4 통합 JSONL은 Godot 3 변경 전 코드와 Godot 4 변경 후 코드를 함께 보고 만든 근거다. 검증 때는 현재 SOURCE_CODE가 그중 변경 전 코드인지 변경 후 코드인지 분리해서 판단하라.
- 현재 SOURCE_CODE가 이미 Godot 4 target 형태라면, JSONL이 마이그레이션 설명과 관련 있어 보여도 "이미 적용됨"이므로 "아니오"다.
- label_prototypes의 "변환 필요" 판단은 현재 SOURCE_CODE가 변경 전 사용 방식, 인자 구성, 호출 패턴을 실제로 담고 있을 때만 "예"다.
- 무관 변환 JSONL은 검증 대상이 Godot 3 코드여도 현재 SOURCE_CODE에 적용할 변환이 아니면 "아니오"다.
- source/before/required 계열 내용은 변경 전 코드 근거로, target/after/recommended 계열 내용은 변경 후 형태로, negative/reject 계열 내용은 현재 코드에 그 변환을 적용하면 안 되는 조건으로 읽는다.
- 함수명이 같아도 호출 인자, 반환값 처리, 상속 노드, 주변 코드 구조처럼 JSONL이 말하는 변경 전 패턴이 SOURCE_CODE에 직접 남아 있어야만 "예"다.
- source_api와 target_api가 같은 이름을 공유하거나 match_terms에 source/target 용어가 함께 들어갈 수 있다. 이때 단일 함수명이나 넓은 match_terms만 일치하면 "예"가 아니다.
- 같은 파일이나 같은 게임 흐름에서 함께 등장하는 기능끼리는 서로 검색 후보가 될 수 있다. 그래도 현재 SOURCE_CODE에 적용할 변경 전 패턴이 직접 남아 있지 않으면 "아니오"다.
- JSONL_GENERATED_FROM_CODE_VERSION과 VERIFY_TARGET_CODE_VERSION이 다르면, 현재 SOURCE_CODE가 JSONL의 변경 전 코드인지 이미 변경 후 코드인지 먼저 구분하라.
- JSONL_GENERATED_FROM_CODE_VERSION이 migration이 아닌 단일 버전 슬롯이면, 현재 검증 대상 코드 안에 source/before/required 패턴이 직접 있을 때만 "예"다.
- 현재 SOURCE_CODE가 JSONL의 target/after/recommended 형태와 같거나 더 최신 형태이면, 이미 적용된 코드이므로 "아니오"다.
- 검증 대상 버전이 Godot 4 또는 common인데 SOURCE_CODE가 이미 target/after 형태이면, JSONL이 올바른 migration 지식이어도 현재 코드에는 "아니오"다.
- change_type이 signature_stable, no_change, common처럼 변환이 필요 없음을 뜻하면 "아니오"다.
- Godot 4 코드 또는 공통문법 코드에 마이그레이션 JSONL이 붙어도, 추가 변환이 필요하지 않으면 "아니오"다.

decisionRules

- 판정 전에 SOURCE_CODE의 핵심 동작을 한 문장으로 잡고, JSONL이 설명하는 핵심 근거도 한 문장으로 잡아 둘을 비교한다.
- 둘의 대상 객체, 호출 목적, 입력/인자 흐름, 최종 결과가 같은 방향일 때만 직접 근거로 본다.
- 비슷한 검색 후보처럼 보여도 현재 SOURCE_CODE를 설명하거나 현재 SOURCE_CODE에 적용할 근거가 아니면 "아니오"다.

프롬프트 원문

너는 JSONL 근거 매칭 판정기다.

${question}

테이블:
${table.label}

테이블 용도:
${table.purpose}

판정 기준:
- ${firstRule}
- 검토할 JSONL 필드: ${table.directFields.join(', ')}
- ${tableRules.join('\n- ')}
- ${decisionRules.join('\n- ')}
- 단순히 Godot, Godot3, Godot4, migration, 2D, physics 같은 넓은 단어가 같으면 관련 없음이다.
- JSONL에 "does not describe", "not related", "unrelated", "does not apply"처럼 부정적으로 언급된 내용은 관련 근거로 인정하지 않는다.
- JSONL이 다른 API, 다른 노드, 다른 시스템에 대한 내용이면 "아니오"다.
- 네가 알고 있는 Godot 지식은 사용하지 말고, JSONL에 적힌 문자열 근거만 사용하라.
- 답변은 반드시 "예" 또는 "아니오" 하나만 출력하라.

JSONL_GENERATED_FROM_CODE_VERSION:
${sourceVersionKey}

VERIFY_TARGET_CODE_VERSION:
${targetVersionKey}

SOURCE_CODE:
${sourceCode}

JSONL:
${jsonlText}

응답 정규화

normalizeYesNo(text)는 다음 응답만 값으로 인정한다.

입력 형태 내부 값
yes
아니오 아니오
no 아니오
code fence 안의 위 값 해당 값
첫 줄의 위 값 해당 값
그 외 빈 문자열

5. JSONL 프롬프트 미리보기

app.jsbuildJsonlPromptPreview()는 모델에 보내는 함수가 아니라 화면에 보여주는 미리보기다.

호출 위치

항목
브라우저 함수 renderSlot()
API 호출 없음
사용 목적 slot 내부의 JSONL 생성 프롬프트 details 영역 표시

미리보기 원문

너는 Godot RAG 테스트용 JSONL 생성기다.

목표: ${slotCase.goal}
대상 테이블: ${table.label}
테이블 용도: ${table.purpose}
직접 매칭 필드: ${table.directFields.join(', ')}

TEST_ITEM: ${itemTitle}
CODE_VERSION: ${versionLabel}

${isMigrationPair ? `GODOT3_SOURCE_CODE:
${sourceCode || '(Godot 3 코드 생성 후 자동 기입)'}

GODOT4_TARGET_CODE:
${targetCode || '(Godot 4 코드 생성 후 자동 기입)'}` : `SOURCE_CODE:
${sourceCode || '(코드 생성 후 자동 기입)'}`}

slot 생성 규칙

app.jsgetSlotSpecs(detail)가 classification 결과에 따라 slot을 만든다.

common

classification이 common이면 다음 slot을 만든다.

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

classification이 separate이면 다음 slot을 만든다.

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

expectedAnswer 계산

JSONL 생성 응답의 expectedAnswer

expectedAnswerForSlot({ tableName, versionKey, expectation })getSlotCase()expectedAnswer를 반환한다.

검증 결과 비교용 expectedAnswer

expectedAnswerForVerification({ tableName, sourceVersionKey, targetVersionKey, expectation })의 규칙은 다음과 같다.

조건 expectedAnswer
expectation === negative 아니오
tableName === docs_chunks이고 sourceVersionKey === targetVersionKey
tableName === docs_chunks이고 sourceVersionKey !== targetVersionKey 아니오
tableNameapi_mapping 또는 label_prototypes이고 sourceVersionKey === migration, targetVersionKey === godot3
tableNameapi_mapping 또는 label_prototypes이고 sourceVersionKey === migration, targetVersionKey !== godot3 아니오
tableNameapi_mapping 또는 label_prototypes이고 sourceVersionKey === godot3, targetVersionKey === godot3
그 외 아니오

프롬프트 변경 기록 표

나중에 프롬프트를 수정하면 아래 표에 이어서 적는다.

날짜 함수 변경 전 문구/규칙 변경 후 문구/규칙 확인 결과
2026-07-13 전체 현재 코드 기준 프롬프트 구조 기준선 문서화 기록 완료
buildClassificationPrompt()
buildCodePrompt()
buildJsonlPrompt()
buildVerificationPrompt()