블로그 발행을 LLM Wiki로 넘겼다
목차
AI가 쓴 글처럼 보이는 건, 글쓰기 프롬프트가 약해서가 아니었다. 내가 쓴 단어와 사고가, 소스로 들어가지 않았을 뿐이다.

처음엔 쉬울 줄 알았다. blog skill을 계속 다듬으면 되는 거라 생각했다. 글 유형을 분석·가이드·튜토리얼·레퍼런스로 나누고, 여섯 모델이 관점을 나눠 리뷰하고, 발행 후엔 시간 감쇠까지 검사했다. 어휘 지시만 좀 더 주면 내 글투에 가까워질 거라.
그런데 아무리 다듬어도 “AI가 쓴 것 같다”는 인상이 사라지지 않았다. 답답했다. 문장을 고치고 금지어를 늘려봐도, 결국 같은 곳으로 돌아왔다.
나중에야 알았다. 내가 잘못된 곳을 고치고 있었다.
앞선 글들에선 위키 구조(inbox/source/context 3계층)와 승급 경계를 다뤘다. 이번 글은 그 위키를 발행 끝까지 끌고 나가는 이야기다. 위키가 쌓아둔 사고를 블로그 글로 어떻게 꺼내는가.
핵심은, 발행물이 AI처럼 보이는 원인이 글쓰기 규칙이 아니라 소스에 있었다는 것이다. 내 어휘와 판단이 쓰기 단계로 안 들어갔으니, 아무리 규칙을 다듬어도 AI의 보편적인 문장 투로 돌아갔다. 그래서 규칙을 고치는 대신, 쓰기 전에 무엇을 읽는지를 바꿨다.
blog skill을 버리고 workflow로 갈아탔다
기존 blog skill은 정교했다. 글 유형마다 허용·금지 섹션이 있고, 여섯 모델이 관점을 나눠 리뷰하고, 발행 후엔 시간 감쇠까지 검사했다. 품질 관리 측면에선 부족한 게 없었다.
문제는 소스였다. skill이 읽는 건 Obsidian 메모장 하나뿐이었다. 위키가 갖고 있는 용어 사전, 내가 내린 결정들, 과거 글의 어휘. 전부 skill 밖에 있었다.
skill 안의 규칙은 고립되어 있었다. 빈 창고에서 요리를 하면 빈 요리가 나온다.
그래서 skill을 버리고 위키의 workflow로 옮겼다. 다른 운영 작업(회의록, 주간보고, 음성메모, 맥락 승급)은 이미 workflow로 통일해둔 상태였다. blog만 skill로 남기면, 위키가 blog가 쓴 단어를 모르는 상태가 구조적으로 고착된다. 하나의 흐름 안에서 위키가 발행까지 함께 보게 만드는 쪽이 일관적이었다.
AI 느낌의 원인을 세 축으로 좁혔다
“AI가 쓴 것 같다”는 말은 모호하다. 어디서 나는지 좁혀야 고친다. 몇 번인가 발행해보며 세 가지로 모았다.
- 어휘·표현이 내 것이 아니다. 내가 평소 쓰지 않는 번역투, 과도한 수식어, “~적입니다” 같은 어미.
- 결론과 처방 톤이 과하다. 내가 쓰면 관찰에 머무르는 자리를, AI는 단정이나 권고로 채운다.
- 사고 과정이 안 보인다. 왜 그 선택을 했는지 맥락이 빠지면, 결론만 남아 설명문처럼 읽힌다.
구조(목차나 소제목)는 문제가 아니었다. 틀은 그대로여도 괜찮았다. 문제는 그 틀을 채우는 재료의 출처였다. 세 축의 공통 분모를 따라가다 보니 한 곳으로 모였다. 전부 소스.
네 가지 소스를 한 체인으로 묶었다
기존 skill은 메모장 하나만 읽었다. 내 사고 맥락이 빠진 게 세 축의 공통 원인이었다. 그래서 발행 땐 네 가지 소스를 한 번에 읽는다.
- 메모장 원문: 내가 처음 쓴 날것의 사고
- 위키 context: 검수를 거쳐 정제된 사고
- voice node: 내 어휘와 표현 규칙을 담은 위키 노드
- 과거 글: 비슷한 주제를 내가 어떻게 썼는지
요리로 치면, 냉장고 재료만 보고 만들던 걸 레시피 노트와 내 입맛 기록까지 꺼내보게 바꾼 것이다. 네 가지 소스가 합치면 어휘는 voice node가 잡고, 사고 맥락은 context가 보태고, 어조는 과거 글이 맞춘다.
핵심은 글쓰기 프롬프트를 강화한 게 아니라, 쓰기 전에 무엇을 읽는지를 바꾼 것이다. 프롬프트는 같아도, 읽고 들어가는 기반이 다르면 나오는 문장이 달라진다.
발행할수록 위키가 글투를 배운다
여기서 멈추면 1회성 개선이다. 발행을 반복할수록 위키가 내 글투를 학습하게 만들고 싶었다.
그래서 발행 후, 이번 글에서 쓴 사고와 새 표현을 위키로 역류시킨다. 역류란 발행물에서 나온 것을 다시 위키로 흘려보내는 것이다. 발행은 블로그로 나가고, 사고 자산은 위키로 돌아온다. 두 방향이 같이 돈다.
단, 자동이 아니다. 전부 승급 후보로만 둔다. 승급이란, 위키의 정식 자산으로 인정받는 절차다. 위키엔 검수된 것만 들어가야 하니까 사람이 승인한 것만 쌓인다. 발행 → 역류 후보 → 승인 → 위키 강화 → 다음 발행. 이 순환이 돌면, 쓸 때마다 위키가 나를 조금씩 더 안다. 단발 프롬프트에선 불가능한 구조다.
어휘는 위키가 갖고, 글은 가져다 쓴다
세 축 중 어휘가 가장 손이 많이 간다. 내 글투를 통째로 설명하기 어렵기 때문이다. 그래서 과거 글에서 어휘 패턴을 뽑아 위키에 voice node로 뒀다.
한 번 추출로 금지 어휘(번역투, 과도한 수식어), 선호 표현, 결론 처리 방식을 뽑는다. 이후 발행 땐 이 노드를 읽기 전용으로 가져다 쓴다. 매번 프롬프트에 어휘 지시를 쓰는 게 아니라 위키가 들고 있는 것이다. 규칙이 사는 위치를 바꿨다.
다만 함정이 하나 있다. 내 글이 이미 AI 투면, 그걸로 voice를 잡으면 AI 투를 다시 학습한다. “AI 느낌”을 빼려 만든 시스템이 AI 느낌을 재생산하는 셈이다. 그래서 가독성 기준은 토스·당근·우아한형제들 같은 외부 글에서 따왔다. 내 서사 투는 내 글에서, 교정 기준은 외부에서. 두 축을 나눠야 순환이 나를 강화하지 AI 투를 강화하지 않는다.
아직 voice node는 갈 길이 멀었다. 자동 추출은 후보만 던져줄 뿐, 금지 어휘의 최종 판단은 사람이다. 하지만 틀은 잡혔다. 발행이 쌓일수록 이 노드도 자라고, 역류 후보가 어휘를 보충한다.
리뷰는 그대로, 경계만 추가했다
기존 skill의 여섯 모델 리뷰는 그대로 가져왔다. 재발명할 이유가 없었다. 다만 두 가지 경계를 추가했다.
- 내부 결정이 발행 처방으로 새어나가는 것. 위키에 있는 판단을 무비판 전이하면, 독자에겐 권고로 읽힌다. 관찰과 판단을 분리하는 검사를 넣었다.
- voice node의 금지 어휘가 본문에 있는지. 어휘 통제가 검사까지 이어지게 했다.
품질 인프라는 재사용하고, 위키 기반으로 생긴 새 경계만 끼워 넣었다. 전면 재작성이 아니라 기반 교체다. 리뷰는 같아도, 리뷰가 지키는 기준이 위키와 연결된다.
위키 기반 전환이 남기는 비용
전환은 공짜가 아니다. skill 하나를 통째로 옮기는 작업이 들어갔다. 특히 리뷰 스크립트는 가상환경을 임시 디렉터리에 두고 쓰고 있었다. 그래서 의존성을 명시하고 누구나 다시 만들 수 있게 정리하는 단계가 필요했다. 한 번의 이관 비용이다. 이후엔 같은 구조가 반복된다.
그리고 voice node를 사람이 검수해야 한다. 자동 추출은 후보만 던져줄 뿐, 최종 판단은 사람이다. 발행마다 역류 후보도 쌓이므로 승인 부담이 생긴다. 재사용 가치가 명확한 것만 후보로 올리는 규칙으로 노이즈를 줄이고 있다.
지금의 판단
사실 이 글이 이 방식으로 쓴 첫 케이스다. 어휘가 voice node에 기반하는지, 역류 후보가 의미 있는지는 앞으로 발행을 거듭하며 확인할 일이다. 지금은 구조를 만든 단계이지, 검증이 끝난 단계가 아니다.
다만 방향은 확실하다. 발행물이 AI처럼 보이는 원인이 소스에 있었다면, 고칠 곳도 소스다. 글쓰기 규칙을 계속 다듬는 대신, 위키가 쌓아둔 사고를 쓰기 단계로 끌어오는 쪽이 근본적이었다.
위키는 이제 검색 대상일 뿐 아니라 내가 쓰는 글의 기반이 된다. 발행이 위키를 강화하고, 위키가 발행을 돕는 쪽으로 묶였다. 다음 글부터는 이 기반 위에서 쓴다.