프로젝트 / AI 에이전트·자동화
AI 에이전트·자동화LLM-as-judge문체 모델링코퍼스 큐레이션결정론 검증 게이트
블라인드 심판을 통과하는 '내 문체' 글쓰기 하네스
본인이 직접 쓴 글로 문체를 측정하고, 판별 패널이 사람 글과 구별하지 못할 때까지 고쳐 쓰는 시스템
- 기간
- 2026.07–2026.09
- 형태
- 사이드 프로젝트
- 상태
- 동작 확인
- 역할
- 설계·구현 (1인, 에이전트 병렬 구축)
5/5순수 AI 글을 잡아낸 심판 캘리브레이션
5/6건실전 케이스 중 판별 1/5 이하로 통과
65규칙AI 표현 린터(상투어 56 + 구조 9)
23건경량판 회귀 테스트 전부 통과
문제
프롬프트 몇 줄로 내 문체를 흉내 내게 하면 결과는 항상 무난하고 정돈된 글이 됩니다. 검증자가 없으니 상투어, 균일한 리듬, 설계된 구조 같은 AI 흔적을 모델 스스로 찾지 못했고, 사람이 매번 검토하면 자동화의 의미가 사라졌습니다.
기준이 될 본인 글을 모으는 단계부터 어려웠습니다. 노트 보관함에는 AI가 생성한 노트가 대량으로 섞여 있었고, 보낸 메일에도 스크립트가 대신 발송한 메일이 섞여 있어 그대로 기준으로 쓸 수 없었습니다.
접근
- 메신저·AI 입력 기록·보낸 메일·노트에서 본인 발화만 추출하고, 휴리스틱 점수와 LLM 정독을 잇는 2단 판별로 AI 생성 글을 걸러 골든 표본을 만들었습니다.
- 레지스터(채팅·업무 지시·메일·SNS 등)별 문체 프로필과 20개 정량 지표 기준치를 만들었습니다.
- 생성문을 G1 AI 표현 린터, G2 정량 지표 대조, G3 블라인드 판별 패널, G4 팩트체크의 4중 게이트에 통과시키고, 탈락 사유를 누적 피드백으로 재작성에 돌려보냈습니다.
- 판별 패널은 심판 5명이 심판별로 다르게 섞인 라인업에서 생성문을 지목하게 하고, 5명 중 1명 이하만 지목하면 통과로 정했습니다.
- 이후 일상 용도로는 상대별 문체 카드와 결정론 셀프체크만 쓰는 경량판으로 다시 설계하고, 무거운 하네스는 필요할 때만 쓰도록 분리했습니다.
구조
요청 파싱주제·목적·플랫폼·수신자를 받아 레지스터를 정합니다.
초안 작성문체 코어와 레지스터 규칙, 육필 예시, 사실 근거 문서를 넣어 초안을 씁니다.
결정론 게이트AI 표현 린터와 정량 지표 대조로 기계적으로 걸러냅니다.
블라인드 판별심판 5명이 육필 사이에 섞인 생성문을 찾아냅니다.
팩트체크사실 근거와 발행 금지 목록에 대조해 지어낸 내용을 차단합니다.
재작성 또는 반환탈락 사유를 누적해 다시 쓰고, 수렴하지 않으면 사람에게 반환합니다.
주요 기능
육필 코퍼스 판별 파이프라인AI 신호와 육필 신호를 점수화한 뒤 상위 후보를 LLM이 정독하는 2단 구조로 본인 글만 골랐습니다.
블라인드 판별 패널두 종류의 모델을 섞은 심판 5명이 각자 다른 순서의 라인업에서 생성문을 지목합니다.
문체와 사실의 독립 게이트문체 게이트를 모두 통과한 글이 사실을 지어낸 경우를 팩트체크 게이트가 따로 잡아냅니다.
실패의 규칙화심판의 지목 근거와 게이트 간 충돌 사례를 레지스터 규칙과 피드백 정의로 되돌려 다음 실행에 반영했습니다.
경량판 문체 카드상대별 문체 카드 12장과 셀프체크 스크립트로 30초~2분 안에 초안을 내는 일상용 스킬로 재구성했습니다.
결과
- 게이트 가동 전 캘리브레이션에서 심판 5명 모두가 문체를 주입하지 않은 AI 글을 정확히 지목했습니다.
- 실전 케이스 6건 중 5건이 판별 1/5 이하로 통과했고, 그중 1건은 첫 초안이 0/5로 바로 통과했습니다.
- 내용이 거의 없는 의례성 메일 1건은 구체성을 요구하는 게이트와 날조를 막는 게이트가 맞물려 수렴하지 않았고, 시스템이 억지로 통과시키지 않고 사람에게 반환했습니다.
- 경량판은 본인 실제 글 골든 7건 통과, 오답 초안 8건 차단, 실제 발송 메일과 메신저 발화에서 오탐 0건을 포함한 회귀 23건을 모두 통과했습니다.
포인트
가장 중요한 발견은 사람처럼 보이라는 압박이 날조를 부른다는 점이었습니다. 심판이 구체성이 없다고 반복 지적하자 작성 모델이 가짜 이름과 배경을 지어냈고, 그 초안은 문체 게이트와 판별 패널을 모두 통과했습니다. 문체 검증과 사실 검증은 독립된 게이트여야 한다는 설계 원칙을 실측으로 얻었습니다.
경량판을 만들며 얻은 교훈은 분석 결과를 그대로 규칙으로 옮기지 말고 실제 발화로 오탐 검사를 돌려야 한다는 것이었습니다. 분석 단계에서 0건이라고 본 표현이 실제 메신저 발화에서는 249건 쓰이고 있었고, 검사기를 실제 글에 돌려 보고서야 그 차이가 드러났습니다.
기술
Claude Code WorkflowPythonLLM-as-judgeClaude Opus·Sonnet (심판 모델 다양화)정규식 린터z-score 문체 지표
상단 영상은 실제 화면이 아니라 구조를 보여 주는 재구성 목업입니다.