# Detect

> 한글 텍스트가 AI(ChatGPT·Claude·Gemini 등 LLM)가 쓴 글인지 진단·판별한다. 번역투·상투어·접속사 남발·쉼표 과용·POS 다양성 저하·형식명사 남용 등 AI 티 신호를 스캔해 'AI 가능성(높음/중간/낮음)'과 신뢰도, 근거를 제시한다. 글을 고치지 않고 진단만 한다. 다음과 같을 때 사용 — "이 글 AI가 쓴 거야?", "AI가 작성했는지 판별", "GPT가 쓴 글인지", "AI 탐지", "AI 티 진단", "AI 점수", "사람이 쓴 글 맞아?", "AI 검출", "AI 글 판별", "이 댓글/SNS 글 AI야?". 단문·댓글·SNS도 판별한다. 글을 사람처럼 다듬는 윤문(고쳐쓰기)이 목적이면 humanize 스킬을 쓴다. 표절·부정행위 단정의 근거로 쓰지 말 것 — 확률적 추…

- **Type:** Skill
- **Install:** `agentstack add skill-amondnet-yoonmoon-detect`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [amondnet](https://agentstack.voostack.com/s/amondnet)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [amondnet](https://github.com/amondnet)
- **Source:** https://github.com/amondnet/yoonmoon/tree/main/skills/detect

## Install

```sh
agentstack add skill-amondnet-yoonmoon-detect
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 윤문 탐지(detect) — AI 한글 글 판별

한글 텍스트가 LLM이 쓴 것인지 **진단**한다. 윤문(humanize) 스킬이 *고쳐 쓰는* 도구라면, 이 스킬은
*판별·설명*하는 도구다. 같은 AI 티 분류를 쓰되, 고치지 않고 **AI 가능성·신뢰도·근거**만 보고한다.

필요할 때 아래 파일을 읽어 기준으로 삼는다.

- `references/lread-rubric.md` — 사람의 한국어 AI 글 판별 루브릭(LREAD, ACL 2025 후속). **Phase 1~2**의 판정 틀. fluency trap 경고 포함.
- `../humanize/references/ai-tell-taxonomy.md` — 10대 카테고리 AI 티 분류(탐지할 신호 목록). **Phase 1**에서 읽는다(같은 플러그인의 humanize 스킬 공유).
- `../humanize/references/katfishnet-research.md` — 정량 특징의 학술 근거(KatFishNet, ACL 2025). 가중치 판단 근거.
- `references/xdac-research.md` — **단문/SNS·댓글** AI 탐지 신호(XDAC, ACL 2025). 입력이 단문·구어체일 때만 **Phase 1-S**에서 읽는다.
  

1. 판별할 한글 텍스트를 확보한다(붙여넣기 또는 파일).
2. 첫 ~300자로 장르를 추정한다(칼럼/리포트/블로그/공식문서/시 등). 장르는 신뢰도 보정에 쓴다.
3. **단문/SNS 게이트** — 입력이 짧고 구어체(댓글·SNS·채팅·리뷰 등 비격식 단문)면 **단문 모드**를 켠다.
   켜지면 Phase 1-S(단문 신호축)를 추가 적용한다. 문어체(칼럼·리포트·공식문서)면 켜지 않는다 — 적용 시 위양성.

`ai-tell-taxonomy.md`의 10대 카테고리 패턴을 스캔하고, 각 탐지의 심각도(강/중/약)와 빈도를 센다.
더해 `katfishnet-research.md` 기반 **정량 신호**를 살핀다.

- **쉼표 과용** — 연결어미·접속부사 뒤 쉼표 빈도(한국어는 본래 쉼표가 드묾). _가장 강한 신호._
- **POS·구조 다양성 저하** — 종결어미·문장 구조·문두의 단조로운 반복.
- **의존명사·보조용언 정형 반복** — "할 수 있다 / 하는 것 / 것이다"의 기계적 반복.
- **균일한 리듬** — 비슷한 길이·구조의 문장 연속.
- **경동사·대동사 군더더기**(_약한 보조 신호_) — '명사+을 실시/수행/진행하다'(→'명사+하다') 같은 한자어 대동사 분리(카테고리 6 번역투). 격식·공문서체 사람 글에도 흔하므로 **단독 판단 금지**, 다른 신호와 겹칠 때만 가산(`` 참조).

이어 `references/lread-rubric.md`의 **LREAD 루브릭 3대 차원**으로 다시 본다. 핵심은
표면적 유창성에 속지 않고(`` 참조) 표현·내용 차원의 단서에 주목하는 것.

- **내용(Content)** — **창의성·발달적 비정형성**이 있는가. *부재*가 AI 단서, 존재가 사람 단서.
- **조직(Organization)** — 서–본–결 구조 완결성·템플릿 충실. **높을수록 오히려 AI 의심**(역설 신호).
- **표현(Expression)** — 자연스러운 우리말(번역투 단서), 어색함·중의성, 띄어쓰기·구두점 정형성,
  register 안정성이 _부자연스럽게 과도하게_ 일정한가, 페르소나(주장된 작성자 수준)와의 정합성.
  

**Phase 0에서 단문 모드일 때만 수행.** `references/xdac-research.md`를 읽어 단문/구어체 신호를 본다.
문어체 입력에는 적용하지 않는다.

- **반복문자 부재** — 구어 맥락인데 ㅋㅋ/ㅎㅎ/ㅠㅠ가 전무 → AI 단서(가장 강함).
- **포맷팅 부재** — 줄바꿈·이중공백이 거의 없음 → AI 단서.
- **격식·정형 과다·중립 어조** — 짧은 댓글인데 격식체·헤지 정형구("것 같다")·감정 중립.
- **길이 일관성** — 문장/댓글 길이 분산이 부자연스럽게 작음.
- **이모지·특수문자 획일성** — 유무가 아니라 표준·공통기호만 획일적으로 쓰는지(유무로 판단 금지).

**방향 주의:** 카테고리 8(시각 장식)은 문어체에서 _장식 과잉_=AI지만, 단문에서는 _포맷팅·반복문자 결핍_=AI로
**신호 방향이 반대**다. 단문 모드에서는 결핍 쪽을 본다. 개별 신호는 약하므로 **여러 축이 겹칠 때만** 가중한다.

신호를 합산해 **AI 가능성**과 **신뢰도**를 산정한다(`` 참조). 표면 유창성·구조 완결성을
사람 증거로 오인하지 않는다(``). 확정이 아니라 추정임을 유지한다.

``에 정의한 형식대로 사용자에게 반환한다.

**유창성 함정(fluency trap) — 가장 중요한 원칙.** 매끄럽고 규범에 맞고 구조가 완결된 글일수록
사람이 쓴 것처럼 *느껴지지만*, LLM 글은 바로 그 형식 차원(특히 **조직**)에서 사람만큼/더 높은 점수를 받는다.
LREAD 연구에서 사람이 직관만으로 판별하면 정확도 60%·일치도 κ −0.09(우연 수준)에 그쳤고, LLM을
사람으로 오판하는 false-negative가 많았다. 따라서:

- **표면 유창성·구조 완결성을 '사람' 증거로 쓰지 않는다.** 오히려 _지나친_ 정형성·완결성은 AI 의심 신호다.
- 판별의 무게는 **표현(번역투·과규범화·register)·내용(창의성·발달적 비정형성)·페르소나 충실도**에 둔다.
- 사람 글은 변이가 크다 — 국소적 창의성, 비정형 실현, (학생 글이라면) 발달 수준에 맞는 불규칙성. 이 *부재*가 단서다.
  

신호를 종합한 휴리스틱 추정이다. 정확한 알고리즘이 아니라 판단 기준이다.

| AI 가능성 | 기준                                                                                                                                                  |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **높음**  | 심각도 '강' 신호 여러 건 + 쉼표 과용·다양성 저하 등 정량 신호 다수 일치 + 번역투·과규범화가 보이는데 **창의성·비정형성은 거의 없음**(형식만 매끄러움) |
| **중간**  | 강 신호 1~2건 또는 중 신호가 여럿이나 정량 신호는 약함. 창의성·비정형성 단서가 일부 존재                                                              |
| **낮음**  | 뚜렷한 신호가 거의 없고, 국소적 창의성·자연스러운 변이·페르소나 정합성이 보임                                                                         |

> 형식 점수(유창성·구조 완결성)는 **그 자체로 사람 증거가 아니다**(``). "매끄러우니 사람"이라는 추론을 금한다.
>
> **단문 모드(Phase 1-S):** 포맷팅·반복문자 _결핍_·격식·중립 과다가 **여러 축 겹칠 때** AI 가능성↑. 단일 신호로 단정 금지(사람도 격식 댓글을 쓴다).

**신뢰도 보정** — 아래에 해당하면 신뢰도를 낮춘다:

- **짧은 텍스트**(대략 300자 미만) — 신호 표본이 부족.
- **이미 사람이 손본 글** — 편집된 LLM 텍스트는 신호가 옅어짐.
- **창작·시 장르** — 연구에서도 판별이 가장 어려웠던 영역(시 평균 정확도가 가장 낮음).
- **격식 보고·정형 문서** — 사람이 써도 정형성이 높아 _위양성_(사람 글을 AI로 오판) 위험.
- **장르 불일치** — LREAD 루브릭은 논증 에세이(초·중·고) 기준이므로 다른 장르엔 가중치를 조정해 적용.
  

1. **한 줄 판정** — `AI 가능성: {높음|중간|낮음} / 신뢰도: {높음|중간|낮음}`
2. **근거 요약** — 어떤 신호가 강하게 나왔는지 2~4줄.
3. **신호 표**

| 신호                                    | 정도          |
| --------------------------------------- | ------------- |
| 쉼표 과용(연결어미 뒤)                  | 강함          |
| 번역투(카테고리 1·2·6)                  | 보통          |
| POS·구조 다양성                         | 낮음(반복적)  |
| 창의성·비정형성                         | 거의 없음     |
| register 안정성                         | 과도하게 일정 |
| (형식 완결성은 사람 증거 아님 — 참고만) | 높음          |

단문 모드면 '포맷팅·반복문자 결핍', '격식·중립 과다' 행을 추가한다.

4. **의심 구간 하이라이트** — 특히 AI 티가 짙은 문장 2~5개를 이유와 함께.
5. (선택) "사람 글처럼 다듬으려면 **humanize** 스킬로 윤문할 수 있다" 안내.
   

**단정하지 말 것.**

- 이 판별은 **확률적 추정**이다. "AI가 썼다"고 단정하지 말고 "AI 티 신호가 강하다/약하다"로 표현한다.
- **유창성 함정**(``)을 기억한다 — 매끄럽다고 사람, 어설프다고 AI가 아니다.
- 사람도 번역투·상투어·쉼표 습관을 쓸 수 있다. **위양성**을 항상 경계한다.
- **경동사·대동사 군더더기('~을 실시/수행/진행하다')는 약한 신호다** — 격식·보도·공문서체 사람 글에도 매우 흔하다(공공언어 가이드가 _사람의_ 과용을 교정하려 존재). 학술 1차 근거도 없고 실무·규범 처방 기반이다. **단독으로 'AI'라 판정하지 말 것** — 다축이 겹칠 때만 가산.
- **단문/SNS 축(Phase 1-S)은 단문·구어체에만** 적용한다. 문어체에 "반복문자 없으니 AI"를 들이대면 위양성이다(장르 게이트 필수).
- **이모지 유무로 판단 금지** — 사람·AI 모두 이모지를 쓴다. 신호는 사용의 *획일성/표준화 정도*지 유무가 아니다.
- 표절·부정행위·학사 징계 등 **불이익 판정의 단독 근거로 쓰지 않는다**. 보조 참고 자료일 뿐이다.
- 탐지기를 속이기 위한 용도가 아니다(그건 윤문의 목적도 아니다).
  

- 글을 사람처럼 고쳐쓰기 → **humanize** 스킬(윤문)
- 맞춤법·오탈자 교정, 번역, 사실 검증(팩트체크)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [amondnet](https://github.com/amondnet)
- **Source:** [amondnet/yoonmoon](https://github.com/amondnet/yoonmoon)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-amondnet-yoonmoon-detect
- Seller: https://agentstack.voostack.com/s/amondnet
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
