💠 Refract: 논문 쓰기를 렌더링이라고 부르기로 했다에서 쓴 것처럼, ARGUMENT.md를 초고로 렌더링시키는 에이전트를 만들기로 했다. 근데 렌더링된 초고가 내 문장이 아니면 수정 비용이 너무 높다. 문체를 가르쳐야 했다.
이 과정에서 확인한 것: “잘 써”라는 추상적 지시보다 정량적 기준이 압도적으로 효과적이라는 것, 그리고 형태소 분석기 없이 정규식과 카운팅만으로도 유의미한 문체 분석이 가능하다는 것.
수백 편의 내 글이 쌓여 있었다
대학원 10년, 매 학기 매주 리스폰스 페이퍼를 썼다. 수업에서 읽은 텍스트에 대한 비평적 응답을 2~3페이지로 쓰는 것이다. 수백 편이 쌓여 있었다.
여기에 최근 작성 중인 박사논문 관련 드래프트 수십 편이 더해진다. 예비 발표 원고, 학회 발표문, 챕터 초고, 분석 노트. 이미 세컨드 브레인에 마크다운으로 축적되어 있었다.
이것들이 내 문체의 원천 데이터다.
코퍼스 구축
리스폰스가 너무 많았다. 전부 쓰면 노이즈가 생길 수 있고, 특정 시기의 글에 편중될 수도 있다. Claude에게 다양한 주제와 시기를 커버하도록 선별시켰다. 고른 분포가 중요했다.
선별된 리스폰스에 최근 논문 드래프트를 합쳐 약 200편, 600만 자 규모의 코퍼스를 만들었다.
내 글을 숫자로 분석했다
이 코퍼스를 파이썬 스크립트로 전체 분석했다. 형태소 분석기는 쓰지 않았다. 정규식 기반 패턴 매칭과 사전 기반 카운팅으로 충분했다.
6가지 지표를 측정했다.
1. 문장 길이 — 리듬 지표
한국어 종결어미(~다/~까/~지)와 마침표로 문장을 분리하고, 어절(띄어쓰기 단위) 수를 셌다. 문장이 평균적으로 얼마나 긴지, 단문과 장문의 비율이 어떤지를 파악하는 지표다.
| 구간 | 비율 |
|---|---|
| 단문 (<10 어절) | 50% |
| 중문 (10~25 어절) | 40% |
| 장문 (25~50 어절) | 9% |
| 초장문 (50+ 어절) | 1% |
평균 12.8어절. 단문이 반을 차지하지만, 중문과 장문도 40%+9%로 상당한 비중을 가진다. 짧은 문장으로 끊되 종속절을 활용한 복합문도 빈번하다는 뜻이다.
2. 연결어 — 논증 습관 지표
20개 연결어를 전환/구체화/귀결/추가/인용 5개 범주로 분류하고, 텍스트 전체에서 출현 횟수를 카운트했다. 논증을 전개할 때 어떤 접속 패턴을 즐겨 쓰는지 보는 지표다.
| 연결어 | 빈도 | 범주 |
|---|---|---|
| 그러나 | 2,091 | 전환 |
| 또한 | 2,015 | 추가 |
| 그런데 | 1,256 | 전환 |
| 즉 | 1,032 | 구체화 |
| 그러므로 | 672 | 귀결 |
“그러나”가 압도적 1위다. 기존 해석을 검토한 뒤 “그런데/그러나”로 전환하여 한계를 지적하고, 새로운 해석을 제시하는 패턴이 내 논증의 기본 리듬인 셈이다.
3. 한자 비율 — 분야 특성 지표
유니코드 한자 범위의 글자 수를 한자+한글 글자 수로 나눴다. 한문 사료를 직접 다루는 논문이라 핵심적인 지표다.
논문 원고에서 한자 비율은 약 20%였다. 리스폰스 페이퍼에서는 1% 미만이었다. 두 장르의 성격 차이가 숫자로 드러난다.
4. 유보 표현(hedging) — 단정 vs 유보
“~로 볼 수 있다”, “~로 보인다”, “~일 가능성이 있다” 같은 패턴 10개를 정규식으로 잡았다. 학술 글쓰기에서 주장의 강도를 조절하는 표현이다.
결과: 천 자당 0.02건. 매우 낮다. 나는 유보 없이 단정적으로 쓰는 편이다.
5. 피동 구문 — 문체 성격 지표
“되/받/당하/지”에 활용어미가 결합하는 패턴을 정규식으로 측정했다. 능동적 서술과 학술적 피동 서술의 비중을 가늠하는 지표다.
결과: 천 자당 2.01건. 학술 글에서 피동 구문을 적당히 쓰되, 과도하지는 않다.
6. Claude 오염 검사 — 코퍼스 순수성 확인
Claude가 즐겨 쓰는 특유의 표현 8개 패턴을 검사했다. 코퍼스에 AI 생성 텍스트가 섞여 있는지 확인하는 용도다.
결과: 21건. 600만 자 중 21건이면 사실상 무시할 수 있는 수준이다. 코퍼스가 내 글로만 구성되어 있음을 확인했다.
숫자를 규칙으로
분석 결과를 328줄짜리 문체 규칙 문서(style_guide)로 정리했다. 여기에 코퍼스에서 추출한 23개의 모범 문장(style_samples)을 덧붙였다.
핵심은 추상적 지시를 정량적 기준으로 바꾸는 것이다.
| 추상적 지시 | 정량적 기준 |
|---|---|
| ”자연스럽게 써” | 문장 평균 13어절, 단문:중문:장문 = 5:4:1 |
| ”학술적으로 써" | "그러나” 우선, 유보 표현 최소화, 피동 적정 수준 |
| ”내 문체로 써” | 종속절 연쇄, “요컨대” 소결, 시그니처 표현 23개 |
| ”Claude 티 내지 마” | 금지 표현 8개 패턴, 검출 시 즉시 수정 |
“잘 써”라고 말하면 Claude는 자기 방식대로 쓴다. “문장 평균 13어절, 전환은 ‘그러나’ 우선, hedging 최소화”라고 말하면 내 방식대로 쓴다.
renderer 에이전트
이 규칙을 탑재한 에이전트를 만들었다. renderer라고 부른다.
Claude(Opus) 기반이다. 세션 시작 시 style_guide 328줄과 style_samples 23개를 필수로 로딩한 뒤, ARGUMENT.md의 논증 구조를 학술 산문으로 렌더링한다. 개조식으로 정리된 논점과 근거를, 내 문체 규칙에 맞춰 문장과 문단으로 풀어쓰는 것이다.
에이전트는 렌더링 후 자기 검수를 수행한다. Claude 기본 표현이 없는지, 모든 주장에 근거가 수반되었는지, 종속절 연쇄 패턴을 썼는지, 소결에 “요컨대”가 있는지. 이 검수 항목도 style_guide에서 나온 것이다.
실전 — CH4 4.2.3절 초고 렌더링
실전 테스트를 했다. CH4의 4.2.3절 ARGUMENT.md를 renderer에게 넘겼다.
결과물을 검사했다. Claude 특유 표현 0건. 문장 길이, 연결어 패턴, 종속절 구조 모두 style_guide의 기준에 부합했다. 바호의 시그니처 표현이 적절한 위치에 배치되어 있었다.
렌더링된 초고 위에서 작업을 시작했다. 문장 하나하나를 읽으면서 연결부를 다듬고, 표현을 내 것으로 바꾸고, 논증 흐름을 점검했다. 흰 바탕에서 시작하는 것과 비교하면, 시작점이 완전히 달라진다. 이미 구조가 산문으로 펼쳐져 있으니, 나는 고치고 다듬는 데 집중할 수 있다.
결과
| 항목 | BEFORE | AFTER |
|---|---|---|
| 초고 시작 | 흰 바탕 | renderer가 생성한 초고 위에서 시작 |
| 문체 일관성 | Claude 기본 문체 | style_guide 기반 바호 문체 |
| 수정 범위 | 문장, 논증, 흐름 전부 | 연결부, 표현 위주 |
| 문체 기준 | ”잘 써” (추상적) | 328줄 정량 규칙 (구체적) |
협업 관찰
이 작업에서는 에이전트 파이프라인보다, “어디까지가 나의 작업이고 어디부터가 AI의 작업인가”에 관심이 간다.
ARGUMENT.md = 100% 나의 사유다. 무엇을 주장할 것인지, 어떤 근거로, 어떤 순서로. 이 논증 설계는 내가 했다. AI가 개입할 여지가 없는 영역이다.
정량 분석 = Claude가 실행하고, 나는 설계하고 해석했다. 어떤 지표를 측정할지 결정한 건 나다. 스크립트 작성과 실행은 Claude가 했다. 결과를 해석하고 규칙으로 전환한 것도 나다.
렌더링 = AI가 초고를 만들고, 나는 전수 수정한다. renderer가 뱉어낸 초고를 한 문장도 빠짐없이 읽고, 고치고, 다듬는다. 이건 빈 페이지에서 시작하느냐 초고에서 시작하느냐의 차이지, 글쓰기 자체를 건너뛰는 게 아니다.
배움 포인트
“잘 써”보다 정량적 기준이 효과적이다. AI에게 추상적으로 지시하면 AI의 기본값이 나온다. 문장 길이, 연결어, 한자 비율 같은 숫자를 주면 내 패턴이 나온다. 비유하자면 “맛있게 해”와 “소금 5g, 간장 15ml”의 차이다.
NLP 없이도 정규식+카운팅으로 유의미한 문체 분석이 가능하다. 형태소 분석기를 세팅하느라 시간을 쓰는 대신, 종결어미+마침표로 문장을 자르고 연결어 사전으로 카운팅하는 것만으로 충분한 프로파일이 나왔다. 완벽할 필요는 없다. 유의미하면 된다.
초고 렌더링은 시작점을 바꾸는 것이다. 빈 페이지 앞에서 첫 문장을 고민하는 시간이 사라졌다. 대신 이미 펼쳐진 초고 위에서 다듬는 데서 시작한다. 글쓰기의 본질이 바뀐 건 아니다. 시작 조건이 바뀐 것이다.