Slop Sensor는 개인이 싫어하는 표현 목록이 아니라, 문맥과 반례를 포함한 한국어 편집 규칙을 관리한다.
- 새로운 한국어 패턴과 탐지 조건
- 기존 패턴의 오탐 반례 또는 적용 범위 수정
- 문체별 예외
- before/after 예시
- 감사 스크립트와 로컬 중복 지표 개선
- 평가 케이스와 회귀 수정
새 패턴 PR에는 다음 항목을 포함한다.
- 익명화하거나 공개 가능한 문제 사례 3개 이상
- 가능하면 서로 다른 모델 계열 또는 서로 다른 작성 상황 2개 이상
- 자연스럽고 유지해야 하는 반례 2개 이상
- 적용 문체와 제외 문체
hard,soft,contextual중 제안 강도- 의미를 보존한 수정 전후 예시
- 예상 오탐과 적용하지 말아야 할 조건
evals/cases.yml또는evals/corpus.yml의 양성 케이스와 음성 케이스
모델 이름이나 생성 경로를 공개할 수 없으면 unknown으로 표시한다. 확인되지 않은 출처를 꾸며내지 않는다.
ID는 ko-범주-번호 형식을 사용한다. 기존 ID를 재사용하거나 번호를 바꾸지 않는다.
hard: 게시 문서에 남을 이유가 드물지만 인용·코드·고유명사는 보호한다.soft: 반복되거나 다른 특징과 묶일 때 수정한다.contextual: 문체와 매체가 맞으면 유지한다.
단어 하나를 hard로 금지하지 않는다. 한국어는 같은 표현이 학술, 법률, 상담과 일상 글에서 다른 기능을 한다.
- 사실, 숫자, 날짜, 인용, 출처와 전문용어를 보존한다.
- 표면 중복을 줄이기 위해 직접 인용을 변형하거나 출처를 삭제하지 않는다.
- 문장별 동의어 치환보다 명제 추출과 구조 재작성을 우선한다.
- 어색함을 만들기 위한 맞춤법 오류, 무작위 파편과 유행어 삽입을 허용하지 않는다.
- 외부 AI 탐지기나 표절 검사의 단일 점수를 효과 근거로 사용하지 않는다.
각 패턴에는 최소 두 케이스를 추가한다.
must_include: 실제로 잡아야 하는 문장must_exclude: 인용, 규제 문구, 기술 문서 또는 자연스러운 단일 사용처럼 잡지 말아야 하는 문장
공개 벤치마크 코퍼스에는 register, expected_patterns와 provenance를 기록한다. 합성 문장과 실제 문장을 섞어 출처를 숨기지 않는다. 실제 문장은 작성 동의, 익명화와 재배포 권한을 확인한 뒤 별도 provenance로 추가한다.
검증 명령:
ruby scripts/run_evals.rb
ruby scripts/benchmark.rbPR은 기존 평가와 벤치마크 하한을 모두 통과해야 한다. 패턴을 더 많이 잡는 것보다 기존 음성 케이스를 깨지 않는 것을 우선한다. 정밀도나 재현율이 좋아져도 특정 문체의 오탐이 늘면 결과와 이유를 PR에 적는다.
다음 조건을 모두 만족해야 병합할 수 있다.
- 한국어 문맥에서 관찰 가능한 문제를 다룬다.
- 수정 후 원문의 의미와 근거 수준이 유지된다.
- 반례와 제외 조건이 있다.
- 정규식이 따옴표, 코드와 URL 보호를 깨지 않는다.
- 패턴 설명, 스크립트와 평가가 서로 모순되지 않는다.
- 제3자 문장을 길게 복사하지 않고 필요한 라이선스와 출처를 보존한다.