Repository navigation
Report Worker
dev
a9974a0(2026-10-12) 기준
리포트 워커는 OCR·마스킹이 끝난 청구를 큐로 받아 진단 분류, 약관 대조, 판례 검색, 후유장해 산정, 보험금 추정, 리포트 초안 작성, 저장까지 처리하는 LangGraph 워커다. 손해사정사가 쓰던 초안을 AI가 대신 쓰되, AI가 지어낸 숫자가 최종 금액에 반영되지 않게 하는 것이 설계의 중심이다. 초안은 사용자에게 직접 가지 않고 손해사정사 검수를 거친다.
동작 상세는 src/report_worker/README.md, docs/architecture/langgraph.md, docs/report-worker/가 기준이다.

단계 그래프. 색은 단계 종류다: 파랑=데이터 조회·저장, 빨강=가드레일, 보라=AI 판단, 초록=규칙 계산(AI 없음), 노랑=미구현. 지급률 합산과 보험금 계산은 AI를 쓰지 않는다
| 결정 | 이유 |
|---|---|
큐 메시지에는 식별자(report_id·claim_id·ocr_result_id)만 싣는다 |
개인정보와 문서 내용이 큐를 거치지 않게 한다. 문서 크기가 메시지 한도에 걸리지 않는다. 큐는 데이터가 아니라 할 일을 전달한다 |
저장은 report_id 기준 덮어쓰기 |
중복 전달을 큐에서 없애는 대신 저장 단계에서 멱등을 보장한다 |
| 그래프에 단계와 분기를 명시 | 약관 보유 여부·후유장해 검토 여부로 경로가 갈린다. 분기를 코드 여기저기에 두지 않고 한 곳에서 본다 |
단계는 공용 상태(ReportState)로만 통신 |
단계가 서로의 구현에 의존하지 않고 하나의 사건 정보를 공유한다 |
| 리포트를 만들 수 없으면 조기 종료하되 상태는 반드시 갱신 | 갱신하지 않으면 사용자 화면이 "처리 중"에 멈춘다. → 청구 fan-in 기록 |
| 금액은 확정값이 아니라 범위. 하한은 정액 특약만, 후유장해는 상한에만 | 불확실한 금액을 하한에 넣으면 사용자에게 보장된 것처럼 보인다 |
| 분석 단계 실패는 부분 결과로, 핵심 실패(컨텍스트·OCR 결과 유실·최종 저장)만 작업 실패로 | 판례 검색이 실패했다고 보험금 계산까지 버릴 이유는 없다. 다만 컨텍스트가 비면 계속 가면 안 된다. → PII 복호화 기록 |

단계 그래프와 공용 상태. 진단 분류는 사건 컨텍스트를 읽고 진단 정보를 더하고, 후유장해 단계는 진단 결과와 장해분류표를 읽어 장해 항목을 더한다
"항목 판단은 AI, 지급률 검증과 합산은 코드"가 원칙이다. 이 원칙을 코드가 실제로 지키지 못한 사례는 지어낸 장해지급률이 검증을 통과하고 양팔 장해가 한 부위로 합쳐지던 문제에 있다.
![]() |
![]() |
| 후유장해 검증. 원문에 없는 지급률은 합산에서 빠지고, 진단에 비해 과대한 등급은 같은 부위의 낮은 등급으로 내린다 | 특약별 산출. 검증을 통과한 지급률만 후유장해 금액에 쓰이고, 그 금액은 상한에만 더한다 |
| 합산 규칙 | 내용 |
|---|---|
| 한시장해 | 존속기간 5년 이상이면 지급률의 20%만. 5년 미만·미상은 산입하지 않음 |
| 동일 부위 | 합산하지 않고 가장 높은 지급률만 |
| 좌·우 | 눈·귀·팔·다리·손가락·발가락은 좌우를 다른 부위로. 좌우 미확인은 보수적으로 같은 부위 |
| 상한 | 100% |
| 미확정 | 치료 중이라 확정할 수 없으면 0%가 아니라 "재평가 대상"으로 별도 표시 |
장해분류표는 가입 약관의 표를 먼저 쓰고, 없으면 금융감독원 표준 장해분류표를 가입일 기준 개정판으로 쓴다(3개 개정판 원문 정제). 표준표를 쓰면 리포트에 그 사실을 적고 신뢰도를 낮춘다.

모든 오류를 재시도하지 않는다. OCR 품질 미달은 다시 해도 결과가 같으므로 재처리하지 않고 재업로드 상태(`NEEDS_REUPLOAD`)로 끝낸다
- 사용자 알림 기준은 사용자가 취할 수 있는 조치가 있는가다. DB·AI 서버 장애처럼 사용자가 풀 수 없는 문제는 알리지 않고 로그와 실패 대기열에서 다룬다.
- 차단(리포트 불가: 문서를 못 읽음, 가입 보험 미등록, 분석할 내용 없음, 도메인 외 요청)이 하나라도 있으면 경고(약관 미보유, 가입금액 미등록, 후유장해 미확정, 표준 장해분류표 사용)는 함께 내보내지 않는다.
- 문구는 알림 카탈로그 한 곳에서만 관리해 내부 예외 메시지가 화면에 나가지 않게 한다.
| 단계 | 내용 |
|---|---|
| 입력 | 정규식 PII 마스킹, 보험·법률 외 도메인 차단 |
| 생성 | 단정적 금액 표현을 "참고 추정 범위"로 치환, 근거 인용 강제 |
| 출력 | 법적 고지문 삽입, (리포트 한정) LLM Judge가 사실 주장을 검색된 약관 원문과 대조. 실패한 주장은 별도 목록으로 보존 |
- 팀 설계 문서 "리포트 워커 파이프라인 설계 문서"
-
src/report_worker/,src/guardrail/,docs/report-worker/disability-pipeline.md,docs/report-worker/known-issues.md
구성과 설계 근거
OCR 인식 · VLM 보완
개인정보 보호 · 마스킹
리포트 정확도
배포 · 데이터 파이프라인
레퍼런스

