Conversation
- review CSV에 question, answer, mainTasks, qualifications 컬럼 추가 - 입력 CSV 값을 변환 없이 검수용 review row에 복사 - 기존 replay 판정 및 summary 생성 로직은 유지 - review CSV 문맥 컬럼 복사 테스트 추가
- 1차 후보 프롬프트에 missingKeywordCandidates 전용 생성 규칙 추가 - 누락 키워드는 mainTasks 또는 qualifications의 명시 항목만 사용하도록 제한 - JD 밖 개념 확장 및 일반화 금지 규칙 추가 - relatedRequirement는 JD 원문 기반으로만 작성하도록 제한 - 답변에 이미 존재하는 역량은 누락 후보로 생성하지 않도록 명시 - precision 우선 및 애매한 경우 빈 배열 반환 규칙 추가 - 상세페이지/브랜드 운영/행정지원 negative few-shot 추가 - 후보 프롬프트 회귀 테스트 보강
- caseId mismatch 발생 시 expected/actual caseId와 response null 여부 로깅 - 빈 questionAnalyses에 대한 judge 평가 개수 불일치 로깅 - NLG judge 평가 예외 발생 시 stacktrace 포함 ERROR 로그 출력 - JsonProcessingException originalMessage 로깅 - IllegalArgumentException validationMessage 로깅 - 기존 judge 결과, 평가 기준, CSV 포맷은 유지
- Judge 응답 null, caseId mismatch, questionAnalysis 개수 불일치 원인 구분 로그 추가 - Judge 호출 및 Structured Output 역직렬화 실패 시 stacktrace 포함 ERROR 로그 출력 - Jackson path/reference chain과 실패 필드명 로깅 - NlgEvaluationErrorCode enum 역직렬화 실패 시 unknownValue와 targetEnum 로깅 - root cause 타입과 메시지 로깅 - 기존 Judge 프롬프트, DTO, enum, validation 기준, CSV failureStage 호환성 유지
- questionAnalysesJson에 명시된 분석 항목만 questionAnalysisEvaluations로 평가하도록 프롬프트 보강 - questionAnalysesJson이 빈 배열이면 questionAnalysisEvaluations도 반드시 빈 배열로 반환하도록 명시 - raw/sanitized/review candidate에서 분석을 추론하거나 복원하지 않도록 금지 - rejected 또는 removed candidate를 questionAnalysisEvaluation으로 변환하지 않도록 명시 - 빈 분석은 validation error가 아니며 noAnalysisAppropriateness로 평가하도록 정리 - 분석 N개 입력 시 입력 분석 N개에만 대응 평가하도록 출력 계약 추가 - NLG judge 프롬프트 회귀 테스트 추가 - DTO, enum, validation, CSV 포맷은 변경하지 않음
- questionAnalyses가 비어 있는데 judge가 questionAnalysisEvaluations를 생성한 경우만 1회 재시도 - 내부 JudgeValidationReason과 JudgeValidationResult로 validation 실패 사유 구분 - response null, caseId mismatch, 역직렬화 오류, judge 호출 실패는 재시도하지 않도록 유지 - 재시도 시작, 성공, 재실패 로그 추가 - 재시도 성공 시 두 번째 응답만 최종 결과로 사용 - 재시도 실패 시 기존 judge_validation_failed 결과 유지 - NLG judge 재시도 조건 및 비대상 실패 유형 테스트 추가 - DTO, enum, 프롬프트, CSV 포맷은 변경하지 않음
- questionAnalyses가 빈 입력이면 questionAnalysisEvaluations를 서버에서 빈 배열로 정규화 - 빈 입력에서 Judge가 생성한 문장 평가를 실패 처리하지 않고 구조적으로 제거 - noAnalysisAppropriateness, strengths, missingKeywords, overallUsefulness, errorCodes, rationale 보존 - response null 및 caseId mismatch는 기존 validation failure 유지 - question_analysis_count_mismatch 재시도 로직과 내부 validation reason 타입 제거 - 빈 입력 정규화 시 원본/정규화 평가 개수 WARN 로그 추가 - NLG judge 빈 입력 정규화 및 비대상 실패 회귀 테스트 보강 - DTO, enum, 프롬프트, CSV 포맷은 변경하지 않음
- missing keyword replay 입력 필수 헤더에 question 추가 - question 헤더 누락 fail-fast 회귀 테스트 추가 - NLG judge root cause 추적을 Spring NestedExceptionUtils로 통일 - NLG judge validation 실패 WARN 중복 제거 - NLG judge 실패 로그를 공통 경로로 정리 - JsonProcessingException 상세 originalMessage 로그 유지 - missing keyword negative example의 JD와 답변 문맥 정합성 수정 - NLG judge evaluate 예외 전파 회귀 테스트 추가
…didate-prompt [Fix] NLG judge 빈 분석 평가 배열 서버 정규화
- Candidate Review decision을 sanitized analysis candidateId 기준으로 검증 - Review strength를 sanitized strength quote 기반으로 제한 - Review missingKeyword를 sanitized keyword/source 기반으로 제한 - 입력 후보 없는 review 출력 제거 및 provenance WARN 로그 추가 - 사회복지사·청소년상담사 등 정형 자격요건 누락 키워드 제외 보강 - Spring Boot·포토샵 등 실무 역량은 정형 자격요건으로 오인하지 않도록 테스트 추가 - Candidate Generation 프롬프트에 도구·실무·문제 해결 기반 strength recall 규칙 추가 - EV-02, EV-15 유형 positive strength 예시 추가
…venance [Fix] Two-pass review provenance 및 정형 자격요건 필터 보강
- MISSED_ANALYSIS 판정 기준을 명확한 문제 문장과 첨삭 가치 손실 중심으로 강화 - 명확한 문제 부재와 MISSED_ANALYSIS가 공존하지 않도록 Judge 프롬프트 보강 - MISSED_MISSING_KEYWORD 평가에서 자격증·면허·학력·경력 연차 등 정형 자격요건 제외 - JD에 없는 키워드와 OR 자격요건의 미선택지를 누락으로 보지 않도록 규칙 추가 - empty questionAnalyses 입력 시 평가 배열 생성 금지 계약 재강조 - overallUsefulness와 noAnalysisAppropriateness 1~5 rubric 구체화 - Judge 프롬프트 contract 테스트 추가
- MISSED_ANALYSIS 판정 기준을 별도 상수로 분리 - MISSED_MISSING_KEYWORD 판정 기준을 별도 상수로 분리 - actual=[] missingKeywords 평가에서 정형 자격요건 제외 정책 우선순위 명시 - NLG Judge 프롬프트 contract 테스트 보강
…ignment [Fix] NLG Judge 평가 기준을 서비스 정책에 맞게 정렬
- MISSED_MISSING_KEYWORD 근거 DTO 추가 - Judge prompt에 missing keyword provenance 출력 계약 추가 - relatedRequirement JD 원문 포함 여부와 정형 자격요건 제외 검증 - 유효 근거 없는 MISSED_MISSING_KEYWORD errorCode 제거 - provenance 검증 및 prompt contract 테스트 추가
…eyword-provenance [Fix] NLG Judge missing keyword provenance 검증 추가
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
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.
✨ 어떤 이유로 PR를 하셨나요?
📋 세부 내용 - 왜 해당 PR이 필요한지 작업 내용을 자세하게 설명해주세요
📸 작업 화면 스크린샷
🚨 관련 이슈 번호 [ ]