Skip to content

[review] 리뷰 진단 로그 추가 - #16

Merged
Dino0204 merged 2 commits into
mainfrom
add/review-diagnostic-logs
Aug 19, 2026
Merged

[review] 리뷰 진단 로그 추가#16
Dino0204 merged 2 commits into
mainfrom
add/review-diagnostic-logs

Conversation

@Dino0204

Copy link
Copy Markdown
Collaborator

개요

#15 에서 리뷰가 지적을 하나도 달지 않은 원인을 로그만으로 좁힐 수 없었습니다. 지적이 사라지는 경로마다 흔적을 남기도록 로그를 보강하였습니다.

#15 위에 쌓은 PR이라 base가 add/inline-thread-reply 입니다.

문제

it-play/Code-Review-Bot#15 리뷰 완료 — 지적 0건 이 찍혔을 때, 아래 셋을 구분할 수 없었습니다.

  • 모델이 submit_inline_comment 을 아예 호출하지 않았다
  • 호출했으나 minSeverity 미달, 경로 해석 실패, 중복으로 prepareFindings 에서 걸러졌다
  • 응답이 max_tokens 에서 잘려 <tool_call> 이 닫히지 않아 파싱에서 버려졌다

두 번째와 세 번째는 로그가 전혀 남지 않았습니다. 특히 minSeverity 미달과 경로 해석 실패는 overflow 에도 들어가지 않아, 요약의 "인라인으로 달지 못한 지적" 목록에도 잡히지 않습니다.

변경 사항

모델 응답 상태 (src/llm.ts)

호출마다 finish_reason 과 토큰을 남깁니다. 기존에는 누적 사용량만 요약 코멘트에 실려, 청크가 여럿이거나 재시도가 끼면 어느 호출이 문제였는지 알 수 없었습니다.

모델 응답 — finish_reason=stop, 토큰 15658 in / 1732 out
[warn] 응답이 max_tokens(16384)에서 잘렸다 — 도구 호출이 온전하지 않을 수 있다

도구 호출 집계 (src/review/runner.ts)

collectToolCalls 가 요약과 지적 호출 수를 남깁니다. 모델이 요약만 낸 경우가 한 줄로 드러납니다.

도구 호출 1건 — 요약 1, 지적 0

제외 사유 집계 (src/review/runner.ts)

prepareFindings 가 걸러낸 지적을 사유별로 셈합니다. 지적이 0건이면 위의 도구 호출 집계가 이미 원인을 말해주므로 남기지 않습니다.

지적 5건 → 인라인 1, 요약 0 (제외 4 — 심각도 2, 경로 1, 중복 1)

검증

npm run typechecknpm run build 를 통과하였습니다.

prepareFindings 는 실제 diff를 파싱해 정상, 심각도·경로·중복 탈락, 개수 초과, 지적 0건의 네 경우를 돌려 출력을 확인하였습니다. src/llm.tsfetch 를 대체해 stop, length, usage 누락 세 경우를 확인하였고, length 응답에서 미완성 <tool_call> 이 버려지며 경고가 나오는 것까지 보았습니다.

동작에는 영향이 없고 로그만 늘어납니다.

@itplay-code-review-bot itplay-code-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 코드 리뷰

리뷰 봇의 디버깅을 위한 진단 로그를 추가한 PR입니다. 모델 응답 상태, 도구 호출 집계, 제외 사유 집계를 로그로 남기도록 변경되었습니다.

전반적으로 코드 품질에 심각한 문제는 없으나, 몇 가지 개선이 필요한 부분이 있습니다:

  1. 로그 메시지 형식이 복잡하고 가독성이 떨어집니다. 특히 조건부 문자열을 연결하는 방식이 길어집니다.
  2. finish_reason과 토큰 사용량을 가져오는 로직이 약간 복잡합니다.

변경 사항의 의도는 명확하고, 검증도 충분히 이루어진 것으로 보입니다. 로그만 추가되므로 동작에는 영향이 없습니다.

지적 사항 없음 — 변경분에서 문제를 찾지 못했다.


모델 darwin-35b-q4_k_m.gguf · 파일 2개 리뷰 · 토큰 4,516 in / 910 out

Base automatically changed from add/inline-thread-reply to main August 19, 2026 06:34
@Dino0204
Dino0204 force-pushed the add/review-diagnostic-logs branch from 4f01aac to 2f80739 Compare August 19, 2026 06:34
@Dino0204
Dino0204 merged commit 1903965 into main Aug 19, 2026
4 checks passed
@Dino0204
Dino0204 deleted the add/review-diagnostic-logs branch August 19, 2026 06:34

@itplay-code-review-bot itplay-code-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 코드 리뷰

리뷰 봇의 진단 로그를 보강하여 지적이 사라지는 원인을 로그로 추적할 수 있도록 개선한 PR입니다.

주요 변경:

  • 도구 호출 집계 로깅: 요약/지적 개수와 함께 형식 오류/모르는 도구 개수 로깅
  • 제외 사유 집계 로깅: 심각도/파일 경로/중복으로 걸러진 지적 개수 로깅
  • 모델 응답 상태 로깅: finish_reason과 토큰 사용량 로깅, max_tokens 초과 시 경고

변경사항은 기존 동작에는 영향을 주지 않고 로그만 추가하는 것이므로, 코드 품질이나 동작에 대한 심각한 문제는 없습니다. 다만 로깅 문장에서 값이 0일 때 공백 문자가 추가되어 가독성이 떨어질 수 있으며, 일부 줄에 불필요한 빈 줄이 추가되었습니다.

지적 사항 없음 — 변경분에서 문제를 찾지 못했다.


모델 darwin-35b-q4_k_m.gguf · 파일 2개 리뷰 · 토큰 4,512 in / 2,787 out

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