인용 검증기은(는) 무엇을 하나요?
과학 문서의 인용을 감지하고 검증하여, 환각(hallucination), 깨짐, 부적절한 참조를 식별합니다.
목적
AI 생성 콘텐츠는 때때로 그럴듯해 보이지만 실제로는 가짜인 인용을 포함할 수 있습니다. 이 스킬은 문서에서 모든 인용 식별자를 체계적으로 추출하고 각각을 권위 있는 출처에 대해 검증하여, 검증 상태와 잘못된 인용에 대한 수정 제안을 포함한 상세 보고서를 생성합니다.
사용 시기
이 스킬은 다음과 같은 경우에 호출되어야 합니다:
- 사용자가 문서의 "인용 검증" 또는 "참조 확인"을 요청할 때
- 사용자가 AI 생성 콘텐츠에 허위 인용이 있다고 의심할 때
- 사용자가 논문의 DOI, URL, 또는 기타 식별자를 검증하고자 할 때
- 사용자가 문서의 깨진 링크나 가짜 참조를 감사(audit)해 달라고 요청할 때
- 사용자가 "인용 검증", "참조 확인", "DOI 검증"을 언급할 때
지원 문서 형식
- Markdown (.md): 인라인 링크
[text](url), 참조 링크[text][ref], 베어 URL, DOI - LaTeX/BibTeX (.tex, .bib):
\cite{},@article{}, DOI 필드, URL 필드 - Org-mode (.org):
[[url][text]]링크,#+BIBLIOGRAPHY, cite 링크 - 일반 텍스트 (.txt): 베어 URL, DOI, arXiv ID, 저자-연도 패턴
감지되는 인용 식별자
DOI (디지털 객체 식별자)
- 패턴:
10.\d{4,}/[^\s]+또는doi.org/10.\d{4,}/[^\s]+ - 예시:
10.1038/nature12373,https://doi.org/10.1126/science.abc1234 - 검증:
https://api.crossref.org/works/{doi}의 CrossRef API
논문 URL
- 패턴: 주요 출판사 및 저장소에 대한 링크
- 도메인: nature.com, science.org, sciencedirect.com, springer.com, wiley.com, acs.org, rsc.org, pnas.org, cell.com, plos.org, mdpi.com, frontiersin.org, academic.oup.com, tandfonline.com
- 검증: HTTP HEAD/GET 요청, 200 상태 및 논문 메타데이터 확인
arXiv ID
- 패턴:
arXiv:\d{4}\.\d{4,5}(v\d+)?또는arxiv.org/abs/\d{4}\.\d{4,5} - 예시:
arXiv:2301.07041,https://arxiv.org/abs/2301.07041v2 - 검증: arXiv API 또는 직접 URL 확인
PubMed ID (PMID)
- 패턴:
PMID:\s*\d+또는pubmed.ncbi.nlm.nih.gov/\d+ - 예시:
PMID: 12345678 - 검증: PubMed URL
https://pubmed.ncbi.nlm.nih.gov/{pmid}/
ISBN
- 패턴:
ISBN[:\s]*[\d-]{10,17}(ISBN-10 또는 ISBN-13) - 예시:
ISBN: 978-0-13-468599-1 - 검증: Open Library API
https://openlibrary.org/isbn/{isbn}.json
저자-연도 인용
- 패턴:
([A-Z][a-z]+(?:\s+(?:et\s+al\.?|and|&)\s+[A-Z][a-z]+)?,\s*\d{4}) - 예시:
(Smith et al., 2023),(Johnson and Lee, 2022) - 검증: WebSearch를 통해 일치하는 논문 검색 (신뢰도 낮음)
검증 절차
1단계: 문서 읽기 및 파싱
Read 도구를 사용하여 문서를 불러옵니다. 패턴 매칭을 사용하여 모든 인용 식별자를 추출합니다:
DOI 패턴:
- https?://(?:dx\.)?doi\.org/(10\.\d{4,}/[^\s\])"'\>]+)
- doi:\s*(10\.\d{4,}/[^\s\])"'\>]+)
- (10\.\d{4,9}/[-._;()/:A-Z0-9]+) (베어 DOI)
arXiv 패턴:
- arXiv:(\d{4}\.\d{4,5}(?:v\d+)?)
- arxiv\.org/abs/(\d{4}\.\d{4,5}(?:v\d+)?)
PubMed 패턴:
- PMID:\s*(\d+)
- pubmed\.ncbi\.nlm\.nih\.gov/(\d+)
URL 패턴:
- https?://[^\s\])"'\<>]+ (학술 도메인으로 필터링)
ISBN 패턴:
- ISBN[:\s-]*((?:\d[-\s]?){9}[\dXx]|(?:\d[-\s]?){13)}
2단계: 중복 제거 및 분류
고유 식별자 목록을 유형별로 생성합니다:
- DOI
- arXiv ID
- PubMed ID
- ISBN
- URL (학술)
- 저자-연도 인용 (텍스트 기반)
3단계: 각 식별자 검증
각 식별자에 대해 신뢰도 순으로 검증을 수행합니다:
DOI 검증
- CrossRef API URL 구성:
https://api.crossref.org/works/{doi} - WebFetch를 사용하여 API 확인
- 성공적이면 제목, 저자, 저널, 연도 추출
- 404 오류 또는 오류 발생 시: INVALID(무효)로 표시
arXiv 검증
- URL 구성:
https://arxiv.org/abs/{arxiv_id} - WebFetch를 사용하여 페이지 존재 여부 확인
- 제목, 저자, 초록 일부 추출
- 404 오류 시: INVALID(무효)로 표시
PubMed 검증
- URL 구성:
https://pubmed.ncbi.nlm.nih.gov/{pmid}/ - WebFetch를 사용하여 확인
- 제목, 저자, 저널 추출
- 404 오류 시: INVALID(무효)로 표시
ISBN 검증
- URL 구성:
https://openlibrary.org/isbn/{isbn}.json - WebFetch를 사용하여 확인
- 제목, 저자, 출판사 추출
- 404 오류 시: INVALID(무효)로 표시
URL 검증
- WebFetch를 사용하여 URL 접근
- HTTP 200 상태 및 학술 콘텐츠 표시기 확인
- 페이지에서 논문 제목, 저자, DOI 확인
- 접근 불가능 또는 비학술적일 경우: SUSPICIOUS(의심스러움)로 표시
저자-연도 검증 (신뢰도 가장 낮음)
- WebSearch를 사용하여
"{author}" "{year}" paper쿼리 - 결과에서 일치하는 논문 검색
- 발견 시: LIKELY VALID(대체로 유효)로 표시하고 출처 명시
- 미발견 시: UNVERIFIED(미확인)로 표시
4단계: 보고서 생성
구조화된 검증 보고서를 생성합니다:
# 인용 검증 보고서
**문서:** [파일명]
**날짜:** [날짜]
**발견된 총 인용 수:** [개수]
## 요약
- 유효: [개수]
- 무효: [개수]
- 의심스러움: [개수]
- 미확인: [개수]
## 상세 결과
### 유효 인용
| ID | 유형 | 제목 | 출처 |
|----|------|-------|--------|
| 10.1038/xxx | DOI | 논문 제목 | CrossRef |
### 무효 인용 (환각)
| ID | 유형 | 오류 | 제안 |
|----|------|-------|------------|
| 10.9999/fake | DOI | 404 Not Found | 제거하거나 올바른 DOI 찾기 |
### 의심스러운 인용
| ID | 유형 | 문제 | 권장 사항 |
|----|------|-------|----------------|
| https://... | URL | 시간 초과 | 수동으로 확인 |
### 미확인 인용
| 인용 | 유형 | 참고 사항 |
|----------|------|-------|
| (Smith, 2023) | 저자-연도 | 검색에서 일치하는 논문을 찾을 수 없음 |
검증 상태 정의
- VALID(유효): 식별자가 실제 논문으로 확인되며 메타데이터가 일치함
- INVALID(무효): 식별자가 존재하지 않거나 404를 반환함 (환각일 가능성이 높음)
- SUSPICIOUS(의심스러움): 완전히 검증할 수 없음; 속도 제한, 유료화, 또는 일시적 접근 불가일 수 있음
- UNVERIFIED(미확인): 텍스트 기반 인용으로 확인할 수 없음 (보수적 접근)
모범 사례
- 유사한 요청 배치 처리: DOI 확인을 그룹화하여 API 호출 최소화
- 속도 제한 준수: 속도 제한에 도달할 경우 요청 사이에 지연 추가
- 상호 참조: URL에 DOI가 포함된 경우 DOI를 직접 검증
- 맥락 고려: 인용이 나타나는 위치 기록 (방법론 vs. 주장)
- 불확실성 보고: "확인된 무효"와 "확인할 수 없음"을 항상 구분
무효 인용에 대한 출력 제안
각 무효 인용에 대해 실행 가능한 제안을 제공합니다:
- DOI 형식 오류: "DOI 형식이 잘못되었습니다. 오타나 추가 문자를 확인하세요."
- 존재하지 않는 DOI: "논문을 찾을 수 없습니다. 이는 환각일 수 있습니다. 실제 논문 제목을 검색하세요."
- 죽은 URL: "URL이 404를 반환합니다. Google Scholar에서 논문 제목을 검색해 보세요."
- 의심스러운 저널: "출판사가 인식되지 않습니다. 합법적인 출처인지 확인하세요."
- 저자-연도 미발견: "확인할 수 없습니다. 확인을 위해 DOI 또는 URL을 추가하세요."
예시 검증 세션
사용자 요청: "my-paper.md 파일의 인용을 검증해 주세요."
예상 동작:
- my-paper.md 파일 읽기
- 모든 DOI, URL, arXiv ID 등 추출
- 보고: "15개의 인용 발견: 8개의 DOI, 5개의 URL, 2개의 arXiv ID"
- 적절한 API/페치를 사용하여 각 식별자 검증
- 다음을 표시하는 보고서 생성:
- 메타데이터가 포함된 10개의 유효 인용
- 3개의 무효 인용 (404 오류) - 환각으로 표시됨
- 2개의 의심스러운 인용 (시간 초과) - 수동 확인 필요
- 무효 인용에 대한 수정 제안 제공
한계
- 속도 제한: CrossRef 및 기타 API는 요청 속도를 제한할 수 있음
- 유료화된 콘텐츠: 유료화된 전체 콘텐츠는 확인할 수 없음
- 새로운 논문: 최신 논문은 아직 색인되지 않을 수 있음
- 저자-연도 인용: 추가 식별자 없이는 신뢰도가 낮음
- 비영어 출처: 비영어권 인용 형식에 대한 지원이 제한적임
- 개인/기관 URL: 인증이 필요한 콘텐츠에는 접근할 수 없음
관련 스킬
- literature-review: 체계적인 문헌 검색 수행용
- scientific-reviewer: 과학 문서 품질 검토용
- scientific-writing: 올바른 인용과 함께 작성용