iterative-academic-writer
SKILL.md
Iterative Academic Writer
반복적 품질 개선 루프를 통해 학술 문서를 작성하는 스킬입니다. academic-planner로 구조를 설계하고, academic-reviewer로 품질을 평가하며, Fact Checking을 통해 hallucination을 완전히 배제합니다.
사용 시점
다음과 같은 상황에서 이 스킬을 사용합니다:
- 논문의 특정 섹션 작성 (Introduction, Methods, Results, Discussion 등)
- 연구 제안서 작성
- 기술 문서 작성
- 리뷰 논문/서베이 논문 작성
- 학술적 글쓰기가 필요한 모든 상황
워크플로우 개요
┌───────────────────────────────────────────────────────────────────────────────┐
│ Iterative Academic Writer │
├───────────────────────────────────────────────────────────────────────────────┤
│ │
│ Phase 1: 정보 수집 및 Fact Base 구축 │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ • 사용자 요청 분석 (주제, 범위, 목적) │ │
│ │ • 관련 프로젝트 파일 탐색 (코드, 문서, 결과) │ │
│ │ • WebSearch로 관련 논문/자료 검색 │ │
│ │ • → Fact Base 구축 (검증 가능한 사실만 기록) │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ Phase 2: 글 구조 계획 (academic-planner 에이전트) │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ • 전체 문서 구조 설계 (섹션 순서, 각 섹션 핵심 메시지) │ │
│ │ • 정의가 필요한 전문 용어 목록 작성 │ │
│ │ • 비교-대조가 필요한 개념 쌍 식별 │ │
│ │ • 문단 간 논리적 흐름 설계 │ │
│ │ • → 문서 Blueprint 출력 │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ Phase 3: 초안 작성 (Blueprint 기반) │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ • Blueprint의 구조를 따라 줄글 형태로 작성 │ │
│ │ • 모든 전문 용어에 정의 포함 │ │
│ │ • 비교-대조 설명 방식 적극 활용 │ │
│ │ • 두괄식 구조 준수 (문단 첫 문장 = 핵심 주장) │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ Phase 4: 반복 개선 루프 │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │ │
│ │ │ Academic │───▶│ Academic │───▶│ Fact │ │ │
│ │ │ Writer │ │ Reviewer │ │ Checker │ │ │
│ │ │ (재작성) │ │ (품질 평가) │ │ (사실 검증) │ │ │
│ │ └────────────────┘ └───────┬────────┘ └───────┬────────┘ │ │
│ │ ▲ │ │ │ │
│ │ │ ▼ ▼ │ │
│ │ │ ┌──────────────────────────────────┐ │ │
│ │ │ │ Issues Found? │ │ │
│ │ │ │ • 품질 이슈 (Critical/Warning) │ │ │
│ │ │ │ • Hallucination 발견 │ │ │
│ │ │ └───────────────┬──────────────────┘ │ │
│ │ │ │ │ │
│ │ │ Yes │ No │ │
│ │ └────────────────────────────┤ │ │
│ │ ▼ │ │
│ │ ┌────────────────┐ │ │
│ │ │ Complete! │ │ │
│ │ │ Final Document│ │ │
│ │ └────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└───────────────────────────────────────────────────────────────────────────────┘
Phase 1: 정보 수집 및 Fact Base 구축
Step 1.1: 사용자 요청 분석
• 문서 유형 식별
- 논문 섹션 (Introduction, Methods, Results, Discussion, Conclusion)
- 연구 제안서 (Research Proposal)
- 기술 문서 (Technical Document)
- 리뷰 논문 (Survey/Review Paper)
• 주제 및 범위 파악
- 구체적인 연구 주제
- 다룰 범위와 깊이
- 제외할 내용
• 목표 독자 확인
- 해당 분야 전문가
- 인접 분야 연구자
- 일반 독자
Step 1.2: 관련 자료 수집
• 프로젝트 파일 탐색
- 코드 파일: 구현 세부사항 확인
- 결과 파일: 실험 결과, 수치 확인
- 기존 문서: README, CLAUDE.md 등
• CLAUDE.md 확인
- 프로젝트 개요
- 핵심 컴포넌트 설명
- 기술적 세부사항
• 사용자 제공 자료 검토
- 참고 논문
- 데이터
- 추가 요구사항
Step 1.3: WebSearch로 배경 조사
• 관련 논문 검색
- 인용할 핵심 논문 수집
- 저자, 연도, 제목, 학회/저널 정확히 기록
• 기존 연구 동향 파악
- 관련 연구 현황
- 최신 발전 상황
• 기술 용어 정의 확인
- 표준 정의 수집
- 분야별 용어 차이 확인
Step 1.4: Fact Base 구축
⚠️ CRITICAL: 검증 가능한 사실만 기록
Fact Base 구조:
✓ Verified Facts:
- "[사실 1]"
Source: [파일 경로 / 논문 / URL]
Verified: ✓
- "[사실 2]"
Source: [파일 경로 / 논문 / URL]
Verified: ✓
⚠️ Needs Verification:
- "[확인 필요 사실]"
Claimed Source: [주장된 출처]
Action: WebSearch 필요
✗ Rejected (Hallucination):
- "[검증 실패 사실]"
Reason: [실패 이유]
Phase 2: 글 구조 계획 (academic-planner 호출)
academic-planner 에이전트 호출
Task tool 사용:
- subagent_type: "general-purpose"
- prompt: 다음 내용을 포함하여 academic-planner 역할 수행 요청
"다음 정보를 바탕으로 학술 문서의 Blueprint를 작성해주세요.
[문서 유형]: {논문 섹션/연구 제안서/기술 문서}
[주제]: {구체적 주제}
[수집된 Fact Base]: {검증된 사실 목록}
[목표 독자]: {독자 유형}
Blueprint에 포함할 내용:
1. 전체 구조 (섹션별 핵심 메시지)
2. 정의가 필요한 전문 용어 목록
3. 비교-대조가 필요한 개념 쌍
4. 문단 흐름 (두괄식 첫 문장 초안)"
Blueprint 수신 후 확인
□ 모든 전문 용어가 정의 목록에 포함되었는가?
□ 새로운 방법에 대한 비교-대조가 계획되었는가?
□ 각 문단의 첫 문장이 핵심 주장을 담고 있는가?
□ 문단 간 논리적 연결이 계획되었는가?
Phase 3: 초안 작성 (Blueprint 기반)
작성 원칙
Blueprint 구조를 따라 다음 원칙을 준수하며 작성합니다:
1. 정의 우선 (Definition First)
모든 전문 용어는 "X는 Y이다" 형태로 먼저 정의한다.
✅ 올바른 예시:
"MemGen(Memory Generator)은 latent memory token을 생성하여 LLM의 추론을
보강하는 프레임워크이다. MemGen은 두 개의 핵심 모듈로 구성된다."
❌ 잘못된 예시:
"MemGen을 사용하여 성능을 개선했다." (정의 없이 사용)
2. 비교-대조 설명 (Compare-Contrast)
새로운 접근법은 기존 방식과 비교하여 설명한다.
✅ 올바른 예시:
"기존의 RAG(Retrieval-Augmented Generation)가 외부 데이터베이스를 검색하여
정보를 가져오는 반면, MemGen은 모델 내부에서 압축된 메모리를 생성하여
추론에 활용한다."
❌ 잘못된 예시:
"MemGen은 메모리를 생성한다." (비교 없이 설명)
3. 두괄식 (Topic-First Structure)
모든 문단은 핵심 주장이나 결론으로 시작한다.
✅ 올바른 예시:
"LTPO는 inference 시점에 모델 가중치를 변경하지 않고 latent 표현만을
최적화하는 기법이다. 이 접근 방식은..."
❌ 잘못된 예시:
"최근 연구에서는 여러 방법이 제안되었는데, 그 중 하나가 LTPO이다..."
4. 줄글 형태 (Prose Format)
*본문에서 bullet point (-, , •)를 사용하지 않는다.
✅ 올바른 예시:
"MemGen은 세 가지 핵심 기능을 제공한다. 첫째, Memory Weaver는 과거 경험을
압축된 latent로 변환한다. 둘째, Memory Trigger는 메모리 삽입 시점을 결정한다.
셋째, LTPO는 inference 시 latent를 최적화한다."
❌ 잘못된 예시:
"MemGen의 핵심 기능:
- Memory Weaver
- Memory Trigger
- LTPO"
5. 수식어 최소화 (Minimal Adjectives)
불필요한 수식어를 제거하고, 필요시 구체적 수치를 사용한다.
✅ 올바른 예시:
"실험 결과 87%의 정확도를 달성했으며, 이는 baseline 대비 12%p 향상이다."
❌ 잘못된 예시:
"실험 결과 매우 높은 정확도를 달성했으며, 이는 상당히 큰 향상이다."
금지어: 매우, 상당히, 아주, 굉장히, 크게, 작게 (수치 없이 단독 사용)
6. 초심자 이해도 (Beginner Understandability)
배경지식 없는 독자도 글을 이해할 수 있어야 한다.
• "무엇을" → "왜" → "어떻게" 순서로 설명
• 복잡한 개념은 점진적으로 구축 (쉬운 것 → 어려운 것)
• 모든 전문 용어가 정의되기 전에 사용되지 않음
Phase 4: 반복 개선 루프
Step 4.1: 품질 평가 (academic-reviewer 호출)
Task tool 사용:
- subagent_type: "general-purpose"
- prompt: academic-reviewer 역할로 다음 문서 평가 요청
"다음 학술 문서를 평가해주세요.
[문서 내용]:
{작성된 초안}
평가 기준:
1. 구조: 두괄식, 줄글 형태, 문단 간 흐름
2. 이해도: 용어 정의, 비교-대조, 초심자 이해 가능성
3. 간결성: 수식어 최소화, 객관적 표현
4. 사실성: Hallucination 검사, 인용 정확성
JSON 형식으로 결과를 반환해주세요."
Step 4.2: Fact Checking (Hallucination Prevention) - CRITICAL
⚠️ HARD CONSTRAINT: Hallucination은 단 하나도 허용하지 않는다.
4.2.1: Hallucination 유형별 검증 방법
| Hallucination 유형 | 검증 방법 | 도구 |
|---|---|---|
| 허위 논문 인용 | 논문 존재 여부 및 내용 검증 | WebSearch |
| 잘못된 저자/연도 | 실제 논문 메타데이터 확인 | WebSearch |
| 과장된 성능 주장 | 실험 결과 파일과 직접 대조 | Read tool |
| 존재하지 않는 개념 | 해당 용어/기법 존재 확인 | WebSearch |
| 잘못된 수치/통계 | 원본 데이터와 대조 | Read tool |
| 허위 인과관계 | 논리 구조 검증 | 직접 분석 |
4.2.2: 검증 프로세스
문서의 모든 사실적 주장에 대해:
├─ [논문 인용] → WebSearch로 논문 존재 및 내용 확인
│ 예: "Zhang et al. (2024)에 따르면..."
│ 검증: 논문 존재 여부, 저자, 연도, 내용 일치 확인
│
├─ [수치 데이터] → 원본 데이터와 대조
│ 예: "87% 정확도 달성"
│ 검증: results/*.json 또는 원본 논문에서 확인
│
├─ [기술적 주장] → 코드/문서에서 직접 확인
│ 예: "Weaver는 8개의 latent를 생성한다"
│ 검증: 코드 파일에서 해당 설정 확인
│
└─ [개념 정의] → WebSearch로 표준 정의 확인
예: "LTPO는 latent를 최적화하는 기법이다"
검증: 원본 논문 또는 공식 정의 확인
4.2.3: Fact Base 업데이트
검증 결과를 명확히 기록:
✓ Verified:
- "LTPO lr=0.03" (config.yaml:36)
- "Titans 논문 2025년" (WebSearch: arXiv:2501.00663)
✗ HALLUCINATION DETECTED:
- "99% 정확도 달성" → 실제: 87% (results/exp1.json)
- "Kim et al. (2024)" → WebSearch: 해당 논문 없음
⚠️ Unverifiable:
- "업계 표준 방식" → 출처 필요
4.2.4: Hallucination 발견 시 조치
- 즉시 해당 내용 삭제 또는 수정
- 올바른 정보로 대체 (검증된 사실만 사용)
- 검증 불가능한 내용은 문서에서 제외
- 재검증 후 다음 iteration 진행
절대 금지 사항:
- 검증 없이 수치 언급 ❌
- 읽지 않은 논문 인용 ❌
- 확인하지 않은 기술 상세 설명 ❌
- 추측성 내용을 사실처럼 서술 ❌
Step 4.3: 종료 조건 확인
성공 조건 (모두 충족 필요):
| 조건 | 요구사항 |
|---|---|
| Critical issues | 0건 |
| Hallucination count | 0건 (Hard Constraint) |
| Overall score | ≥ 80 |
조건 충족 시: 최종 문서 저장 및 완료 조건 미충족 시: Step 4.4로 진행
Step 4.4: 재작성 (피드백 기반)
academic-reviewer의 피드백을 기반으로 수정:
1. [Critical Issues 수정]
- 용어 미정의 → 정의 추가
- 두괄식 위반 → 문단 첫 문장 수정
- 비교-대조 누락 → 기존 방식과의 비교 추가
2. [Hallucination 제거]
- 검증 실패 인용 → 삭제 또는 실제 인용으로 대체
- 허위 수치 → 검증된 수치로 대체
3. [Warning 개선]
- 수식어 과다 → 구체적 수치로 대체
- 주관적 표현 → 객관적 표현으로 수정
4. [흐름 개선]
- 접속어 추가
- 문단 간 연결 강화
Step 4.5: 반복 제어
최대 반복 횟수: 5회
IF iteration > 5:
→ 현재 최선 버전 저장
→ 미해결 이슈 사용자에게 보고
→ 수동 개입 요청
품질 체크리스트
최종 확인 전 다음 항목을 검증합니다:
| 카테고리 | 항목 | 체크 |
|---|---|---|
| 정의 | 모든 전문 용어가 "X는 Y이다" 형태로 정의되었는가? | □ |
| 비교 | 새로운 접근법이 기존 방식과 비교되었는가? | □ |
| 이해도 | 배경지식 없이도 이해 가능한가? | □ |
| 두괄식 | 모든 문단이 핵심 주장으로 시작하는가? | □ |
| 흐름 | 문단 간, 문장 간 연결이 자연스러운가? | □ |
| 줄글 | 본문에 bullet point가 없는가? | □ |
| 간결성 | 불필요한 수식어가 없는가? | □ |
| 사실성 | 모든 주장이 검증되었는가? | □ |
| 인용 | 모든 인용이 정확한가? | □ |
진행 상황 보고
실행 중 사용자에게 진행 상황을 보고합니다:
[Phase 1] 정보 수집...
✓ 사용자 요청 분석 완료
✓ 프로젝트 파일 탐색 완료
✓ WebSearch 배경 조사 완료
✓ Fact Base 구축 완료 (검증된 사실: N건)
[Phase 2] 글 구조 계획 (academic-planner)...
✓ Blueprint 생성 완료
✓ 정의 필요 용어: N개
✓ 비교-대조 대상: N쌍
[Phase 3] 초안 작성...
✓ Blueprint 기반 줄글 작성 완료
[Phase 4-1] 품질 평가 (academic-reviewer)...
→ Critical: N건
→ Hallucination: N건
→ Warning: N건
→ Score: XX/100
[Phase 4-2] Fact Checking...
→ 검증 완료: N/M
→ Hallucination 제거: N건
[Phase 4-3] 재작성...
✓ Critical 이슈 수정 완료
[Phase 4-4] 재평가...
→ Critical: 0건
→ Hallucination: 0건
→ Score: XX/100
✅ 완료! 최종 문서 생성
사용 예시
예시 1: Methods 섹션 작성
사용자: "MemGen 프로젝트의 Methods 섹션을 작성해줘"
Claude:
[Phase 1] 정보 수집...
✓ memgen/ 디렉토리 분석
✓ CLAUDE.md에서 아키텍처 정보 확인
✓ WebSearch로 관련 논문 검색
[Phase 2] 글 구조 계획...
✓ Blueprint: Overview → Weaver → Trigger → LTPO
✓ 정의 필요 용어: 5개
[Phase 3] 초안 작성...
[Phase 4] 반복 개선...
Iteration 1: Score 72 → Critical 2건 수정
Iteration 2: Score 85 → Warning 1건 개선
✅ 완료! Score: 88/100
예시 2: Introduction 작성
사용자: "LLM 중독 연구에 대한 Introduction을 작성해줘"
Claude:
[Phase 1] 정보 수집...
✓ llm_addiction/ 프로젝트 분석
✓ 실험 결과 파일 확인
✓ WebSearch로 관련 심리학/AI 논문 검색
[Phase 2] 글 구조 계획...
✓ Blueprint: 배경 → 문제 정의 → 기존 한계 → 기여점
[Phase 3] 초안 작성...
[Phase 4] 반복 개선...
✅ 완료!
주의사항
- Fact Base 기반 작성: 검증되지 않은 정보는 문서에 포함하지 않음
- 인용 정확성: 모든 논문 인용은 WebSearch로 검증 후 사용
- 최대 반복 제한: 5회 초과 시 수동 개입 요청
- 점진적 개선: 한 번에 모든 것을 완벽하게 하려 하지 않고 단계적으로 개선
- 독자 중심: 항상 목표 독자의 이해도를 고려하여 작성
Weekly Installs
8
Repository
iamseungpil/cla…or-dslabGitHub Stars
1
First Seen
Feb 4, 2026
Security Audits
Installed on
opencode7
gemini-cli7
github-copilot7
codex7
kimi-cli7
amp7