Academic Research Skills는 코드 한 줄도 짜지 않고 AI로 학술 논문 한 편을 처음부터 끝까지 뽑아내되, 모든 참고문헌과 주장이 진짜인지 강제로 검증시키는 Claude Code 스킬 묶음이다. 그냥 ChatGPT에게 "논문 써줘" 한 마디로 부탁하는 것과는 차원이 다르다. 작업이 10개 단계로 쪼개져 있고, 각 단계 사이에 "AI가 거짓말을 했나"를 검사하는 무결성 관문이 박혀 있다.
대학원생이 ChatGPT로 논문을 쓰다가 가장 자주 당하는 사고 — 존재하지도 않는 참고문헌을 AI가 그럴듯하게 지어낸다는 것. 이 레포는 그 문제를 정면으로 공격한다.
핵심은 검증 게이트다. 사람이 질문을 정하고 방향을 잡고, AI는 "참고문헌 찾기·표 그리기·문장 다듬기" 같은 잡일을 하되 매 단계 출처가 진짜인지 검증을 통과해야만 다음 단계로 넘어갈 수 있다. 한 편(약 15,000단어)을 끝까지 돌리면 API 비용 약 4~6달러, 며칠~몇 주 걸리던 일이 몇 시간으로 줄어든다.
SKILL.md를 두면 Claude Code가 자동으로 읽어 들여 해당 작업을 수행한다. 이 레포는 4개의 스킬(deep-research·academic-paper·academic-paper-reviewer·academic-pipeline)을 묶은 패키지다. JavaScript 같은 실행 코드가 아니라 프롬프트·역할·체크리스트가 적힌 .md 파일이 본체다.ChatGPT에게 "이 주제로 논문 써줘"라고 하면 보기엔 멀쩡한 글이 나온다. 그런데 거기 인용된 논문 제목을 구글에 검색해 보면 존재하지 않는다. 이걸 환각(hallucination)이라고 부른다. AI가 학습한 패턴에서 "이쯤에 이런 제목의 논문이 있을 법한데?"라고 만들어내는 것이다.
보기 좋은 글과 검증된 글은 완전히 다르다. AI가 만든 글의 가장 큰 위험은 "문장이 매끄러워서 의심이 안 든다"는 점이다. 가짜 참고문헌 5개가 박혀 있어도 본인이 일일이 검색해보지 않으면 못 잡는다. 학회에 냈는데 인용 논문이 가짜로 밝혀지면 학문적 신뢰가 즉시 박살난다.
사람이 매번 의심하는 건 한계가 있다. 그래서 2.5단계·4.5단계 두 곳에 무결성 검증 게이트를 박아 두었다. 모든 참고문헌은 Semantic Scholar 등 실제 학술 검색 API에 던져 진짜 존재하는지 확인하고, 본문 주장은 실패 모드 7항목(M1~M7)으로 체크한다. "검증을 통과하지 못하면 다음 단계로 진행 불가"라는 강제 관문이다.
| 비교 대상 | Academic Research Skills의 차별점 |
|---|---|
| ChatGPT 단발 요청 | 한 번에 글을 토해내는 대신 10단계로 쪼개고, 단계마다 출처 존재 검증·확인 게이트를 둔다 |
| 일반 AI 글쓰기 앱 | "매끄러운 글" 최적화 대신 "검증된 글" 최적화 — Semantic Scholar/OpenAlex/Crossref/arXiv 교차 대조로 가짜 인용 차단 |
| 혼자 쓰는 Claude/Copilot | 아첨(sycophancy)을 막는 악마의 변호인 역할과 양보 임계값 프로토콜을 별도 에이전트로 강제 |
| 수작업 동료심사 준비 | 편집장(EIC)+심사위원 3명+악마의 변호인 5역을 AI로 시뮬레이션해 제출 전 약점을 미리 노출 |
이건 코드 레포가 아니라 Claude Code 스킬(.md) 모음이다. 그래서 "기술 스택"은 라이브러리 목록이 아니라 어떤 스킬·프롬프트·외부 API가 맞물려 돌아가는가로 읽어야 한다.
| 스킬 | 버전 | 역할 |
|---|---|---|
| deep-research | v2.10.0 | 연구 자료 수집. 13개 에이전트 팀 · 8개 모드(full/quick/systematic-review/socratic/fact-check/lit-review/review/three-way-scan) |
| academic-paper | v3.2.0 | 논문 작성 파이프라인. 12개 에이전트 · 11개 모드(full/plan/outline/revision/revision-coach/abstract/lit-review/format-convert/citation-check/disclosure/rebuttal-audit) |
| academic-paper-reviewer | v1.10.0 | 동료 심사. 7개 에이전트 · 6개 모드(full/quick/guided/methodology-focus/re-review/calibration) |
| academic-pipeline | v3.12.1 | 위 3개를 묶는 10단계 오케스트레이터 |
각 명령은 작업 깊이에 따라 모델을 자동 라우팅한다(아키텍처 깊이가 필요하면 Opus, 그 외 Sonnet).
| 명령 | 용도 |
|---|---|
/ars-plan | 소크라테스식 대화로 논문 구조 설계 |
/ars-full | 전체 연구 파이프라인 |
/ars-lit-review | 문헌 리뷰 |
/ars-write / /ars-outline | 본문 작성 / 개요 생성 |
/ars-review / /ars-quick | 동료 심사 / 빠른 평가 |
/ars-revision / /ars-abstract | 수정 코칭 / 초록 작성 |
/ars-disclosure | NeurIPS 등 학회용 AI 사용 고지문 생성 |
/ars-3w | 3방향 문헌 스캔(three-way literature scan) |
/ars-cache-invalidate | 인용 검증 캐시 무효화 |
/ars-citation-check | 인용 검사 |
/ars-format-convert | 포맷 변환 |
/ars-mark-read / /ars-unmark-read | 문헌 읽음 표시 / 읽음 해제 |
/ars-rebuttal-audit | 리뷰어 응답 감사 |
/ars-revision-coach | 수정 코칭 (심화) |
| 도구/API | 역할 |
|---|---|
| Semantic Scholar API | 참고문헌 실존 확인 · 중복 제거 (검증의 1차 관문) |
| OpenAlex / Crossref / arXiv | 교차 인덱스 삼각 검증(triangulation) — 한 곳에 없어도 다른 곳에서 확인 |
| Pandoc | (선택) Markdown → DOCX 변환 |
| Tectonic + Source Han Serif TC | (선택) LaTeX → PDF 컴파일, 한·중·일 문자 지원 |
| pdftotext | 인용 자료의 날짜 출처(provenance) 추출 |
| SQLite 캐시 | 검증 결과 영구 캐시(~/.cache/ars/verification.db, 90일 TTL) |
각 단계 체크포인트는 FULL(종합 검토) / SLIM(축약) / MANDATORY(건너뛰기 불가) 세 종류로 적응적으로 작동한다. 무결성 게이트(2.5·4.5)는 항상 MANDATORY다.
요청을 한 번에 처리하지 않고 단계별로 잘게 쪼개는 것이 핵심이다. 각 단계마다 결과물 형태가 다르고, "이대로 진행할까요?"를 묻는 확인 게이트가 있다. 학술지에 실제로 논문을 낼 때 거치는 절차를 그대로 모방한 것이다.
요리 코스로 비유하면 쉽다. 패스트푸드처럼 "햄버거 하나요" 한 번에 끝나는 게 아니라, 코스 요리처럼 전채 → 수프 → 메인 → 디저트 각 단계에서 주방장이 손님에게 "이 맛 어떠세요?"를 확인받고 넘어간다.
그리고 메인 요리가 나가기 전에 위생 검사관(무결성 게이트)이 한 번 더 확인한다. 검사를 통과 못 하면 다시 만든다 — 이 레포는 최대 3번까지 재시도한다.
두 게이트는 7가지 실패 모드 체크리스트(M1~M7)와 결정론적 인용 존재 게이트를 돌린다. 모든 인용은 lookup_verified 상태를 갖고, 선택적으로 ARS_CLAIM_AUDIT=1을 켜면 본문 주장을 실제로 가져온 인용 발췌와 대조해 판정한다.
심사 단계는 편집장(EIC) + 심사위원 R1·R2·R3(차원별 0~100점) + 악마의 변호인(DA)으로 구성된다. AI는 사용자에게 동조하려는 경향(sycophancy 아첨)이 있는데, 학술 글쓰기에서는 치명적이다. 약한 주장도 "훌륭한 통찰입니다"라고 칭찬받으면 사용자가 놓친 채 제출하게 된다.
토론 동아리를 떠올려보자. 친한 친구 셋이 모이면 서로 칭찬만 하다 끝난다. 그래서 일부러 "오늘은 네가 무조건 반대편을 맡아"라고 역할을 정해둔다. 친구도 반대 역할을 맡는 순간 진짜 약점을 찾아내기 시작한다.
모든 스킬은 metadata.data_access_level을 선언한다 — raw(원본), redacted(편집됨), verified_only(검증된 것만). 무결성 에이전트는 verified_only 티어로만 동작한다.
수능 시험으로 비유하면 명확하다. 출제자는 정답지를 갖고 있다. 그런데 채점자가 정답지를 미리 보면? 채점이 의미 없다. 모든 답이 정답으로 보일 테니까. 이 레포는 심사 단계 AI에게 일부러 "검증된 데이터"만 보여주고 원본 접근을 차단한다. 그래야 심사가 진짜 비판으로 작동한다.
AI에게 논문을 쓰라고 했는데 자료가 부족하면, 평소 AI는 자기가 학습한 지식으로 구멍을 메운다. 그건 사용자가 검증한 자료가 아니다. 학회에 내면 "이 통계 수치는 어디서 나왔나요?" 코멘트가 돌아오고, 답할 수 없으면 게재 거부.
AI가 자기 지식으로 빈칸을 채울 때 [MATERIAL GAP] 태그를 본문에 박는다. 사용자는 그 태그를 보고 "여기는 내가 자료를 추가해야 하는구나" 또는 "이 부분은 빼자"를 결정한다. AI의 자체 지식이 사용자의 검증 자료처럼 위장되는 일이 차단된다.
스킬 폴더 표준 구조: 각 skills/<name>/는 SKILL.md(모드·에이전트·워크플로 정의)를 중심으로, references/(실패 모드 분류·인용 출처 스키마)와 모드별 프롬프트를 묶는다. 가장 빠른 학습 경로는 examples/showcase/ — AI 검증이 실제로 어떻게 발화하는지 완성된 산출물로 체감할 수 있다.
이 레포는 학술 논문 작성용이지만, 거기서 뽑은 설계 패턴은 누구나 자기 도메인(코드 생성, 리포트 작성, 자료 조사)에 옮길 수 있다. "이 레포에서 뭘 배우나"의 핵심이 여기다.
배울 것: AI에게 작업을 맡길 때 "결과만 받기"가 아니라 "단계 사이마다 검증을 통과해야 다음 단계로 진행"이라는 구조를 만든다. 결정론적 게이트(인용 존재 여부처럼 참/거짓이 명확한 검사)와 판정형 게이트(주장-근거 대조)를 구분해 배치하는 법.
배울 것: 한 명의 AI에게 모든 걸 시키지 말고, 역할이 다른 여러 에이전트(작성자·심사자·악마의 변호인)를 만들어 서로 견제시킨다. 같은 모델이라도 역할만 분리하면 결과가 훨씬 좋아진다. 아첨을 막는 양보 임계값 같은 메커니즘적 강제 설계.
배울 것: "이 단계에서는 원본을 보고 작성, 다음 단계에서는 검증된 것만 보고 심사" 식으로 데이터 접근 범위를 단계마다 좁힌다(raw → redacted → verified_only). 그래야 단계 간 검증이 의미를 가진다.
배울 것: AI의 출력을 모델 외부의 진실 소스(Semantic Scholar·Crossref 등 실 API)에 던져 대조하는 패턴. 한 소스가 아니라 여러 인덱스로 삼각 검증해 누락·오탐을 줄이는 법, 그리고 결과를 SQLite로 캐시해 비용을 줄이는 법.
배울 것: AI가 자체 지식으로 메운 구멍을 [MATERIAL GAP]처럼 명시적으로 표시하게 만들어, 검증된 자료와 추측을 분리하는 설계. "AI가 모르는 걸 모른다고 말하게 하는" 프롬프트 규율.
배울 것: 작업이 끝난 뒤 AI에게 협업 품질을 다차원으로 채점하게 한다(방향 설정·지적 기여·품질 관리·반복 규율·위임 효율·메타 학습). shared/collaboration_depth_rubric.md가 그 채점표다. 점수화하면 다음 작업의 개선점이 보인다.
이 레포는 직접 실행되는 프로그램이 아니라 Claude Code가 읽어 들이는 스킬 묶음이다. 따라서 요구사항은 GPU/RAM이 아니라 Claude Code 환경 + API 키 + 선택적 변환 도구다.
| 항목 | 필수 | 비고 |
|---|---|---|
| Claude Code | 최신 버전 (플러그인 설치는 v3.7.0+) | git clone + 심볼릭 링크 방식도 지원 |
| API 키 | ANTHROPIC_API_KEY 환경변수 | 최초 실행 시 설정 |
| 네트워크 | 인터넷 연결 필수 | Semantic Scholar 등 검증 API 호출 |
| 비용 | 논문 1편당 약 $4~6 (≈15,000단어) | Opus/Sonnet 자동 라우팅으로 절감 |
| 도구 | 용도 |
|---|---|
| Pandoc | Markdown → DOCX 변환 |
| Tectonic + Source Han Serif TC | APA 7.0 PDF 출력 (한·중·일 폰트 포함) |
| pdftotext | 인용 자료 날짜 출처 추출 |
| 방법 | 명령/절차 |
|---|---|
| 플러그인 (권장) | /plugin marketplace add Imbad0202/academic-research-skills → /plugin install academic-research-skills |
| 프로젝트 스킬 | skills/를 프로젝트에 심볼릭 링크 |
| 글로벌 스킬 | ~/.claude/skills/에 심볼릭 링크 |
| claude.ai 프로젝트 | 파일을 수동 업로드 |
examples/showcase/ 폴더의 최종 논문·검증 리포트·동료 심사 보고서를 다 읽어본다. "AI 검증이 실제로 어떻게 발화하는지" 체감하는 가장 빠른 학습 경로다.
skills/deep-research/SKILL.md를 열어 YAML 헤더부터 끝까지 한국어로 번역하며 읽는다. 모든 필드의 의미가 이해되는 순간 Anthropic Skills 형식 전체가 손에 잡힌다.
본인이 쓴 블로그 글 한 편의 모든 외부 인용·링크를 추출하고, 실제로 그 페이지가 살아 있는지·인용 내용이 정말 거기 있는지 검증하는 작은 스크립트를 짠다. 이 레포 검증 패턴의 축소판이다.
# verify_citations.py — 개념 골격
import requests
def verify(title: str) -> bool:
# Semantic Scholar에 제목을 던져 실존 확인
r = requests.get(
"https://api.semanticscholar.org/graph/v1/paper/search",
params={"query": title, "limit": 1})
return bool(r.json().get("data"))
for c in extract_citations(my_article):
print(c, "OK" if verify(c) else "[가짜 의심]")
다음에 Claude/ChatGPT에게 글을 부탁할 때, 일부러 "내 주장에 가장 강하게 반대하는 입장에서 8가지 약점을 찾되, 네가 5점 만점에 4점 이상으로 반박당하지 않는 한 양보하지 마라"라고 시켜본다.
임의 도메인(예: 마케팅 리포트)에 대해 "작성 → 검증 게이트 → 수정" 3단계를 강제하는 작은 SKILL.md를 직접 쓴다. 검증 게이트에는 "통과 못 하면 다음 단계 금지" 규칙과 최대 재시도 횟수를 넣는다.
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | Anthropic Skills 표준 이해 | SKILL.md YAML 헤더 구조 분석 |
| 화 | 4개 스킬의 역할 분담 | research/paper/reviewer/pipeline 관계도 그리기 |
| 수 | 10단계 파이프라인 흐름 | 각 단계 입력/출력 정리 |
| 목 | 슬래시 명령 16개 | /ars-plan 소크라테스식 흐름 따라가기 |
| 금 | examples/showcase 정독 | 완성 논문 1편 + 검증 리포트 분석 |
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | 환각(hallucination) 메커니즘 | ChatGPT로 가짜 인용 재현해보기 |
| 화 | Semantic Scholar API | 제목으로 논문 실존 조회 스크립트 |
| 수 | 삼각 검증 개념 | OpenAlex/Crossref 교차 조회 실험 |
| 목 | M1~M7 실패 모드 | references/ai_research_failure_modes.md 읽기 |
| 금 | [MATERIAL GAP] 태그 | 본인 AI 출력에 직접 태깅 연습 |
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | 역할 분리 패턴 | EIC+R1~3+DA 역할표 작성 |
| 화 | 아첨(sycophancy) 문제 | 양보 임계값 프로토콜 실험 |
| 수 | 악마의 변호인 설계 | 8각도 공격 프롬프트 작성 |
| 목 | 데이터 격리 3단계 | raw/redacted/verified_only 시나리오 설계 |
| 금 | 재심사(re-review) 루프 | 수정본 재검증 흐름 따라가기 |
| 요일 | 학습 내용 | 실습 |
|---|---|---|
| 월 | SKILL.md 작성법 | 미니 검증 스킬 뼈대 만들기 |
| 화 | Material Passport 스키마 | handoff_schemas.md로 핸드오프 설계 |
| 수 | 출력 변환 (Pandoc/Tectonic) | MD → DOCX/PDF 변환 체험 |
| 목 | 협업 깊이 채점표 | collaboration_depth_rubric로 자기 작업 평가 |
| 금 | 종합 프로젝트 | 내 도메인 논문/리포트 1편 끝까지 돌리기 |
| 키워드 | 설명 |
|---|---|
| 스킬 (Skill) | SKILL.md로 정의된 Claude Code 작업 지침. 코드가 아니라 프롬프트·역할·체크리스트가 본체 |
| academic-pipeline | 4개 스킬을 묶는 10단계 오케스트레이터 (v3.12.1) |
| 환각 (hallucination) | AI가 사실이 아닌 정보(특히 참고문헌·통계)를 사실처럼 지어내는 현상 |
| 무결성 게이트 | 2.5·4.5단계의 강제 검증 관문. 통과 못하면 다음 단계 진행 불가 |
| M1~M7 실패 모드 | AI 연구 실패를 7가지로 분류한 체크리스트(회고적 산술·시대착오 인용 등) |
| Semantic Scholar | 참고문헌 실존을 확인하는 실제 학술 검색 API. 검증의 1차 관문 |
| 삼각 검증 (triangulation) | 여러 인덱스(OpenAlex/Crossref/arXiv)로 인용을 교차 대조해 확실성을 높이는 것 |
| 아첨 (sycophancy) | AI가 사용자에게 잘 보이려 무조건 동의하는 경향. 학술 글쓰기에 치명적 |
| 악마의 변호인 (DA) | 일부러 반대 입장을 맡아 핵심 주장을 공격하는 별도 AI 역할 |
| 양보 임계값 | 5점 만점에 4점 이상으로 반박당하지 않으면 양보 금지 — 쉽게 굽히지 못하게 강제 |
| 데이터 격리 | raw/redacted/verified_only 3단계로 단계별 데이터 접근을 좁히는 원칙 |
| [MATERIAL GAP] | AI가 자체 지식으로 메운 구멍을 본문에 명시 표시하는 태그 |
| Material Passport | 단계 사이를 넘나드는 핸드오프 문서(스키마 9~13). 문헌·스타일·출처를 담음 |
| peer review (동료 심사) | 같은 분야 연구자가 익명으로 논문을 평가하는 절차. 이 레포는 EIC+3+DA로 시뮬레이션 |
| PRISMA-trAIce / RAISE | 체계적 문헌고찰·AI 활용 연구의 컴플라이언스 원칙 |
| data_access_level | 스킬의 metadata 필드. 그 스킬이 볼 수 있는 데이터 티어를 선언 |
| 협업 깊이 루브릭 | 사람-AI 협업 품질을 4차원으로 채점하는 회고 도구 |