배경
현재 PR에 붙는 시간/공간 복잡도 분석 기능(handlers/complexity-analysis.js)에서 유저가 남긴 복잡도 주석을 OpenAI(gpt-4.1-nano)가 제대로 판별하지 못하는 케이스가 관찰되고 있습니다.
현상
- 한 파일에 여러 풀이가 있고 각 풀이마다 주석이 달려 있는 경우, 일부 풀이의
userTime / userSpace를 제대로 가져오지 못하거나 다른 풀이의 주석과 섞여서 매칭됩니다.
- 사용자가 복잡도 주석을 전혀 남기지 않았는데도
hasUserAnnotation=true로 판정되어, 없는 유저 분석이 있는 것처럼 댓글이 렌더링됩니다.
두 케이스 모두 결과 댓글의 유저 분석 / 실제 분석 / 결과 표가 오해를 유발하고, 매칭 결과(✅/❌)가 신뢰할 수 없게 됩니다.
확인이 필요한 것
- 현재 사용 중인 SYSTEM_PROMPT가 위 두 케이스를 충분히 지시하고 있는지
- 실제 OpenAI에 전달되는 요청 payload(특히 여러 풀이가 담긴 user prompt의 형태)
- OpenAI가 돌려주는 응답 JSON 원문 — 정규화 이전의 raw 값 확인
제안
- 문제가 재현되는 PR에서 요청 본문과 응답 본문을 로깅하여 어떤 단계에서 누락/오판이 생기는지 특정
- 필요 시 SYSTEM_PROMPT에 다음을 보강:
- 풀이별로 주석을 근접성(바로 위/안쪽) 기준으로 귀속시키는 규칙 강화
- 주석이 없을 때
hasUserAnnotation=false를 반드시 반환하도록 반례 예시 추가
관련 파일
배경
현재 PR에 붙는 시간/공간 복잡도 분석 기능(handlers/complexity-analysis.js)에서 유저가 남긴 복잡도 주석을 OpenAI(gpt-4.1-nano)가 제대로 판별하지 못하는 케이스가 관찰되고 있습니다.
현상
userTime/userSpace를 제대로 가져오지 못하거나 다른 풀이의 주석과 섞여서 매칭됩니다.hasUserAnnotation=true로 판정되어, 없는 유저 분석이 있는 것처럼 댓글이 렌더링됩니다.두 케이스 모두 결과 댓글의
유저 분석 / 실제 분석 / 결과표가 오해를 유발하고, 매칭 결과(✅/❌)가 신뢰할 수 없게 됩니다.확인이 필요한 것
제안
hasUserAnnotation=false를 반드시 반환하도록 반례 예시 추가관련 파일