---
task_id: "task-1904+1"
title: "인슈위키 정제 파이프라인 체크포인트 저장"
type: plan
scope: "knowledge_extractor_v2.py 체크포인트 저장/복원"
status: completed
level: 3
team: dev7-team
created_at: "2026-04-16"
---

# 계획서: 인슈위키 정제 파이프라인 체크포인트 저장

## 목표
knowledge_extractor_v2.py의 스레드 분리 + LLM 정밀 분리 결과를 체크포인트 파일로 저장하여, 프로세스 중단 시 처음부터 재수행 없이 이어서 정제할 수 있도록 한다.

## 범위
- 수정 파일: `/home/jay/projects/insuwiki/scripts/kakao_knowledge/knowledge_extractor_v2.py`
- 변경 없는 파일: models_v2.py, knowledge_extractor.py 등 (ThreadV2.model_dump() 사용)

## 접근 방식
1. `_split_threads_v2()` 완료 후 checkpoint_threads.json 저장
2. `_llm_refine_thread_splits()` 완료 후 checkpoint_refined_threads.json 저장
3. `extract_knowledge_v2()` 시작 부분에서 체크포인트 존재 시 복원하여 단계 건너뛰기
4. 정제 완료 시 체크포인트 파일 보존 (디버깅용)

## 설계 결정
- output_dir이 None이면 체크포인트 미저장 (기존 동작 유지)
- ThreadV2.model_dump() → dict → json 직렬화
- 복원 시 ThreadV2(**dict) 역직렬화
- 체크포인트 파일은 정제 완료 후 삭제하지 않고 보존 (디버깅 용도)
