im-not-strange-ai는 im-not-ai에서 영감을 받아 만든 한국어 문장 다듬기 플러그인입니다. AI(ChatGPT · Claude · Gemini 등)가 쓴 한글 글을 내용은 보존한 채 문체 · 리듬 · 표현만 자연스러운 한국어로 다듬습니다.
번역투, 과도한 영어 인용, 기계적 병렬 ("첫째 · 둘째 · 셋째"), "결론적으로 / 시사하는 바가 크다" 같은 AI 특유 관용구, 피동태 남용, 문두 접속사 남발, 이모지·불릿 남용 등 10대 카테고리 × 40+ 서브 패턴을 심각도(S1/S2/S3)로 분류해 스팬 단위로 탐지한 뒤, 윤문합니다.
현재는 v0.0 공개 초기 버전입니다. Claude Code와 Codex에서 marketplace source로 추가해 설치할 수 있도록 배포 메타데이터를 제공합니다. 이 방식은 self-hosted marketplace 배포입니다. Claude community/official marketplace나 Codex official Plugin Directory 등재는 별도 제출·검토 단계입니다.
im-not-ai가 보여준 AI 한국어 탐지 구조와 의미 보존 원칙을 바탕으로, 실제 글쓰기에서 자주 걸리는 문장 단위의 어색함을 더 작고 안전하게 고치도록 조정했습니다.
Sunny 7규칙은 발견한 표현을 무조건 지우는 치환표가 아니라 의심 → 역할 확인 → 필요할 때만 수정하는 보조 판단 기준입니다.
Claude Code와 OpenAI Codex CLI 양쪽을 지원합니다. 전체 가이드:
INSTALL.md
Claude Code — marketplace
claude plugin marketplace add itssosunny/im-not-strange-ai
claude plugin install im-not-strange-ai@im-not-strange-aiClaude Code 안에서는 같은 작업을 /plugin marketplace add itssosunny/im-not-strange-ai와 /plugin install im-not-strange-ai@im-not-strange-ai로 실행할 수 있습니다.
Codex CLI — marketplace
codex plugin marketplace add itssosunny/im-not-strange-ai --ref main
codex plugin add im-not-strange-ai@im-not-strange-aiClaude Code · Codex CLI — 클론 + 스크립트
git clone https://github.com/itssosunny/im-not-strange-ai.git
cd im-not-strange-ai
./install.sh # 설치된 claude/codex 자동 감지 → 전역 심링크- Claude:
/im-not-strange-ai· Codex:$im-not-strange-ai - 한쪽만:
./install.sh --claude-only/--codex-only· 제거:./uninstall.sh - 업데이트:
./update.sh— 새 버전 자동 감지 후git pull+ 재설치(--check는 감지만). 마켓플레이스 설치는/plugin update. - Codex는 Fast(단일 호출) 모드만 제공합니다. 정밀 strict 5인 파이프라인은 Claude Code 전용.
영어권 문장 다듬기 도구(QuillBot · Hix · Undetectable AI)는 한국어에 약합니다. 한글 AI 글의 티는 대부분 영어 번역투에서 나옵니다.
- "AI 기술을 통해 효율을 높일 수 있다" → "AI로 효율을 높인다"
- "이에 있어서 중요한 점은" → "여기서 중요한 건"
- "~에 의해 생성된" → "~가 만든"
- "결론적으로, 이는 시사하는 바가 크다" → (삭제)
이 하네스는 그 한글 고유 패턴을 SSOT로 정리하고, 탐지·윤문·내용 감사·자연스러움 검증을 분리된 에이전트로 수행합니다.
- 의미 불변 — 사실 · 주장 · 수치 · 고유명사 · 직접 인용은 100% 원문 보존.
- 근거 기반 — 탐지된 span에만 수술적 수정. 탐지 없는 구간은 건드리지 않음.
- 장르 유지 — 칼럼을 문학으로, 리포트를 에세이로 옮기지 않음.
- 과윤문 금지 — 변경률 30% 초과 시 경고, 50% 초과 시 강제 중단.
Fast 모드 (디폴트, 5,000자 이하)
입력 텍스트
↓
[im-not-strange-ai-monolith] ── 한 콜 안에서 탐지 → 윤문 → 자체검증 일괄
↓ (도구 호출 4~5회 캡, opus, ~3분)
final.md + summary.md
Strict 모드 (--strict 또는 8,000자+ 자동 승급)
입력 텍스트
↓
[ai-tell-detector] ── 탐지 (span · category · severity)
↓
[korean-style-rewriter] ── finding 기반 수술적 윤문
↓
[병렬 검증 팀]
├─ [content-fidelity-auditor] ── 13항 체크리스트로 의미 동등성 감사
└─ [naturalness-reviewer] ── 탐지 재실행으로 잔존·과윤문 판정
↓
[오케스트레이터 종합]
├─ accept → final.md + summary.md
├─ rewrite_round_2 → 2차 윤문 (최대 3회)
├─ rollback_and_rewrite → 문제 edit 롤백
└─ hold_and_report → 사람 검토 권고
| 에이전트 | 모드 | 역할 |
|---|---|---|
im-not-strange-ai-monolith |
Fast 디폴트 | 단일 호출 윤문 (탐지·윤문·자체검증 일괄, 도구 호출 4~5회 캡) |
ai-tell-detector |
Strict | span 단위 JSON 탐지 리포트 생성 |
korean-style-rewriter |
Strict | finding 기반 수술적 윤문, 변경률 모니터링 |
content-fidelity-auditor |
Strict | 의미 동등성 감사 (13항), 훼손 시 롤백 지시 |
naturalness-reviewer |
Strict | 잔존 AI 티 · 과윤문 · 자연도 판정, 품질 등급 A~D |
korean-ai-tell-taxonomist |
별도 명령 | 분류 체계(SSOT) 관리, 신규 패턴 심사 승격 |
im-not-strange-ai-web-architect |
옵션 | Next.js 15 + Vercel 웹 서비스 확장 설계 |
| 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 | 시각 장식 남용 | 과도한 볼드, "따옴표", 대시(—) 남발 |
전체 60+ 서브 패턴과 처방: ai-tell-taxonomy.md · rewriting-playbook.md · 학술 인용 외부 SSOT: scholarship.md
A~J가 AI 티 패턴을 잡는 본체라면, Sunny 7규칙은 문장 안의 작은 어색함을 마지막에 점검하는 보조 레이어입니다. 정식 기준은 quick-rules.md와 sunny-sentence-rules.md에 두고, README에는 요약만 둡니다.
| ID | 의심 표현 | 예시 | 왜 고치나 | 유지 조건 |
|---|---|---|---|---|
| SUNNY-1 | -적이 붙은 말 |
"전략적 중요성을 가지고 있다" → "전략상 중요하다" | 추상 명사가 겹치면 술어가 약해지고 글이 보고서 번역투처럼 흐려집니다. | 개념어·전문어·대조에 필요하면 유지 |
| SUNNY-2 | 조사 의 |
"서비스의 사용의 편의성" → "서비스 사용 편의성" | 의가 겹치면 관계가 선명해지는 게 아니라 명사 더미만 길어집니다. |
소유·출처·고정 용어면 유지 |
| SUNNY-3 | 접미사 들 |
"사용자들은 이 기능들을 자주 쓴다" → "사용자는 이 기능을 자주 쓴다" | 한국어는 문맥으로 복수가 드러나는 경우가 많아, 불필요한 들은 영어식 복수 표시처럼 보입니다. |
실제 복수·분포·강조가 필요하면 유지 |
| SUNNY-4 | 의존명사 것 |
"이 기능을 추가하는 것은 도움이 된다" → "이 기능을 추가하면 도움이 된다" | 것이 술어를 뒤로 밀면 문장이 한 박자 늦고 딱딱해집니다. |
실제 대상·인용된 생각·필요한 추상화면 유지 |
| SUNNY-5 | 있는/있다는 |
"문제를 해결할 수 있는 방법" → "문제를 해결할 방법" | 의미 없이 끼는 있는은 명사 앞 완충재가 되어 문장의 힘을 뺍니다. |
존재·소유·진행 상태가 핵심이면 유지 |
| SUNNY-6 | 사족 있었다 |
"어제 장애 발생이 있었다" → "어제 장애가 발생했다" | 사건을 명사로 만들고 있었다로 받으면 책임·동작·시간이 흐릿해집니다. |
과거 존재·위치·소유·상태를 말하면 유지 |
| SUNNY-7 | 어색한 있다 패턴 |
"사용자에게 있어 속도는 중요하다" → "사용자에게 속도는 중요하다" | 관계에 있다, ~에 있어 같은 표현은 쉬운 관계를 관료적 번역투로 만듭니다. |
고정·기술 표현이거나 존재 의미가 분명하면 유지 |
심각도
- S1 결정적: 한 번만 나와도 AI 확신. 무조건 제거.
- S2 강함: 1~2회 허용, 3회+ 반복 시 제거.
- S3 약함: 다른 패턴과 중첩될 때만 문제.
품질 등급 (윤문 후)
- A: S1 0건, S2 ≤2건, 점수 개선 70%+
- B: S1 0건, S2 ≤4건, 개선 50%+
- C: S1 1~2건 or 과윤문 시그널 2개 → 2차 윤문
- D: S1 3건+ or 심각한 과윤문 → 사람 검토
전역 설치(설치)를 마쳤다면 1~2단계(클론·폴더 진입)는 건너뛰고, 아무 폴더에서나 바로 3단계로 가세요. 아래는 설치 없이 리포에서 곧바로 체험하는 흐름입니다.
Claude Code가 설치돼 있어야 합니다. Mac · Windows · Linux 모두 지원합니다.
설치 확인:
claude --versionClaude Code는 터미널에서 Claude(Anthropic의 AI)와 대화하며 파일을 같이 편집하는 CLI입니다. 이 리포의 스킬·에이전트는 Claude Code에서만 작동합니다. (웹 버전 Claude.ai나 일반 ChatGPT에서는 안 됩니다.)
git clone https://github.com/itssosunny/im-not-strange-ai.git
cd im-not-strange-aiclaude전역 설치를 했다면 아무 폴더에서나 켜도
/im-not-strange-ai이 동작합니다(설치 참고). 설치 없이 체험만 하려면im-not-strange-ai폴더 안에서 실행하세요(프로젝트 로컬 스킬이 로드됩니다). 다른 위치에서 켜면 일반 Claude Code처럼 동작합니다.
Claude Code에서는 아래 방법 중 편한 쪽으로 사용합니다. Codex 사용자는 방법 D를 참고하세요.
방법 A — 자연어 한 문장 (가장 쉬움)
평소 말투 그대로 쓰면 됩니다:
이 AI 글 자연스럽게 윤문해줘:
[ChatGPT / Claude / Gemini 초안 여기에 붙여넣기]
아래 표현 중 아무거나 쓰면 스킬이 자동 발동합니다:
- "AI 티 없애줘"
- "GPT 문체 제거해줘"
- "사람이 쓴 것처럼 윤문해줘"
- "번역투 제거"
- "한글 AI 윤문"
방법 B — 슬래시 커맨드
/im-not-strange-ai-fast [윤문할 텍스트 또는 파일 경로]
옵션을 인자 끝에 자연어로 적을 수 있습니다: 장르: 칼럼, 강도: 적극, 최소심각도: S1. 결과가 마음에 안 들면 /im-not-strange-ai-redo "번역투만 다시" 같은 식으로 재실행. 두 진입점은 이제 스킬입니다: im-not-strange-ai-fast · im-not-strange-ai-redo
방법 C — Plugin / 마켓플레이스
Claude Code와 Codex CLI 모두 이 저장소를 marketplace source로 추가해 설치할 수 있습니다. 공식/커뮤니티 디렉터리 등재와는 별개로, 이 저장소를 직접 추가하는 self-hosted 배포 방식입니다.
claude plugin marketplace add itssosunny/im-not-strange-ai
claude plugin install im-not-strange-ai@im-not-strange-ai
codex plugin marketplace add itssosunny/im-not-strange-ai --ref main
codex plugin add im-not-strange-ai@im-not-strange-ai스킬 3개 + 서브에이전트 12개가 함께 설치됩니다. 자세한 옵션·스크립트 설치는 설치 섹션과 INSTALL.md 참고.
방법 D — Codex CLI (공식, Fast 모드)
본체가 이제 Codex CLI Skills를 공식 지원합니다. 리포 클론 후 한 줄이면 ~/.codex/skills/에 연결됩니다:
cd im-not-strange-ai
./install.sh --codex-onlyCodex에서 $im-not-strange-ai으로 발동합니다(또는 /skills 메뉴). Codex는 단일 호출 Fast 모드만 제공하며, 정밀 strict 5인 파이프라인은 Claude Code 전용입니다.
Claude Code가 입력 길이·옵션에 따라 두 모드 중 하나로 처리합니다.
Fast 모드 (디폴트, 5,000자 이하 · ~3분) — im-not-strange-ai-monolith 한 콜이 메모리 안에서 탐지·윤문·자체검증을 모두 끝냅니다. 산출물은 _workspace/{실행날짜-번호}/에 두 파일:
| 파일 | 내용 |
|---|---|
01_input.txt |
원문 그대로 |
final.md |
윤문본 + 본문 끝 <!-- IM_NOT_STRANGE_AI_SUMMARY --> 주석 블록(메트릭·카테고리 탐지 before/after·자체검증 6항·등급·주요 변경 하이라이트). HTML 주석이라 마크다운 뷰어·웹 게시·복사 시 본문에만 노출 |
Strict 모드 (--strict 또는 8,000자+ 자동 승급 · 더 정밀) — 5인 파이프라인이 단계별 산출물을 분리해 저장합니다:
| 파일 | 내용 |
|---|---|
01_input.txt |
원문 그대로 |
02_detection.json |
AI 티 탐지 리포트 (위치·종류·심각도) |
03_rewrite.md |
윤문본 |
04_fidelity_audit.json |
내용 훼손 감사 결과 |
05_naturalness_review.json |
자연도 재측정 결과 |
final.md + summary.md |
최종 윤문본 + 점수·주요 변경·등급 요약 |
부분 재실행("이 카테고리만 다시"·"2차 윤문")은 strict 모드로 자동 전환됩니다.
그대로 말씀하시면 됩니다. 재실행·수정 명령을 따로 외울 필요 없습니다:
- "이 문단만 다시 윤문해줘" — 해당 구간만 재시도
- "번역투만 더 손봐줘" (또는 "관용구만 다시") — 특정 카테고리만 재처리
- "윤문 강도 낮춰줘" — 보수적 윤문 (결정적 패턴만 제거)
- "원문 톤을 더 살려줘" — 변경률 상한을 낮춰 원문 유지
- "2차 윤문해줘" — 현재 결과를 한 번 더 다듬기
Claude Code 세션 안에서 새 글을 붙여넣고 똑같이 부탁하면 됩니다. 실행마다 새 _workspace/{날짜-번호}/ 폴더가 만들어져 이전 결과와 섞이지 않습니다.
- 수치 · 단위 · 날짜
- 고유명사 · 인명 · 제품명 · 모델명
- 큰따옴표 내부 직접 인용
- 법률 · 규정 조문
- 학술 개념어 (불가피한 경우)
im-not-strange-ai-web-architect 에이전트가 Next.js 15 App Router + Vercel Fluid Compute + AI Gateway 기반 웹앱 설계를 담당한다. UX는 4화면(입력 → 탐지 하이라이트 → 좌우 diff → 윤문본 복사). 상세: web-service-spec.md.
이 README는 현재 im-not-strange-ai의 동작 기준만 설명합니다. 참고했던 프로젝트의 상세 버전사는 여기 싣지 않습니다.
- AI 티 분류 본체: A~J 10대 카테고리로 번역투, 과도한 영어 인용, 구조적 AI 패턴, 관용구, 리듬, 수식, hedging, 접속사, 형식명사, 시각 장식을 탐지합니다.
- Sunny 7규칙:
-적,의,들,것,있는/있다는,있었다, 어색한있다패턴을 문장 단위로 점검합니다. 삭제 규칙이 아니라 역할 확인 절차입니다. - Fast 모드:
im-not-strange-ai-monolith가 탐지, 윤문, 자체검증을 한 번에 처리합니다. - Strict 모드: detector, rewriter, auditor, reviewer를 분리해 긴 글이나 민감한 글을 더 정밀하게 검토합니다.
- 검증 기준: 의미 불변, 근거 기반 수정, 장르 유지, 과윤문 금지를 통과해야 최종 결과로 인정합니다.
- MIT 라이선스 —
LICENSE참조. 코드·스킬·에이전트 정의·분류 체계 문서를 포함한 본 리포 전체에 적용됩니다. 외부 패키지 통합·fork·상용 활용 모두 허용되며, 저작권 표기와 라이선스 사본을 함께 배포하면 됩니다. im-not-strange-ai는im-not-ai기반 fork이므로 원 저작권(epoko77-ai)과 수정 저작권(itssosunny) 표기를 함께 보존합니다.- 외부 contribution(PR·Issue 등)은 GitHub 기본 inbound = outbound 원칙에 따라 동일한 MIT 라이선스로 contribution됩니다.
- 본 도구는 "AI 탐지기 우회(Undetectable AI)"가 아니라 한글 글쓰기 품질 개선을 목적으로 합니다.
- 학술 제출·저널리즘 진실성 보증 도구가 아닙니다.
- 분류 체계(
ai-tell-taxonomy.md)는 연구·교육·도구 통합 목적 자유 이용 가능합니다(MIT 범위 내).
새로운 AI 티 패턴이나 회귀 사례를 발견했다면 Issue로 보고해 주세요. 실증 사례 2건 이상(가능하면 서로 다른 모델·장르·작가)이 함께면 분류학자 에이전트가 본진(ai-tell-taxonomy.md) 반영 여부를 점검합니다.
다른 형태(외부 회귀 케이스 제공·슬래시 커맨드·Plugin 통합·다국어 확장 등)도 환영합니다. 기여자 명단은 CONTRIBUTORS.md를 참고해주세요.
전체 명단과 기여 내역은 CONTRIBUTORS.md에 보존합니다.
Built with Claude Code + https://github.com/revfactory/harness 하네스 아키텍처 기반 프로젝트.
