feat(feedback): 자기소개 첫인상 평가 추가 (종합 점수 미포함)#118
Merged
Conversation
자기소개(첫 질문) 답변을 첫인상·전달력(전달력·구조·간결성·직무적합성)으로 별도 평가해 피드백 패널에 'evaluator=첫인상' 항목으로 노출한다. 기술 정답성이 아니므로 종합 점수(overallScore) 집계에는 포함하지 않는다. - AI: self_intro_evaluation 프롬프트 + build_self_intro_evaluation_chain(Flash) + LlmSelfIntroEvaluator. FeedbackConsumer 가 category=SELF_INTRODUCTION 질문/답변을 찾아 종합 generate 와 asyncio.gather 병렬 평가 → panel_breakdown 에 append. 메인 generator 가 첫인상을 모른 채 overall 을 계산하므로 점수 오염 없음. 레거시 세션(자기소개 없음)·빈 답변·평가 실패는 건너뜀(피드백은 계속). - Core: GenerateFeedbackPayload.MessageItem 에 category 추가(자기소개 식별용). - Frontend: '첫인상' 패널 항목을 별도 '자기소개 첫인상' 섹션으로 분리 렌더. - docs/messaging·data-flow + ai CLAUDE.md 갱신. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
변경 사항
#117 후속. 자기소개(첫 질문) 답변을 첫인상·전달력(전달력·구조·간결성·직무적합성)으로 별도 평가해 피드백 리포트에 노출합니다. 실제 면접처럼 자기소개는 정답성으로 채점하지 않으므로, 기술 종합 점수에는 넣지 않고 정성 평가로만 보여줍니다.
설계
overallScore를 계산하고, 첫인상 평가는 그 뒤panelBreakdown에evaluator="첫인상"항목으로만 덧붙입니다. → 집계 비포함이 구조적으로 보장됩니다.asyncio.gather로 병렬 실행(Flash 모델). 첫인상 평가가 실패해도 피드백은 정상 발행됩니다.category=SELF_INTRODUCTION로 식별).상세
AI
chain/prompts/self_intro_evaluation.py— 전달력·구조·간결성·직무적합성 평가 프롬프트(기술 정답성 평가 X)build_self_intro_evaluation_chain(Flash) +LlmSelfIntroEvaluator(결과EvaluatorResult재사용)FeedbackConsumer:category=SELF_INTRODUCTION질문/답변을 찾아 평가 →panel_breakdown에첫인상항목 append (asyncio.gather병렬)FeedbackMessageItem.category추가Core
GenerateFeedbackPayload.MessageItem.category추가 +SessionFeedbackRequester.toItem에서m.getCategory()전달 (자기소개 식별용). 엔티티/마이그레이션 변경 없음.Frontend
FeedbackReport:첫인상패널 항목을 별도 "자기소개 첫인상" 섹션으로 분리 렌더("종합 점수에는 반영되지 않습니다" 명시). 기존 panel JSON·렌더 재사용이라 OpenAPI 재생성 불필요.테스트
_find_self_intro/ evaluator forwarding 추가 → 259 passed, black·flake8 통과tsc --noEmit통과문서
docs/messaging.md(generate/callback.feedback 예시 + category·첫인상 설명),docs/data-flow.md,ai/CLAUDE.md🤖 Generated with Claude Code