diff --git a/docs/PLANNING.md b/docs/PLANNING.md
index 017a57d..d3f3590 100644
--- a/docs/PLANNING.md
+++ b/docs/PLANNING.md
@@ -123,6 +123,8 @@
- [x] PoC #1 기반 코퍼스 확보 및 전처리 파이프라인 — AI-Hub "한국어 SNS 멀티턴 대화" 14.2만 건
확보, `poc/tone-corpus/prepare_dataset.py`로 학습/검증 JSONL 정제 완료 (개인화 검증 자체는
아직 별개로 필요 — `poc-plan.md` "필요한 것" 참고)
+- [x] 라벨 없는 원천 대화 34,030건 추가 확보 — `poc/tone-corpus/build_unlabeled_corpus.py`로
+ `unlabeled.jsonl` 정리 (화행/슬롯 라벨 없음, 순수 언어모델링용)
- [x] 응답 초안 생성기 프로토타입 — `poc/tone-corpus/generate_draft.py` (말투 예시 + 대화 맥락 →
LLM 호출로 초안 생성, 에스컬레이션 케이스는 `[ESCALATE]`로 거절). API 키 없이 코퍼스 실제
대화로 프롬프트 구성까지만 확인함 — 실제 자동 호출은 `ANTHROPIC_API_KEY` 설정 후 가능
diff --git a/poc/tone-corpus/README.md b/poc/tone-corpus/README.md
index 01de4b8..5f9b8d1 100644
--- a/poc/tone-corpus/README.md
+++ b/poc/tone-corpus/README.md
@@ -24,9 +24,13 @@ python3 prepare_dataset.py --input <원본 zip이 있는 디렉토리> --output
- 주제 9종, 정치(3,242건)·경제및사회(4,257건)가 다른 주제(1.7만~2.2만건)보다 훨씬 적음 — 주제별
균형이 필요하면 샘플링 시 감안할 것
- 화자 연령/성별 필드 노이즈 81건은 정제 과정에서 `null`로 치환 (버리지 않고 필드만 비움)
-- **QA 결과**: 원천(CSV) 쪽에는 라벨링된 142,575건 외에 **34,030건이 더 있음** (라벨 없이 텍스트만).
- 화행/슬롯 라벨이 필요 없는 순수 언어모델링 목적이라면 이 34,030건도 추가로 끌어올 수 있다 —
- 다만 이번 스크립트는 라벨 JSON만 다루므로 추가 파서가 필요함 (아직 안 만듦)
+- **QA 결과**: 원천(CSV) 쪽에는 라벨링된 142,575건 외에 34,030건이 더 있었음 (라벨 없이 텍스트만).
+ `build_unlabeled_corpus.py`로 그 34,030건만 뽑아 `unlabeled.jsonl`(63MB)로 정리함 — 화행/슬롯
+ 없이 화자·발화 텍스트만 있어서 순수 언어모델링(다음 문장 예측 등)용으로만 쓸 것
+
+```bash
+python3 build_unlabeled_corpus.py --input <원본 zip 디렉토리> --output <출력 디렉토리>
+```
## 응답 초안 생성기 (`generate_draft.py`)
diff --git a/poc/tone-corpus/build_unlabeled_corpus.py b/poc/tone-corpus/build_unlabeled_corpus.py
new file mode 100644
index 0000000..efd35d8
--- /dev/null
+++ b/poc/tone-corpus/build_unlabeled_corpus.py
@@ -0,0 +1,114 @@
+#!/usr/bin/env python3
+"""Pull the dialogues that exist in the AI-Hub raw source (VS_/TS_ CSV) but
+were never labeled (VL_/TL_ JSON) -- 34,030 of them, per the --qa check in
+prepare_dataset.py. No speech_act/slot labels are available for these, so
+they're only useful for plain language-modeling, not the labeled fields
+`generate_draft.py`'s prompt doesn't use anyway.
+
+Usage:
+ python3 build_unlabeled_corpus.py --input
--output