im-not-ai README

The project's README from github.com/epoko77-ai/im-not-ai. As one markdown file: README.md.

im-not-ai — 한글 AI 티 제거기

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 자동 감지 → 전역 심링크

왜 한글 특화인가

영어권 humanizer(QuillBot · Hix · Undetectable 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 콜 수 언제 파이프라인
light 1 잘 쓴 글 — 어휘 티가 거의 0 진단·finalize 생략, 보수 강도 단일 윤문. 손댈 게 거의 없으면 "이미 좋습니다"로 조기 종료
standard 2 보통의 AI 초안 — 어휘·구조 티 섞임 진단 1콜 + 겨냥 윤문 1콜. 1만자급도 청킹 없이 단일 윤문 콜
heavy 3+ 중증 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) — 모든 경로 공통

에이전트 구성

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

에이전트 경로 역할
humanize-monolith 전 경로 공용 단일 호출 윤문 (탐지·윤문·자체검증 일괄, 도구 호출 3회 캡)
humanize-diagnostician standard·heavy 글 전체의 지배 패턴 3~6개 진단, taxonomy ID + 처방
humanize-finalizer heavy 원문 직접 대조로 의미 보존 15항 + 자연성 판정, 국소 보정
korean-ai-tell-taxonomist 별도 명령 분류 체계(SSOT) 관리, 신규 패턴 심사 승격

이 외에 agents/에는 릴리스 회차 전용 개발 도구 5개(translationese-research-distiller · korean-translation-scholar · taxonomy-gap-analyzer · post-editese-metric-engineer · quick-rules-integrator — v2.0 학술 흡수 작업용, 윤문 실행과 무관)가 함께 들어 있습니다.

옛 strict 5인 파이프라인의 ai-tell-detector · korean-style-rewriter · content-fidelity-auditor · naturalness-reviewer와 웹 확장 설계용 humanize-web-architect는 v2.1에서 은퇴했습니다(아래 v2.1 릴리스 노트 참조).

AI 티 분류 체계 (요약)

ID 대분류 대표 서브 패턴
A 번역투 "를 통해", "에 대해", "에 있어서", 이중 피동 "되어진다", "가지고 있다", "그/그녀" 강박적 사용 (A-16), 관계절 좌향 수식 (A-18), "에서의/에로의" 이중 조사 (A-19)
B 영어 인용·용어 과다 과도한 괄호 병기, 번역 가능한 영어 그대로
C 구조적 AI 패턴 기계적 "첫째/둘째/셋째", 과도한 불릿·헤딩·이모지, 연결어미 뒤 쉼표 (C-11)
D AI 특유 관용구 "결론적으로", "시사하는 바가 크다", "주목할 만하다", "혁신적인"
E 리듬 균일성 문장 길이 표준편차 낮음, 동일 종결어미 반복, 청자 경어법 일관성 손실 (E-7)
F 수식·중복 "매우", "정말", 동의어 이중 수식, "적/성/~화/-tion/-ment" 남발
G Hedging 남용 "~할 수 있을 것으로 보인다" 다중 완곡
H 접속사 남발 문두 "또한/따라서/즉/나아가" 연속
I 형식명사 과다 "것이다", "점", "수", "바", "~할 필요가 있다"
J 시각 장식 남용 과도한 볼드, "따옴표", 대시(—) 남발

전체 70 서브 패턴(+hold 1건)과 처방: ai-tell-taxonomy.md · rewriting-playbook.md · 학술 인용 외부 SSOT: scholarship.md (v2.0 신규)

심각도 & 품질 등급

심각도

품질 등급 (윤문 후)

사용법 — 5분이면 따라합니다

전역 설치(설치)를 마쳤다면 1~2단계(클론·폴더 진입)는 건너뛰고, 아무 폴더에서나 바로 3단계로 가세요. 아래는 설치 없이 리포에서 곧바로 체험하는 흐름입니다.

0. 전제

아래 1~4단계는 3경로 전체를 제공하는 Claude Code 기준입니다. GitHub Copilot CLI·Codex CLI·Gemini CLI의 단일 호출 경로는 아래 각 도구별 방법을 참고하세요. Mac · Windows · Linux 모두 지원합니다.

설치 확인:

claude --version

Claude Code는 터미널에서 Claude(Anthropic의 AI)와 대화하며 파일을 같이 편집하는 CLI입니다. 웹 버전 Claude.ai나 일반 ChatGPT에서는 이 저장소의 스킬이 자동 로드되지 않습니다.

1. 리포 받기

git clone https://github.com/epoko77-ai/im-not-ai.git
cd im-not-ai

2. Claude Code 켜기

claude

전역 설치를 했다면 아무 폴더에서나 켜도 /humanize-korean이 동작합니다(설치 참고). 설치 없이 체험만 하려면 방금 클론한 im-not-ai 폴더 안에서 실행하세요(프로젝트 로컬 스킬이 로드됩니다). 다른 위치에서 켜면 일반 Claude Code처럼 동작합니다.

3. AI가 쓴 한글 글 붙여넣고 부탁하기

Claude Code에서는 세 가지 방법 중 편한 쪽으로 사용합니다. GitHub Copilot CLI·Codex CLI 사용자는 아래 방법 D·E를 참고하세요.

방법 A — 자연어 한 문장 (가장 쉬움)

평소 말투 그대로 쓰면 됩니다:

이 AI 글 자연스럽게 윤문해줘:

[ChatGPT / Claude / Gemini 초안 여기에 붙여넣기]

아래 표현 중 아무거나 쓰면 스킬이 자동 발동합니다:

방법 B — 슬래시 커맨드 (v1.2~)

/humanize [윤문할 텍스트 또는 파일 경로]

옵션을 인자 끝에 자연어로 적을 수 있습니다: 장르: 칼럼, 강도: 적극, 최소심각도: S1. 결과가 마음에 안 들면 /humanize-redo "번역투만 다시" 같은 식으로 재실행. 두 진입점은 이제 스킬입니다: humanize · humanize-redo

방법 C — Plugin / 마켓플레이스 (공식)

본체가 이제 Claude Code Plugin/Marketplace를 공식 지원합니다. 클론 없이 마켓플레이스로 설치하세요:

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

스킬 3개 + 서브에이전트 9개가 함께 설치됩니다. 자세한 옵션·스크립트 설치는 설치 섹션과 INSTALL.md 참고. (초기 패키징을 탐색한 gaebalai/im-not-ai 포크도 있습니다.)

방법 D — GitHub Copilot CLI (공식, 단일 호출 경로)

GitHub Copilot CLI 1.0.79-5에서 마켓플레이스 설치와 스킬 탐색을 확인했습니다.

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

새 Copilot 세션에서 humanize-korean 스킬로 이 글을 자연스럽게 윤문해줘: 또는 이 글 AI 티 없애줘:처럼 요청합니다. /skills list에서도 스킬을 확인할 수 있습니다. 업데이트는 copilot plugin update humanize-korean@im-not-ai, 제거는 copilot plugin uninstall humanize-korean@im-not-ai을 사용하세요.

Copilot은 Codex와 같은 단일 호출 경로를 사용합니다. Claude Code 전용 route_hint 3경로 오케스트레이션과 진단·finalize 서브에이전트는 Copilot에서 실행되지 않습니다.

저장소 직접 설치 명령 copilot plugin install epoko77-ai/im-not-ai은 1.0.79-5에서 동작하지만 사용 중단 예정 경고가 표시되는 호환성 경로입니다.

방법 E — Codex CLI (공식, 단일 콜 경로)

본체가 이제 Codex CLI Skills를 공식 지원합니다. 리포 클론 후 한 줄이면 ~/.codex/skills/에 연결됩니다:

git clone https://github.com/epoko77-ai/im-not-ai.git && cd im-not-ai
./install.sh --codex-only

Codex에서 $humanize-korean으로 발동합니다(또는 /skills 메뉴). Codex는 단일 콜 경로만 제공하며, 다콜 경로(standard 2콜 · heavy 3+콜, 진단·finalize 포함)는 Claude Code 전용입니다. (Codex Desktop용 별도 어댑터로는 community 포트 Squirbie/im-not-ai-codex도 있습니다.)

방법 F — Web UI (비공식)

opencode 로 윤문하는 커뮤니티 제작 포트입니다.

커뮤니티 포트

공식 지원 런타임은 Claude Code · Codex · Gemini CLI 세 가지입니다. 저희가 라이브로 검증할 수 있는 범위를 넘어서면 "공식 지원" 을 표기하지 않는다는 정책이라, 그 밖의 런타임은 커뮤니티 포트로 안내합니다.

포트 런타임 제작
Squirbie/im-not-ai-codex Codex Desktop 어댑터 @Squirbie
im-not-ai-ocx opencode Web UI 커뮤니티

포트를 만드셨다면 Issue 로 알려주세요 — 확인 후 이 표에 추가합니다. 본체를 건드리지 않는 격리 설계와, 룰북 사본이 본진과 어긋나면 깨지는 드리프트 검사를 갖추는 것을 권장합니다(PR #61 이 좋은 참고입니다).

4. 결과 확인

정량 사전 채점이 산출한 route_hint에 따라 세 경로 중 하나로 처리합니다(사용자 명시가 오버라이드).

light (1콜 · 잘 쓴 글 · 1~2분) — 진단·finalize 없이 humanize-monolith 한 콜이 보수 강도로 윤문합니다. 손댈 게 거의 없으면 "이미 좋습니다"와 손댄 곳 요약으로 조기 종료합니다.

standard (2콜 · 보통의 AI 초안 · 2~5분) — 진단 1콜이 지배 패턴을 짚고, 겨냥 윤문 1콜이 처리합니다. 1만자급도 청킹 없이 단일 윤문 콜입니다.

산출물은 _workspace/{실행날짜-번호}/에:

파일 내용
01_input.txt 원문 그대로
00_metrics.json · 01_input_with_metrics.txt 정량 사전 점수 + route_hint + 점수 블록을 원문 앞에 붙인 결합 입력 (점수 계산 실패 시 standard로 자동 진행)
02_diagnosis.md (standard·heavy) 지배 패턴 3~6개 진단 (taxonomy ID · 근거 · 처방 · 장르/격식)
final.md 윤문본 + 본문 끝 <!-- HUMANIZE-SUMMARY --> 주석 블록(메트릭·카테고리 탐지 before/after·자체검증 6항·등급·주요 변경 하이라이트). HTML 주석이라 마크다운 뷰어·웹 게시·복사 시 본문에만 노출

heavy (3+콜 · 중증 슬롭·초장문·증적 필요 · --strict로 강제 가능 · 5~8분) — 진단 → 윤문(shim이 청크를 2개 이상 만든 경우에만 청크 병렬) → finalize. 위 산출물에 더해:

파일 내용
final_pre_finalize.md finalize 보정 전 윤문본 백업
09_finalize.json 의미 보존 15항 + 자연성 판정 결과

부분 재실행("이 카테고리만 다시"·"2차 윤문")은 heavy 경로로 자동 전환됩니다.

5. 결과가 맘에 안 들면

그대로 말씀하시면 됩니다. 재실행·수정 명령을 따로 외울 필요 없습니다:

6. 다른 글로 또 돌리고 싶을 때

Claude Code 세션 안에서 새 글을 붙여넣고 똑같이 부탁하면 됩니다. 실행마다 새 _workspace/{날짜-번호}/ 폴더가 만들어져 이전 결과와 섞이지 않습니다.

Do-NOT List (탐지·윤문 대상 제외)

웹 서비스 확장 (옵션)

웹 버전은 별도 코드베이스로 운영 중입니다. 본 리포의 설계 문서 web-service-spec.md는 산출물로 보존합니다 (설계 담당이던 humanize-web-architect 에이전트는 v2.1에서 은퇴).

외부 티어다운 대응 — Pebblous (2026-08)

데이터 품질 기업 Pebblous가 본 프로젝트의 공개 코드를 분해 리뷰했습니다(기술 블로그, 2026-08-20). 인용 변조·수치 누락 포착과 과윤문 차단이 정상 동작함을 확인해 준 한편, 재현 가능한 반례 하나를 제시했습니다: 2020년(pre-ChatGPT) 사람 에세이가 위험도 6/6 최고 판정 — 필자의 개인 쉼표 습관(연결어미 뒤 쉼표율 83.3%)이 C-11 단일 계열의 z-점수를 폭주시킨 오판이었습니다.

지적을 재현·확장 검증한 결과, 1편짜리 반례가 아니라 시스템 결함이었습니다. 클린 사람 코퍼스 532편(칼럼 11·위키 설명문 521) 실측:

판정기 사람 글 high 오판 medium low
수정 전 285편 (53.6%) 171 76
계열 상한 + 독립 2계열 요건 (#119) 0 4 528
+ column·report 장르 셀 (#121) 0 0 532 (100%)

3단계로 반영했습니다 (지적 접수 → 반영 완료까지의 기록은 각 PR 참조):

  1. 오탐 방지 원칙 (#110) — 단일 지표 비증거·단독 판정 금지·개인 편차 캐비엇·판정 3인+ICC를 분류 체계�

im-not-ai (epoko77-ai/im-not-ai)

Searching Database…

Что это такое?Это Claude Skill, который переписывает корейский текст, написанный ИИ (ChatGPT, Claude, Gemini), так, чтобы он читался как написанный человеком: убирает переводной стиль, механические параллельные конструкции и другие «признаки ИИ», не меняя при этом самого содержания.
Это отдельное приложение или то, что работает внутри другого инструмента?Это CLI-навык и плагин для ИИ-агентов, которые помогают с программированием, а не отдельное приложение. Он состоит из субагентов Claude Code и скрипта на Python для оценки текста и запускается изнутри Claude Code, Copilot CLI, Codex CLI или Gemini CLI.
Как его установить и запустить?Установите его как плагин Claude Code из маркетплейса, клонировать репозиторий для этого не нужно. Или клонируйте репозиторий и запустите скрипт установки с флагом --claude-only или --codex-only, чтобы подключить его к нужному вам CLI.
Что нужно иметь до начала работы: Claude Code или что-то другое?Нужно уже установить один из поддерживаемых ИИ-CLI для программирования: Claude Code, GitHub Copilot CLI, OpenAI Codex CLI или Gemini CLI. В Claude.ai или обычном ChatGPT он не работает.
Одинаково ли он работает во всех поддерживаемых инструментах?Нет. Copilot CLI и Codex CLI получают только путь переписывания в один вызов модели. Многошаговый конвейер «стандартный/тяжёлый» с отдельными этапами диагностики и финальной доработки доступен только в Claude Code.
Он работает и на Windows, и на Linux или только на Mac?Работает на всех трёх системах. Он запускается через CLI-агенты в терминале, а не как отдельное приложение, поэтому поддерживаются Mac, Windows и Linux.
Какие признаки «текста от ИИ» он действительно находит?Он делит корейский текст, похожий на написанный ИИ, на 10 категорий: переводной стиль, избыточное цитирование английских слов, механическая структура, шаблонные фразы ИИ, однообразный ритм, лишние уточняющие слова, смягчающие оговорки, избыток союзов, избыток канцелярских существительных и визуальное оформление. Эти категории охватывают более 70 подвидов, которые оцениваются по степени серьёзности (S1-S3).
Как он решает, сколько правок вносить?Скрипт оценки сначала оценивает входной текст и направляет его в один из трёх конвейеров: лёгкий (1 вызов модели), стандартный (2 вызова) или тяжёлый (3 и более вызовов). Поэтому уже чистый текст получает быструю и недорогую обработку вместо полного цикла «диагностика, переписывание, финальная доработка».
Что он не трогает ни при каких условиях?Он действует по списку «Не трогать»: числа, даты, имена собственные, прямые цитаты в двойных кавычках и юридические или нормативные тексты остаются без изменений. Он переписывает только стиль и ритм и никогда не меняет факты или слова внутри кавычек.
Его точность кто-нибудь независимо проверял?Да, это сделал внешний рецензент (Pebblous). Он обнаружил, что инструмент ошибочно помечал как рискованные тексты ИИ эссе людей, написанные до появления ChatGPT, из-за привычки одного автора к запятым. Команда дважды исправила логику оценки и снизила долю ложных срабатываний на корпусе из 532 эссе, написанных людьми, с 53.6% до 0%.
Creator
epoko77-ai
Size
1.3 MB
Stars
6K
Age
5mo
Commits · 90 Days