Reve AI
Skill개발무료

im-not-ai

AI가 쓴 한글을 사람 글처럼 윤문하는 Claude 스킬 — Korean AI-text humanizer: detects and rewrites translationese, mechanical parallelism, and 71 other AI tells

5.3k

Humanize KR — 한글 AI 티 제거기 v2.3.2

English: README.en.md

AI(ChatGPT · Claude · Gemini 등)가 쓴 한글 글을 내용은 한 글자도 건드리지 않고 문체 · 리듬 · 표현만 자연스러운 한국어로 되돌리는 CLI 스킬입니다.

번역투, 과도한 영어 인용, 기계적 병렬 ("첫째 · 둘째 · 셋째"), "결론적으로 / 시사하는 바가 크다" 같은 AI 특유 관용구, 피동태 남용, 문두 접속사 남발, 이모지·불릿 남용 등 10대 카테고리 × 70 서브 패턴(+검증 대기 hold 1건)을 심각도(S1/S2/S3)로 분류해 스팬 단위로 탐지한 뒤, 윤문합니다.

설치 (Install)

Claude Code, GitHub Copilot CLI, OpenAI Codex CLI, Gemini CLI를 지원합니다. 전체 가이드: INSTALL.md

GitHub Copilot CLI — 플러그인 마켓플레이스 (클론 불필요, 권장)

copilot plugin marketplace add epoko77-ai/im-not-ai
copilot plugin install humanize-korean@im-not-ai
copilot plugin list

Copilot에서 humanize-korean 스킬로 이 글의 AI 티를 없애줘:처럼 요청하거나 /skills list로 로드 여부를 확인하세요. 업데이트는 copilot plugin update humanize-korean@im-not-ai, 제거는 copilot plugin uninstall humanize-korean@im-not-ai입니다. Copilot은 단일 호출 경로만 제공하며 Claude Code 전용 진단·finalize 다중 호출 경로는 실행하지 않습니다.

호환성 참고: 1.0.79-5에서는 copilot plugin install epoko77-ai/im-not-ai도 동작하지만, CLI가 저장소 직접 설치의 사용 중단 예정 경고를 표시합니다. 신규 설치 경로로는 권장하지 않습니다.

Claude Code — 플러그인 마켓플레이스 (클론 불필요, 권장)

/plugin marketplace add epoko77-ai/im-not-ai
/plugin install humanize-korean@im-not-ai

새 세션에서 /humanize-korean (또는 자연어로 "이 글 AI 티 없애줘").

Claude Code · Codex CLI — 클론 + 스크립트

git clone https://github.com/epoko77-ai/im-not-ai.git
cd im-not-ai
./install.sh            # 설치된 claude/codex 자동 감지 → 전역 심링크
  • Claude: /humanize-korean · Codex: $humanize-korean
  • 한쪽만: ./install.sh --claude-only / --codex-only · 제거: ./uninstall.sh
  • 업데이트: ./update.sh — 새 버전 자동 감지 후 git pull + 재설치(--check는 감지만). 마켓플레이스 설치는 /plugin update.
  • Codex는 단일 콜 경로만 제공합니다. 다콜 경로(standard 2콜 · heavy 3+콜, 진단·finalize 포함)는 Claude Code 전용.

왜 한글 특화인가

영어권 humanizer(QuillBot · Hix · Undetectable AI)는 한국어에 약합니다. 한글 AI 글의 티는 대부분 영어 번역투에서 나옵니다.

  • "AI 기술을 통해 효율을 높일 수 있다" → "AI로 효율을 높인다"
  • "이에 있어서 중요한 점은" → "여기서 중요한 건"
  • "~에 의해 생성된" → "~가 만든"
  • "결론적으로, 이는 시사하는 바가 크다" → (삭제)

이 도구는 그 한글 고유 패턴을 SSOT로 정리하고, 글의 상태에 맞는 세 경로(light 1콜 / standard 2콜 / heavy 3+콜) 중 하나로 윤문합니다. 잘 쓴 글일수록 콜 수가 줄어 빠르고 싸게 끝납니다.

4대 철칙

  1. 의미 불변 — 사실 · 주장 · 수치 · 고유명사 · 직접 인용은 100% 원문 보존.
  2. 근거 기반 — 탐지된 span에만 수술적 수정. 탐지 없는 구간은 건드리지 않음.
  3. 장르 유지 — 칼럼을 문학으로, 리포트를 에세이로 옮기지 않음.
  4. 과윤문 금지 — 변경률 30% 초과 시 경고, 50% 초과 시 강제 중단.

아키텍처 (v2.2) — route_hint 3경로

입력을 shim(prepare_monolith_input.py)이 먼저 정량 채점하고, 그 점수로 route_hint(light | standard | heavy) 를 결정적으로 산출합니다. 글의 상태가 경로를 정하고, 경로가 콜 수를 정합니다. 절감은 모델 교체가 아니라 콜 수 축소에서 옵니다(모델 선택은 사용자 몫).

경로LLM 콜 수언제파이프라인
light1잘 쓴 글 — 어휘 티가 거의 0진단·finalize 생략, 보수 강도 단일 윤문. 손댈 게 거의 없으면 "이미 좋습니다"로 조기 종료
standard2보통의 AI 초안 — 어휘·구조 티 섞임진단 1콜 + 겨냥 윤문 1콜. 1만자급도 청킹 없이 단일 윤문 콜
heavy3+중증 AI 슬롭 밀집 or 초장문(15,000자 초과) or 검증 증적 필요진단 → 윤문(shim이 청크를 2개 이상 만든 경우에만 청크 병렬) → finalize
입력 텍스트
    ↓
[prepare_monolith_input.py]  ── 정량 사전 점수 (KatFish·post-editese 지표) + route_hint 산출
    ↓                            실패 시 점수 없이 standard로 자동 진행 (graceful degrade)
    ├─ light ────→ [humanize-monolith ×1] ────────────────────────────→ final.md
    ├─ standard ─→ [humanize-diagnostician] → [monolith 겨냥 윤문] ───→ final.md
    └─ heavy ────→ [diagnostician] → [monolith(필요시 청크 병렬)] → [humanize-finalizer]
    ↓
[verify_change_rate.py]      ── 변경률 게이트 (결정적 코드 판정, exit code) — 모든 경로 공통
  • 사용자 명시가 route_hint를 오버라이드합니다: --strict·"정밀 모드" → heavy 고정, "가볍게" → light 고정.
  • 단일 콜 우선: 청킹은 heavy 전용이며 15,000자 이하는 비권장. 실측으로 1만자 글을 청킹 7콜로 돌리면 610K 토큰, 단일 콜이면 134K(4.5배 절감, 품질 동등)였습니다 — 청크마다 룰북·진단을 재로드하는 비용이 절감분을 다 먹기 때문입니다.
  • 이번 개선의 핵심 가치: 잘 쓴 글은 1콜로 싸게 끝납니다. 어휘 티 없는 글에 최중량 파이프라인을 돌리던 낭비를 route_hint가 차단합니다.

에이전트 구성

윤문 실행에 쓰이는 에이전트는 아래 4개입니다.


GitHub에서 전체 내용 보기