하네스 엔지니어링을 활용한 논문 작성 자동화 시스템 만들기
시도하고자 했던 것과 그 이유
AI 시대에 들어서면서 새로운 고민이 더해졌습니다. ChatGPT나 Claude에 그냥 "논문 써줘"라고 하면, 매끄럽지만 어딘가 텅 빈 문장이 쏟아져 나옵니다. 불릿 가득, 상투어 가득, 그러나 저자의 목소리는 없는 그런 글이요. AI 융합 학과 교수로서 학생들에게 "AI를 세컨드 브레인으로 활용하라"고 가르치면서, 정작 저는 AI가 만들어준 평이한 문장을 다시 손으로 고치는 데 더 많은 시간을 쓰고 있었습니다.
그래서 결심했습니다. 하네스 엔지니어링(Harness Engineering) 개념을 논문 작성에 도입해보자고요.
하네스 엔지니어링의 핵심 아이디어는 단순합니다. AI에게 "이렇게 써줘"라고 부탁하는 것은 제안(Suggestion)일 뿐, AI는 언제든 그 제안을 흘려보낼 수 있습니다. 진짜로 지키게 하려면 기계적 강제(Mechanical Enforcement) 장치가 필요합니다. 마치 자동차 안전벨트 같은 거죠. "벨트 매세요"라고 부탁하는 게 아니라, 매지 않으면 시동이 안 걸리게 만드는 겁니다.
논문 작성에 적용하면 이런 그림이 됩니다.
맥락 확인 게이트: AI가 곧바로 글을 쓰기 전에, 연구 주제·방법론·타깃 저널을 먼저 확인하도록 강제한다.
사실 검증 게이트: 인용한 문헌이 실제 존재하는지, DOI가 살아있는지 자동으로 점검한다.
문체 게이트: 불릿·상투어·평이한 균형 문장을 자동으로 차단한다.
참고문헌 게이트: 본문 인용과 참고문헌 목록을 3중 대조한다.
요컨대, AI가 대충 잘하는 척하는 것을 시스템 차원에서 막아보자는 시도였습니다.
진행 방법: 도구와 프롬프트 활용
사용한 도구 스택
도구
용도
비고
Claude Code (Max 구독)
메인 에이전트 실행 환경
CLAUDE.md로 하네스 규칙 적용
Claude Opus 4.7 (claude.ai)
논문 본문 집필
긴 문맥·학술 문체에 강점
Skills 시스템
4개 스킬 조합
harness-meta-system이 오케스트레이터
pdf-reading
선행연구 PDF 분석
DOI·페이지 자동 추출
docx / hwpx
최종 출력
학술지·KCI 양식 대응
핵심 구조: 4-Layer 하네스
직접 구축한 시스템은 4개 레이어로 구성했습니다.
Layer 1. 메타 오케스트레이터 (harness-meta-system)
모든 요청을 받아 어떤 하위 스킬을 호출할지 결정
4개 Hook 게이트를 모든 응답 전에 실행
Layer 2. 논문 집필 엔진 (academic-paper-writer)
IMRaD 구조 자동 설계
APA 7th / Vancouver / Chicago 등 5종 인용 스타일
Layer 3. 인간 문체 필터 (human-voice-academic-writer)
Hyland의 메타담화 이론 기반
헷지·부스터·태도표지·자기언급의 균형 배치
Layer 4. 참고문헌 검증기 (reference-verifier)
본문 인용 ↔ 참고문헌 목록 3중 대조
재인용·표절 위험 신호 탐지
메인 프롬프트 전문 (CLAUDE.md 발췌)
Claude Code 프로젝트 루트에 CLAUDE.md를 두고 다음과 같이 작성했습니다. 이것이 하네스의 "안전벨트"입니다.
markdown
# 📚 Academic Paper Harness Engineering System
# 논문 작성 자동화 하네스 시스템 v1.0
> 이 문서는 AI 에이전트에 대한 '제안'이 아닌 '강제 규율'이다.
> 4개 Hook 게이트를 통과하지 못한 응답은 출력되지 않는다.
## SECTION A: 페르소나 고정
너는 교육학·AI 융합 분야의 박사급 연구자이자
국제 저널 심사위원 경력 10년의 학술 편집자다.
모든 응답은 다음 정체성에서 출발한다:
- 인용은 실제 존재하는 문헌만 사용한다 (할루시네이션 금지)
- 저자의 stance(입장)를 분명히 드러낸다
- 불릿·과도한 구조화·상투어를 피한다
- 한국어 학술 문체는 "~로 보인다 / ~할 가능성이 있다"
같은 헷지 표현을 적극 활용한다
## SECTION B: Hook 게이트 (자동 검증 시스템)
### Hook 1: 맥락 확인 게이트
응답 생성 전 반드시:
1. 연구 주제·연구 문제·타깃 저널을 확인했는가?
2. 연구 방법론(양적/질적/혼합)이 명확한가?
3. 인용 스타일(APA 7th 등)이 지정되었는가?
→ 하나라도 누락이면 사용자에게 확인 질문을 던진다.
### Hook 2: 사실 검증 게이트
모든 인용에서:
- 저자명·연도·저널명·페이지를 명시한다
- DOI 또는 검증 가능한 URL을 함께 제시한다
- 확인 불가능한 문헌은 "[확인 필요]" 태그를 단다
- 절대로 그럴듯한 가짜 인용을 만들지 않는다
### Hook 3: 문체 게이트 (Human Voice)
다음을 자동 차단한다:
- 3개 이상의 연속 불릿 (산문으로 풀어쓴다)
- "또한, 따라서, 결론적으로" 같은 상투적 연결어
- 모든 문장의 길이가 비슷한 평이한 리듬
- 저자 관점이 없는 "균형 잡힌" 묘사
대신 다음을 적극 배치한다:
- 헷지(Hedges): ~로 보인다, ~할 가능성이 있다
- 부스터(Boosters): 분명히, 명백히, 결정적으로
- 태도표지(Attitude Markers): 흥미롭게도, 놀랍게도
- 자기언급(Self-mention): 본 연구에서는, 연구자는
### Hook 4: 참고문헌 게이트
논문 출력 직전 자동 실행:
1. 본문에 등장한 모든 (저자, 연도) 추출
2. 참고문헌 목록과 1:1 대조
3. 누락·중복·형식 오류를 표 형태로 보고
4. 통과 시에만 최종 .docx 출력 허용
## SECTION C: 라우터
요청 유형 → 호출 스킬 매핑:
| 요청 | 호출 스킬 |
|------|----------|
| 새 논문 집필 | academic-paper-writer |
| 문체 다듬기 | human-voice-academic-writer |
| 인용 검증 | reference-verifier |
| 한글(.hwpx) 출력 | hwpx |
| Word(.docx) 출력 | docx |
## SECTION D: 집필 순서 (강제)
논문은 반드시 다음 순서로 집필한다:
1. Methods (방법론) — 가장 객관적, AI가 잘 못 만드는 부분
2. Results (결과) — 데이터 기반
3. Introduction (서론) — 결과를 본 후 거꾸로 설계
4. Discussion (논의) — 저자 voice가 가장 중요
5. Conclusion (결론) — 한계와 후속 연구 명시
6. Abstract (초록) — 가장 마지막실제 호출 프롬프트 (예시)
위 CLAUDE.md가 깔린 상태에서, 실제로는 이렇게 짧게 요청합니다.
text
하네스 모드로 진행해줘.
[연구 정보]
- 주제: 청소년지도자의 AI 리터러시 역량 측정도구 개발
- 방법론: 혼합연구 (델파이 + 탐색적 요인분석)
- 타깃 저널: 청소년학연구 (KCI 등재)
- 인용 스타일: APA 7th
- 최종 출력: 한글(.hwpx)
먼저 Hook 1(맥락 확인 게이트)부터 실행하고,
누락된 정보가 있으면 질문해줘.이렇게 한 줄짜리 요청만 보내도, 하네스가 자동으로 4개 게이트를 순차 실행합니다.
시스템 구조도
한국어의 구조를 보여주는 다이어그램
결과와 배운 점: 시행착오와 개선
가장 컸던 배움
첫 번째, "프롬프트 잘 쓰기"보다 "