Community라이팅 & 에디팅github.com

docsor1212/paper-polisher

AI 자기 평가 및 교정 가이드: 문장 수준 재작성 제안 (찾아내고 조언하지만 자동 수정은 안 함), 용어 및 일관성 검사, 번역투 감지, 문단 귀속, 학술지 사전 점검, 스타일 규범 검사, 품질 보고서, AIGC 레이블 검사, `--batch DIR` 및 HTML 요약 지원. .docx 파일을 직접 읽습니다.

paper-polisher란 무엇인가요?

Paper Polisher Pro는 100% 로컬에서 실행되는 AI 작성 탐지 및 학술 글쓰기 교정 도구입니다. 중국어 학술 텍스트의 AI 사용률 자가 점검, 문장 수준 재작성 제안, 용어 표준화, 번역투 감지, 품질 보고서, AIGC 규정 준수 레이블 검사, 문단 귀속, 학술지 사전 점검 등 다양한 기능을 제공합니다. 핵심은 저자가 자신의 글을 개선하도록 돕는 것이며, AI 생성 콘텐츠를 숨기거나 기관의 탐지를 회피하는 데 사용해서는 안 됩니다. v3.0 규칙+스펙트럼 엔진(기본 패키지)은 AUROC 0.9187의 성능을 보이며, 선택적 감독 모델(로컬 ONNX)을 추가하면 AUROC 0.9998까지 향상됩니다. 모든 처리는 사용자 기기에서 이루어지며 데이터 업로드나 네트워크 호출이 전혀 없습니다. 또한 100자 미만의 짧은 텍스트는 판정을 내리지 않는 등 잘 정의된 한계를 가지고 있어 신뢰할 수 있는 자기 검토 도구입니다.

지원 대상✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/docsor1212/paper-polisher-pro/tree/HEAD

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Paper Polisher Pro

AI 작성 탐지 (저자용 AI율 자가 점검) · 학술 교정 가이드 · 용어 표준화 · 번역투 감지 · 품질 보고서 · AIGC 규정 준수 레이블 검사 · 문단 수준 귀속 · 학술지 사전 점검. 100% 로컬, 업로드 제로, 자격 증명 제로, 순수 표준 라이브러리 (선택적 onnxruntime 향상 레이어).

⛔ 철칙

  1. 재현 가능한 수치만. 모든 지표는 eval/run_eval.py의 유보(테스트 분할) 평가에서 비롯됩니다. "100% 탐지율 / F1 98.3%"와 같은 지원되지 않는 주장은 이전 문서에서 제거되었습니다.
  2. 짧은 텍스트에 대한 판정 없음. 100자 미만 텍스트는 risk=unknown을 받습니다. (커뮤니티 교훈: 짧은 텍스트의 거짓 양성은 통제 불가능합니다.)
  3. 지문은 귀속할 뿐, 점수를 매기지 않습니다. (2026-08-15 측정: 탐지기에 지문을 주입하면 사람 거짓 양성이 두 배로 늘어났습니다.)
  4. 교정/평가 분리. 스펙트럼, 가중치 및 임계값은 교정 절반에만 구축됩니다. 테스트 절반은 최종 평가를 위해 예약됩니다. (분할 전 샘플 내 AUROC 0.9972가 분할 후 실제 0.9187로 붕괴되었습니다.)

TL;DR

  • 정의: 100% 로컬 AI율 자가 점검 + 중국어 학술 텍스트용 학술 교정 도구 키트 (최고 정확도를 위한 선택적 지도 모델 포함, 영어는 조언적 규칙 전용 점수 획득).
  • 30초 시작: python3 scripts/pp.py quickstart (모델 제로, 파일 제로 데모) · python3 scripts/pp.py detect draft.txt --format json · 문장 수준 재작성 제안: python3 scripts/pp.py fix draft.txt · 전체 자가 점검 보고서: python3 scripts/pp.py workflow draft.txt · 환경: python3 scripts/pp.py doctor (하나의 진입점이 모든 하위 명령어를 라우팅합니다.)
  • 측정 결과 (유보, 지문 바인딩 md5 2631df3d388b): 2026년 이전 AUROC 0.9998 / 현재 세대 0.9400; 인간 FPR@중간 2.3%.
  • 한계 인지: 100자 미만 텍스트는 설계상 risk=unknown을 받습니다. 저하 모드의 의학 텍스트는 과대 점수화됩니다. 인간+AI 혼합 문서: 문서 수준 점수는 신뢰할 수 없습니다 (문단 귀속이 실행 가능한 신호입니다). 저자 자가 점검 전용 — 기관 AI 탐지를 회피하기 위한 용도가 아닙니다.
  • 다음 참고 자료: 시나리오 방법은 references/best-practices.md에, 기능 경계 행렬은 아래에, 종단 간 예제는 § 빠른 시작에 있습니다. FAQ는 다섯 부분 (판정 → 모드 및 설치 → 출력 및 해석 → 안전성 및 검증 → 도구 및 워크플로)으로 그룹화되어 있으며, 필요한 그룹으로 바로 이동할 수 있습니다. 전체 이력은 CHANGELOG.md에 있습니다.

30초 작업 라우팅

원하는 작업실행심층 문서
초안의 AI율 확인pp.py detect draft.txt --format json§ 측정 성능 + 아래 경계 행렬
AI처럼 읽히는 문장 확인pp.py fix draft.txtpp_fix_suggest.py --help
재작성 전후 비교pp.py rewrite-check orig.txt rev.txtFAQ: 재작성 제안
PDF 번역 (레이아웃 유지)이 도구 아님 — doc-holmes 사용관련 도구
쓰기 규범 확인pp.py norm draft.txtFAQ: 스타일 규범
논문 전체 폴더 일괄 처리ai_detector.py --batch DIR --csv s.csv --report r.htmlFAQ: 배치 CSV
업로드 제로 주장 검증pp.py verify + pp.py test안전성 설명
학술지 사전 점검 (분야 맥락)ai_detector.py draft.txt --profile journal§ 학술지 사전 점검
환경 문제 해결pp.py doctor / pp.py freshness --statusFAQ: 모드
모든 결과의 시각적 대시보드pp.py html-report draft.workflow.json -o report.html스크립트 치트 시트: pp_report_html.py
재작성 라운드 간 초안 추적pp.py trend 轮次目录/ -o trend.html스크립트 치트 시트: pp_trend.py
적합한 명령어가 확실하지 않음pp.py recommend "이 부분의 AI율을 낮춰 주세요"pp.py recommend --help

가장 중요한 세 가지 한계 (전체 세부 사항은 아래 행렬 참조)

  1. 저하 모드에서 의학 등록 과대 점수화 — 규칙 전용 인간 FPR @중간 ≈59% 의학 대 ≈2% 일반; 의학 텍스트에서는 @높음 판정만 신뢰하거나 지도 모델을 설치하십시오.
  2. 인간+AI 혼합 문서 — 문서 수준 AUROC 0.52-0.54 (본질적인 평균화 한계); 자동 판정이 아닌 인간 검토 순위로 문단 귀속을 사용하십시오.
  3. 데이터 범위 — 용어 은행은 2,344개의 의학/학술 용어입니다 (비의학 텍스트는 설계상 낮게 표준화됨); 스타일 레이어는 학술 산문에 대해 교정됩니다 (구어체/서사 입력 = 조언 전용). 도구별 범위: 아래 하위 도구 행렬.

학술 진실성

이 도구는 저자가 자신의 글쓰기 품질을 스스로 검토하고 개선하는 용도입니다. — 더 명확한 문장, 일관된 용어, 자연스러운 스타일. 기관 AI 탐지 시스템을 회피하도록 설계되지 않았으며, AI 생성 작업을 인간이 쓴 것으로 허위 표시하는 데 사용해서는 안 됩니다. 소속 기관의 AI 사용 및 공개 정책을 따르십시오. 번들로 제공되는 aigc_label_check.py는 공개 및 라벨링 규칙(예: 중국 2025년 9월 라벨링 조치)을 준수하는 데 도움을 주기 위해 존재합니다. — AI 지원을 숨기기 위한 것이 아니라 적절히 선언하기 위한 것입니다. 모든 AI 위험 보고서(ai_detector.py / deai_gate.py)에는 이 효과에 대한 명시적인 integrity_notice가 포함되어 있습니다.

측정 성능 (C-ReD + DetectRL-ZH, 유보 테스트 절반, n=5,251)

말뭉치 범위 참고 (v4.8.0): 아래 v3.0 시대 표는 전체 유보 테스트 절반 (n=5,251)에서 측정되었습니다. 번들 샘플 말뭉치는 하위 집합입니다 — 테스트 절반은 n=1,304; 말뭉치별 재현 가능한 수치: 규칙 전용 (PP_NO_SUP) 0.8985 구세대 / 0.7149 현재 세대, 융합 0.9998 / 0.9400 (eval/results/v480_rules_*.json, v35ctl_*.json; 캐시 키는 모델 지문 AND 엔진 모드를 바인딩합니다.)

지표v2.0 기준v3.0 규칙+스펙트럼v3.1 +지도v3.4 지도 (버전 시대 기록, 현재는 아래 재측정 행 참조)
AUROC (테스트 절반)0.70460.91870.99971.0
TPR@FPR5%30.4%49.0%99.95%100%
TPR@FPR1%16.7%24.9%99.88%100%
인간 FPR @교정된 p99측정 안 됨측정 안 됨3.56% (30/844)0.71% (6/844)
의역/혼합 공격 AUROC0.640.891.0 (말뭉치 내)1.0
공격 "AI 지원" 재현율——71.1%86.6%
OOD 평범 서사/영화 재현율——1/65/6 지도 전용 · 6/6 로컬 융합

v4.4.0 지문 바인딩 재측정 (출하 지도 모델, md5 2631df3d388b): AUROC 0.9998 (테스트 절반, n_base=927), TPR@FPR1% 99.4%, 인간 FPR@중간 2.3% — eval/results/v35ctl_oldgen.json. 위 열은 버전 시대 기록으로 보존됩니다 (이전 모델 계통; v4.4.0 이전에는 바이너리가 지문 처리되지 않았습니다).

어떤 열이 귀하에게 적용됩니까? (구경 탐색: 현재 인용 가능한 기준선은 eval/results/CURRENT.md의 v35ctl_*입니다. 왼쪽 열은 버전 시대 기록입니다.) 기본 패키지는 v3.0 규칙+스펙트럼 엔진 (AUROC 0.9187 열, 전체 유보 말뭉치에서 측정됨, v4.4.0 이전 보관 기준선은 지문 바인딩 이전입니다 — v4.4.0 이후의 모든 평가 결과는 배포된 모델의 md5를 model_fp로 전달하며, 현재 바인딩된 수치는 eval/results/v35ctl_*.json에 있습니다.) 오른쪽 두 열은 선택적 로컬 지도 모델이 필요합니다 (아래 참조). 엔진은 사용자가 어떤 모드에 있는지 정직하게 알려줍니다. 모든 보고서는 지도 레이어가 없거나 건너뛰어졌을 때 degraded_mode / degraded_notice를 전달합니다.

기능 경계 행렬 (탐지기를 신뢰하기 전에 읽으십시오)

시나리오동작
중국어 학술 산문, 전체 스택최상의 경우 (AUROC 0.9998 유보, 인간 FPR@중간 2.3% — v4.4.0 지문 바인딩)
모델 없는 기본 패키지규칙+스펙트럼 (0.9187); 의학 등록 과대 점수화 (규칙 전용 인간 FPR @중간: ~59% 의학 대 ~2% 일반) → 의학 텍스트에서는 @높음 판정만 신뢰
영어 텍스트언어 게이팅이 중국어 학습 지도 레이어를 설계상 건너뜀; 규칙 전용 영어 골격, 조언 전용
인간+AI 혼합 문서문서 수준 AUROC 0.52-0.54 (본질적인 평균화 한계); 문단 수준 AUROC 0.69, 교정된 최적 운영 지점 P=0.60 (63% 범위) (references/para_thresholds.json) — 자동 판정 기준 미만; 인간 검토 전용으로만 pp_workflow.py/paragraph_report.py 순위 사용
편집 범위 회귀 헤드ρ=0.540 — 메타데이터로 보고되며 판정에 사용되지 않음
현재 세대 모델 (2026-09 샘플링)AUROC 0.9400 (v4.4.0 지문 바인딩 재측정, 443개 문서 현재 세대 평가 세트: K3/K2.7/Qwen3.7-3.8/DS-V4/V4.1/GLM-5.3/M3 포함 9개 계열) vs 2026년 이전 유보 0.9998 — 적당한 검증된 격차. 이전 0.6542-vs-0.9022 수치는 측정 인공물이었습니다 (오래된 점수 캐시 재생 + 검증되지 않은 모델 계통); v4.4.0 이후 두 클래스 모두 구조적으로 방지되었습니다 (모든 결과 JSON에 model_fp 포함)
구어체 / 구두 등록 텍스트스타일 레이어는 학술 산문에 대해 교정됨; 해당 등록 외에서는 스타일 점수를 조언 전용으로 취급

하위 도구 범위 행렬 (각 하위 도구의 교정된 영역)

하위 도구교정된 영역영역 외 동작
ai_detector / deai_gate중국어 학술 산문 (유보 교정)저하 모드에서 의학 등록 과대 점수화; 영어 조언 전용 규칙; 서사/구어체 입력은 등록 알림 수신
paragraph_report / pp_rewrite_check위와 동일 엔진 기준, 문단별동일한 한계; rewrite_check는 동일한 기준으로 두 초안 비교
pp_fix_suggest중국어 AI 글쓰기 패턴 라이브러리 (학술 등록)영어 텍스트는 기본 연결/리듬 검사만 수행; 결과는 스타일 관찰이며 탐지가 아님
term_check중국어 의학/학술 용어 (2,344개 용어 은행)비의학 텍스트: 표준화율이 낮게 읽힘 — 이는 은행 범위이지 오류가 아님; --auto-fix는 맥락 존중
translation_smell_check중국어 학술 산문 (번역체 패턴)영어 스타일 원문: 적용 범위를 가장하는 대신 맹점 용어를 출력함
style_distance학술 산문 문체 측정학술 등록 외부에서는 스타일 점수가 조언 전용 (출력에 명시)
style_norm기계적 규칙 — 등록 무관설계상 점수 없음; 통계적 검사 (숫자/약어)는 짧은 샘플에서 약하며 이를 명시함
aigc_label_check파일 메타데이터 / C2PA / 명시적 레이블 설명콘텐츠 탐지기가 아님; 저자가 아닌 라벨링 규정 준수 확인
quality_report원고의 가독성/품질 차원AI율 측정이 아님; 점수 휴리스틱은 일반적이며 학술지에 맞춰지지 않음
docx_text.docx 텍스트 추출 (문단 보존)PDF 변환기가 아님 — PDF는 변환 조언과 함께 거부됨 (제로 종속성 중국어 PDF 추출은 보장될 수 없음)
배치 모드 (--batch)파일당 .txt/.md/.docx <5 MB5MB 초과는 설계상 건너뜀; 암호화/이미지 전용 docx는 조용한 빈 출력 대신 명시적 오류 생성

안전성 및 동작 설명

  • 100% 로컬: 모든 기능이 기기에서 실행됩니다. 코드베이스는 아웃바운드 네트워크 호출을 전혀 하지 않습니다. — 네트워크 클라이언트 라이브러리 없음, 네트워크 유틸리티 없음. 유일한 리스너 가능 구성 요소는 선택적 MCP HTTP 폼 (--transport http)이며, 이는 127.0.0.1 루프백만 바인딩합니다 (AST 검증기의 허용 목록 규칙에 의해 바인딩이 확인됨); AST 스캔은 루프백 바인딩이 없는 모든 리스너를 위반으로 처리합니다. 구조적으로 검증: python3 scripts/pp_verify.py (AST 수준 스캔; 종료 코드 0 = 네트워크 호출 제로, 모든 스크립트 컴파일). 레거시 텍스트 grep grep -rEin "urllib|requests|socket|import http" scripts/는 보고서 바닥글에 몇 개의 URL 문자열을 표시할 수 있습니다. — 이는 문자열 상수의 데이터일 뿐 네트워크 코드가 아닙니다. AST 검증기가 이 둘을 구분합니다.
  • 업로드 없음, 자격 증명 없음: 자격 증명, 키 또는 개인 데이터를 읽거나 전송하지 않습니다. 유일한 두 환경 변수는 PP_NO_SUP (지도 레이어 건너뛰기)와 PP_LANG (en은 pp.py 진입점 표면을 영어로 전환)입니다. — 둘 다 로컬 동작 전환입니다.
  • 지속성 없음: 예약된 작업, 자동 시작 항목 또는 시스템 구성 변경을 생성하지 않습니다. 임시 파일 (레이어 간 JSON, 프로브 텍스트)은 사용 후 삭제됩니다.
  • 원격 코드 없음: 원격 모델 또는 스크립트를 로드하지 않습니다. 선택적 지도 모델은 사용자가 로컬 경로에 배치합니다.
  • 데이터 경계: 사용자가 지정한 파일, 시스템 임시 디렉터리 및 자체 패키지 데이터 디렉터리(교정/신선도 아티팩트)만 읽고 씁니다. 보고서는 사용자가 지정한 위치로만 전송됩니다.
  • 학술 진실성: 위 섹션 참조 — 정책 준수 공개와 함께 저자 자가 검토 및 품질 개선을 위한 도구입니다. 탐지 회피용이 아닙니다.

종료 코드 계약 (v5.8.0부터 안정적)

종료 코드의미일반적인 경우
0성공보고서 생성됨 · verify 제로 네트워크 통과 · test 스위트 통과
1실행되었으나 통과하지 못함엔진 런타임 실패 (메시지에 복구 조언 포함) · test 실패 · verify 드리프트 · freshness 기준선 드리프트
2사용법 또는 입력 오류알 수 없는 하위 명령어 · 파일 없음 · 100자 미만 텍스트 · 구문 분석 불가능한 입력 파일
3환경 준비 안 됨pp_setup.py 모델 설치/검증 실패 — 먼저 pp.py doctor 실행

프로그래매틱 미러: pp_api는 잘못된 입력에 대해 ValueError(↔ 종료 2)를, 런타임 실패에 대해 RuntimeError(↔ 종료 1)를 발생시키며, 둘 다 메시지에 복구 조언을 포함합니다. 이 코드는 안정성 약속입니다. — 향후 릴리스에서 용도가 변경되지 않습니다.

안티 패턴 (각각 올바른 방법 포함)

이 섹션은 판단 유형 규칙만 나열합니다 (하지 말아야 할 것). 운영 방법 질문은 references/faq.md에 있습니다 (pp.py faq <키워드>로 검색 가능). — 둘은 반복하지 않고 서로 교차 참조합니다.

  • <100자를 입력하고 판정을 기대하지 마십시오. — risk=unknown은 설계상입니다 (짧은 텍스트의 거짓 양성은 통제 불가능). ✅ 대신: 300자 이상 제출하거나, 판정이 없고 짧은 샘플에서 작동하는 스타일 규범 검사(pp.py norm)를 사용하십시오.
  • 의학 텍스트에 대한 저하 모드 점수를 신뢰하지 마십시오.

...

관련 스킬