idea_world_labDEV JOURNAL
2026년 7월 15일 수요일

2026 년 7 월 15 일

  • 오늘 서울로 올라가는 버스에서 작업을 진행했다.
  • 7월 13일에 작성한 Qwen Validation Debugger 코드 분석 문서를 기준으로 분류, 합성 코드 생성, JSONL 생성, 검증 흐름을 처음부터 다시 검토함
  • 분석하면서 다음과 같은 문제점을 확인함
    • common/separate 분류 단계의 설명이 코드 생성 입력에 그대로 이어져, 잘못된 버전 문법이 다음 생성 단계의 사실 근거로 섞일 수 있었음
    • 생성된 합성 코드가 실제 Godot 엔진에서 파싱되는지 확인하지 않아, Godot 3 코드에 Godot 4 전용 문법이 들어가도 다음 단계로 넘어갈 수 있었음
    • 버전별 코드를 독립적으로 생성해 두 코드가 같은 기능, 입력 흐름, 대상과 결과를 유지하는지 보장하기 어려웠음
    • JSONL 응답의 필드 타입과 중첩 구조를 충분히 제한하지 않아 기존 스키마와 다른 형태가 생성될 수 있었음
    • negative JSONL 생성에 현재 코드가 함께 들어가 모델이 현재 코드의 직접 근거를 다시 사용하는 문제가 생길 수 있었음
    • 버전이 다른 슬롯이나 변경 전 직접 근거가 없는 경우까지 모델 판정에 맡겨 잘못된 가 나올 수 있었음
    • HTTP 429, 502, 503, 504, 연결 종료와 요청 시간 초과를 구분한 제한 재시도와 구조화 응답 제약이 부족했음
  • 부분적인 프롬프트 수정만으로 해결하기보다 근본적인 흐름부터 다시 잡아야 한다고 판단해, 합성 데이터 E2E의 입력, 생성, 검사, 스키마와 판정 순서를 정의한 문서를 새로 작성함
  • 실제 Retriever와 검증기를 만들기 전에 합성 데이터로 E2E를 확인한다는 Qwen Validation Debugger의 목적을 다시 정리함
  • 분류 모델의 설명이 Godot 3/4 코드 생성에 잘못 섞이지 않도록 분류 결과와 합성 코드 생성 입력을 분리함
  • 생성된 합성 코드를 Qwen의 자기 판정에만 맡기지 않고, 실제 Godot 3/4 엔진의 --check-only --script로 즉시 검사하도록 개선함
  • negative JSONL은 현재 코드를 복사하지 않도록 다른 테스트 항목을 동적으로 선택해 생성하고, 생성 후 현재 코드와 직접 증거가 겹치는지 검사하도록 개선함
  • 기존 JSONL 스키마로 필수 필드, 타입, enum과 추가 필드 여부를 검사하고, 버전과 직접 문자열 근거만으로 확정 가능한 판정은 모델 호출 전에 처리하도록 개선함
  • 설계와 시험 기록: docs/observations/2026-07-15-qwen-validation-debugger-synthetic-e2e-contract.md
  • Cloudflare에서 구입한 ideaworldlab.com을 Vercel 프로젝트에 연결하고 DNS 검증과 HTTPS 인증서 발급을 완료함
  • 문서를 일일이 등록하지 않아도 README와 docs에서 파싱된 페이지가 canonical, hreflang, sitemap, robots, Open Graph와 JSON-LD에 자동 반영되도록 SEO/GEO 기반을 구성함
  • 한국어, 영어, 일본어, 중국어, 포르투갈어(브라질), 스페인어, 프랑스어, 독일어, 러시아어와 x-default가 포함된 동적 사이트맵을 Google Search Console에 등록했고, ideaworldlab.com 기준 1,074개 페이지가 정상 인식되는 것을 확인함
  • Google, Bing, 네이버, Yandex에 등록함
  • Baidu는 사이트 등록에 중국 전화번호와 중국 지역 정보가 필요해 이번 검색엔진 등록 대상에서는 제외함
  • 회고: docs/retrospectives/2026-07-15.md