소개
시도하고자 했던 것
전통 학문 분야의 교재를 집필하던 중, 참고문헌인 원전 서적의 내용 중 일부가 누락되어 있었습니다.
기존에 JSON으로 변환해둔 원전 데이터를 활용하여 교재를 자동으로 보강하고자 했습니다.
그 이유
1. 수작업의 한계: 400페이지 이상 분량의 원전에서 필요한 내용을 찾아 교재에 통합하는 작업은 수 시간이 소요됨
2. JSON 데이터 활용: 이미 구조화된 JSON 원전 데이터가 있으므로, AI가 자동으로 보강점을 찾고 통합 가능
3. 일관성 유지: AI가 기존 문서 스타일을 분석하여 일관된 형식으로 보강 내용 삽입
진행 방법
사용 도구
도구
용도
Claude Opus 4.5
문서 분석, 보강점 탐색, 콘텐츠 생성
Claude Projects
프로젝트 파일 및 지식베이스 관리
Pandoc
DOCX ↔ Markdown 변환
Python
텍스트 처리 및 자동 삽입
진행 단계
Step 1: 기존 교재와 원전 JSON 업로드
업로드 파일:
1. 교재_v7.docx (기존 교재)
2. 원전_완전판.json (원전 전체 구조화 데이터)
3. 원전_상세.json (특정 챕터 상세 보강 데이터)
Step 2: 보강점 탐색 프롬프트
교재 최종본에 첨부자료의 보강할 자료가 있는가 찾아서
보강자료가 있으면 보강해요?
Claude의 분석 결과 예시:
현재 교재 위치
보강 가능 내용
출처
4.3절
주기 체계 상세
원전 제10장
4.3절
보조 주기 상세
원전 제10장
신규 추가
한계 조건
원전 제10장
신규 추가
추정 방법
원전 제9장
신규 추가
역사적 기록 통계
원전 제10장
Step 3: 전체 보강 실행 프롬프트
전체 보강 - 위 항목 모두 추가
Step 4: Claude의 자동 처리 과정
1. 기존 DOCX 분석: unpack.py로 XML 구조 추출
2. 보강 콘텐츠 생성: JSON 원전에서 필요한 내용 추출 및 마크다운 작성
3. 목차 자동 업데이트: 신규 섹션 번호 재배열
4. 버전 업그레이드: v7 → v8
5. DOCX 생성: Pandoc으로 최종 문서 변환
Step 5: 핵심 Python 코드 (자동 삽입 로직)
import re
# 기존 마크다운 읽기
with open('교재.md', 'r', encoding='utf-8') as f:
content = f.read()
# 버전 업데이트
content = content.replace('v7 확장판', 'v8 확장판')
# 목차 업데이트 - 신규 항목 추가
toc_addition = """ - 4.3 기존 내용
- 4.4 신규 보강 내용 1 🆕
- 4.5 신규 보강 내용 2 🆕
- 4.6 신규 보강 내용 3 🆕
- 4.7 기존 내용 (번호 이동)"""
content = content.replace(
""" - 4.3 기존 내용
- 4.4 기존 내용""",
toc_addition
)
# 기존 섹션 번호 변경
content = content.replace('### 4.4 기존 내용', '### 4.7 기존 내용')
# 보강 내용 삽입
insertion_point = "기존 설명 마지막 부분..."
content = content.replace(insertion_point, insertion_point + formatted_supplement)
# 저장
with open('교재_v8.md', 'w', encoding='utf-8') as f:
f.write(content)
import re
# 기존 마크다운 읽기
with open('교재_4-6_보강.md', 'r', encoding='utf-8') as f:
content = f.read()
# 버전 업데이트
content = content.replace('v6.3 확장판', 'v8.0 확장판')
# 목차 업데이트 - 신규 항목 추가
toc_addition = """ - 4.4.3 윤년 주기 체계
- 4.4.4 식년 및 사로스/이넥스 주기 상세 🆕
- 4.4.5 황도한계 🆕
- 4.4.6 정삭망의 추정 🆕
- 4.4.7 한국 고대 일식 기록 🆕
- 4.4.8 세차와 장동"""
content = content.replace(
""" - 4.4.3 윤년 주기 체계
- 4.4.4 세차와 장동""",
toc_addition
)
# 기존 4.4.4 → 4.4.8로 번호 변경
content = content.replace('### 4.4.4 세차와 장동', '### 4.4.8 세차와 장동')
# 보강 내용 삽입 (19년 7윤법 설명 다음에)
insertion_point = "**19년 7윤법** - 원리: 19태양년 ≈ 235태음월..."
content = content.replace(insertion_point, insertion_point + formatted_supplement)
# 저장
with open('교재_4-6장_v8_0.md', 'w', encoding='utf-8') as f:
f.write(content)결과와 배운 점
결과
항목
보강 전
보강 후
파일 크기
약 50KB
약 83KB (66% 증가)
섹션 수
4개
8개 (+4개 신규)
주요 개념 설명
1줄 표 언급
상세 표 + 계산식 + 예시
역사적 기록
없음
통계표 추가
배운 점
1. JSON 구조화의 위력: 원전을 미리 JSON으로 변환해두면, AI가 필요한 내용을 정확히 찾아 활용 가능
2. 프롬프트 단순화: “보강할 자료가 있는가 찾아서 보강해요?”라는 간단한 프롬프트로도 AI가 맥락을 파악하고 적절한 보강점 제안
3. 목차 자동 재배열: 신규 섹션 추가 시 기존 섹션 번호를 자동으로 밀어주는 로직 필요
나만의 꿀팁
1. 원전을 먼저 JSON으로 변환: 책/논문을 JSON 구조로 미리 변환해두면 AI 활용도가 급상승
2. “찾아서 보강”이라는 마법의 프롬프트: AI에게 탐색 + 실행을 한 번에 요청하면 효율적
3. 버전 관리 명시: 보강 전/후 버전 번호를 명확히 하여 변경 이력 추적
시행착오
문제
해결
기존 DOCX를 참조 문서로 사용 시 인코딩 오류
기본 Pandoc 변환으로 전환
섹션 번호 충돌
기존 섹션을 자동으로 뒤로 이동
<< 앞으로의 계획 >>
1. 교재 전체 챕터 동일 방식 보강: 원전 전체 챕터 활용
2. 추가 원전 JSON 연동: 다른 참고문헌도 동일 방식 적용
3. 자동 보강 파이프라인 구축: 원전 JSON 업로드 → 보강점 탐색 → 자동 통합 → 버전 관리
도움 받은 글 (옵션)
• Claude Projects 활용 가이드 - Anthropic 공식 문서
• Pandoc 사용자 매뉴얼 - 문서 변환 도구