Skip to content

[ICC-316] 프롬프트 개선#207

Merged
GulSauce merged 12 commits intodevelopfrom
ICC-316-prompt
Apr 28, 2026
Merged

[ICC-316] 프롬프트 개선#207
GulSauce merged 12 commits intodevelopfrom
ICC-316-prompt

Conversation

@GulSauce
Copy link
Copy Markdown
Member

No description provided.

GulSauce added 12 commits April 26, 2026 17:17
규칙 나열 → few-shot 중심으로 전환하여 Gemini의 프롬프트 준수율을 개선한다.

- 공통 구조: Step 1(지식유형 판별) → Step 2(라우팅 테이블 + few-shot) → Step 3-4(Step 2 따르라)
- MULTIPLE: 규칙 22개 → 3개, few-shot 8→14개 (9도메인), 숏컷 방지 점수 1.80→2.65
- OX: few-shot 중심 재작성, 9쌍 (6도메인), Understand/Apply 수준 검증
- BLANK: few-shot 중심 재작성, 8개 (3도메인), Remember/Understand 수준
- ESSAY: few-shot 중심 재작성, 10개 (5도메인), Analyze/Evaluate 수준, 채점기준표 유지
- RequestPrompt: 사용자 지시 반영 시 Step 1-2 테이블 라우팅 참조로 통일
- 패턴 C(특성형) 신규 추가, A~F 알파벳 순서 재조정
- few-shot 예시 빈칸 위치를 문장 중간으로 다양화 (B~F)
- 비교형(D) 경제학 도메인 예시 추가
- 배분 전략: A 편중 방지, 빈칸 문장 끝 편중 방지
- 오답 규칙 강화: 동일 범주 유사 개념 최소 2개
- O 예시에 한계/비용/예��� 조건 추가하여 숏컷 방지 강화
- X 예시의 극단어("즉시", "모든") 제거 및 미묘한 변조로 교체
- 라벨 통일: "O정답/X정답" → "참(O) 진술문/거짓(X) 진술문"
- 패턴 A·C few-shot을 관계 추론형으로 교체 (Remember→Understand)
- 6라운드 evaluator 평�� 결과: R1 6.6 → R5 8.65/12 (역대 최고)
- O/X 진술문 어조·길이 대칭화로 숏컷 방지 강화
- X 변조 고도화: 단순 역전 → 조건누락형·범위과잉형·핵심역전형 혼합
- O 진술문 간결화: 독립 판단 최대 2개로 제한하여 학습자 친화성 확보
- 주제 다양화: 경제학 편중(5/9) → 8종 분야 분산
  (생물학-자연선택, 물리학-엔트로피, 사회과학-생태학적 오류 추가)
- 완성본 예시 JSON을 열역학 문항으로 동기화
AI가 루브릭의 배점(maxPoints)을 임의로 재해석하여 동일 문제의 max_score가
재제출마다 달라지는 버그를 수정. 시스템 프롬프트에 루브릭 표의 [카테고리, N점]
값을 그대로 복사하라는 명시적 지시와 경고를 추가.
- 모든 지시사항에 -> 예시: + -> 설명: 인라인 구조 추가
- 선택지를 자연스러운 구어체("~하는 대신, ~걸 감수한다")로 통일
- Checking 패턴 2-2 배치(같은 지목 대상 2개씩) 소거법 방지
- 오답 설명에 "극단적이지 않으면서 매력적인 구성 방법" 명시
- Step 3 해설을 Step 2 설명 직접 참조 구조로 변경
- 완성본 퓨샷을 새 해설 포맷(정답 설명/오답 설명)에 맞춤
- 중립성 검토: 수식어("일부"/"크게") 및 비중립 표현 제거
Gemini 호출 서킷 브레이커에 slow-call-duration-threshold(60초)와
slow-call-rate-threshold(100%) 옵션을 추가하여 장시간 응답 케이스에 대한
서킷 동작을 제어할 수 있도록 한다.
3-chunk 병렬 생성에서 각 청크가 서로 다른 시스템 프롬프트를 사용하면서
동일한 PDF를 공유할 수 있도록 createPdfOnlyCache(fileUri)를 추가한다.
시스템 프롬프트를 제외하고 PDF 콘텐츠만 캐시에 등록한다.
마지막 문항 생성까지 걸린 시간(TTLQ)을 기록하여 Slack 성공/부분성공
알림에 노출한다. 기존 TTFQ와 함께 첫·마지막 문항 응답 시간 분포를
함께 관찰할 수 있게 한다.

또한 MULTIPLE 청크 모드(단일/멀티턴/병렬)를 설정으로 분기할 수 있도록
q-asker.ai.multiple.chunk-mode 옵션을 추가한다.
BLANK·MULTIPLE·OX·ESSAY 프롬프트를 지식 유형(사실적/개념적/절차적/메타인지적)
단위로 재구성하고, 각 패턴별 단계별 풀이 절차와 자가점검 단계를 명시한다.

- MULTIPLE: 정답 풀이 R1~R4 단계화, 오답을 R1/R2/R3 이탈로 도출하는 구조 도입
- OX: 비교형/인과형/분류형/상황 전이형 패턴별 O/X 변별 메커니즘 설명 추가
- BLANK: 패턴별 단서 분산 전략과 오답 유형(유사개념형/혼동유발형) 가이드 강화
- OXRequestPrompt: 변조 유형 강제 제약을 제거하고 O/X 정답 준수만 명시
운영 알림·검색·메트릭 라벨링이 용이하도록 로그 메시지를
"[카테고리] 설명 key=value" 포맷으로 통일한다. 또한 예외를
문자열로 직렬화하던 케이스를 Throwable 인자로 바꿔 스택트레이스가
유실되지 않도록 한다.

대상: GlobalExceptionHandler, SlackNotifier, HashUtil,
NoOpConvertService, BlankQuizOrchestrator, EssayQuizOrchestrator,
OXQuizOrchestrator, EssayGradingServiceImpl, GeminiChatService,
GeminiFileServiceImpl, StreamingQuestionExtractor,
StreamingEssayQuestionExtractor, PdfUtils, EssayGradeService,
SseNotificationServiceImpl, FileUploadService,
StaleGenerationRecoveryScheduler
직전 프롬프트 구조 개선 커밋(ab0b0a0)에 포함된 OXGuideLine 변경을
원복한다. OX 가이드라인은 별도 검토 후 다시 반영한다.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 28, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2946afdb-32f2-43fb-a15c-faa178cd09d8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ICC-316-prompt

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@GulSauce GulSauce merged commit c8b6c17 into develop Apr 28, 2026
2 checks passed
@GulSauce GulSauce deleted the ICC-316-prompt branch April 28, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant