From 43097e6fd9587cee5a9bec6d44d132849e0e396e Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Fri, 1 May 2026 11:47:44 +0900 Subject: [PATCH] =?UTF-8?q?fix(study):=20Phase=204-A=20envelope=20?= =?UTF-8?q?=ED=94=84=EB=A1=AC=ED=94=84=ED=8A=B8=20=E2=80=94=20answer=5Fcho?= =?UTF-8?q?ice=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=EC=A0=95=EB=8B=B5=20?= =?UTF-8?q?=EA=B0=95=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 검증 결과 모델이 envelope 안에서 자료 근거로 정답 번호를 재판단해서 거의 매번 guard_fail (answer_choice != correct_choice). 환각 가드는 정확히 작동했지만 caching 효율 0%. PR-3 의 free-form 풀이는 "사용자 정답 우선, 충돌 명시" 라 정상 ready 박혔지만 envelope.txt 가 "자료 근거 우선" 으로 충돌. 환각 가드의 본질 — 모델이 envelope 형식을 어겨 임의로 다른 번호를 박는 케이스 차단 — 을 유지하되, answer_choice 값은 사용자 정답 (correct_choice) 을 그대로 박도록 명시. 자료 근거와 사용자 정답이 다를 경우 explanation_md 안에 짧게 명시만 하고 answer_choice 는 보존. 정답 자체를 바꾸는 게 환각 가드의 차단 대상이라고 강조. Co-Authored-By: Claude Opus 4.7 (1M context) --- app/prompts/study_explanation_envelope.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/prompts/study_explanation_envelope.txt b/app/prompts/study_explanation_envelope.txt index e694c57..ac7b1ed 100644 --- a/app/prompts/study_explanation_envelope.txt +++ b/app/prompts/study_explanation_envelope.txt @@ -35,8 +35,11 @@ - high: 자료에 직접 근거가 있고 정답이 명확 - medium: 자료가 부분 근거이고 일반 지식 보강 필요 - low: 자료 근거 부족하여 추론에 의존 -7. answer_choice 는 풀이의 결론에 해당하는 정답 번호 (1~4 정수). 사용자 입력 정답과 자료 근거가 충돌하면 자료 근거를 따르고 explanation_md 에 충돌을 명시. -8. explanation_md 는 한국어 200~400자. 마크다운(굵게·리스트) 사용 가능. +7. **answer_choice 는 반드시 위 "사용자가 입력한 정답" 의 번호 ({correct_choice}) 를 그대로 박는다.** + - 사용자 정답이 정해진 객관식 문제이며, 너의 역할은 그 정답을 풀이하는 것이지 정답 자체를 바꾸는 것이 아니다. + - 자료 근거가 사용자 정답과 다르게 보여도 explanation_md 안에 "자료 근거에 따르면 다른 해석도 가능하다" 라고 짧게 명시할 뿐, answer_choice 는 사용자 정답 그대로 유지한다. + - 정답을 추측하거나 다른 번호로 바꾸는 것은 환각 가드에 차단된다. +8. explanation_md 는 사용자 정답이 왜 맞는지 풀이. 한국어 200~400자. 마크다운(굵게·리스트) 사용 가능. 【출력 형식 — 반드시 아래 JSON 만 출력. 메타 설명·인사·코드 펜스 없이 raw JSON 한 객체.】 {{"answer_choice": <1|2|3|4>, "explanation_md": "<풀이 본문 마크다운>", "confidence": ""}}