fix(v2): output_format 도메인-중립 규율 일반화 — 'output_format↔description' 용어 드리프트 해소#177
Merged
Merged
Conversation
… 드리프트 해소 formalizer 가 io_schema.output_format 을 LLM 자유 prose 로 저작하는데 일반(도메인) 모드엔 도메인-중립 규율이 없어(abstract 모드 전용이었음), 이른 시점에 오류 도메인 용어(예 '누적 수확량')를 쓰면 narrative 가 나중에 올바른 용어(예 '단위 수확량')를 독립 저작해 'output_format↔description' 모순 → QA ambiguity reject 되던 결함 (outputs/measure-refkind-after run1 fail_qa 실측)의 해소. - formalizer _SYSTEM_PROMPT(일반 모드): output_format 은 인쇄 구조(타입·개수·형식· 1/0-indexed·sentinel)만 서술하고 답의 도메인 의미는 narrative 가 단일 저작하도록 규율 추가. _EASY_SYSTEM_PROMPT 에도 간결 동일 규율(전 모드 일반화). - reference_kind(#176) 와 동일 버그 클래스: 이른/형식 레이어가 narrative 와 별개로 도메인 의미를 단정하던 드리프트 표면 제거 (single-IR consistency-by-construction). - DB/스키마/migration 무변경 (프롬프트 문자열 변경, output_format 은 input_format 과 같은 Text 컬럼 — 구조 불변). 측정: binary_search P1 N=3 출하율 1/3→3/3(outputs/measure-outfmt-after, $1.24). output_format 0/3 도메인 용어(전부 구조-중립; run2 는 '1-indexed 위치 의미는 지문이 정의한다' 명시=위임 내재화 증거). QA ambiguity 0·fail_synthesis 0·crash 0. N=3 은 작고 binary_search ship rate 노이즈 있으나(2/3→1/3→3/3) 중립화 메커니즘은 확증. 게이트 903 passed/mypy --strict 100/ruff green.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
formalizer가
io_schema.output_format을 LLM 자유 prose로 저작하는데, 일반(도메인) 모드엔 도메인-중립 규율이 없었습니다(abstract 모드 전용). 그 결과 formalizer가 이른 시점에 오류 도메인 용어("누적 수확량")를 쓰고, narrative가 나중에 올바른 용어("단위 수확량")를 독립 저작해output_format↔description모순 → QAambiguityreject되던 결함(outputs/measure-refkind-afterrun1 fail_qa 실측)을 해소합니다.버그 클래스
reference_kind(#176)와 구조적으로 동일 — 이른/형식 레이어가 narrative와 별개로 도메인 의미를 단정하던 드리프트 표면. single-IR consistency-by-construction 원칙으로 제거.변경
_SYSTEM_PROMPT(일반 모드):output_format은 인쇄 구조(타입·개수·형식·1/0-indexed·sentinel)만 서술하고, 답의 도메인 의미는 narrative가 단일 저작하도록 규율 추가. (기존 abstract 모드 전용 규율을 일반화)_EASY_SYSTEM_PROMPT: 간결한 동일 규율 추가 (전 모드 일반화).DB 영향: 없음
프롬프트 문자열 변경.
output_format은input_format과 같은 Text 컬럼 — 구조 불변, migration/DDL 0.측정
binary_search P1 N=3 (
outputs/measure-outfmt-after, $1.24):Test plan
pytest903 passed /mypy --strict100 /ruffgreen