iterative-academic-writer

📁 iamseungpil/claude-for-dslab 📅 9 days ago
1
总安装量
1
周安装量
#55052
全站排名
安装命令
npx skills add https://github.com/iamseungpil/claude-for-dslab --skill iterative-academic-writer

Agent 安装分布

claude-code 1

Skill 文档

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 발견 시 조치

  1. 즉시 해당 내용 삭제 또는 수정
  2. 올바른 정보로 대체 (검증된 사실만 사용)
  3. 검증 불가능한 내용은 문서에서 제외
  4. 재검증 후 다음 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] 반복 개선...

✅ 완료!

주의사항

  1. Fact Base 기반 작성: 검증되지 않은 정보는 문서에 포함하지 않음
  2. 인용 정확성: 모든 논문 인용은 WebSearch로 검증 후 사용
  3. 최대 반복 제한: 5회 초과 시 수동 개입 요청
  4. 점진적 개선: 한 번에 모든 것을 완벽하게 하려 하지 않고 단계적으로 개선
  5. 독자 중심: 항상 목표 독자의 이해도를 고려하여 작성