브랜드 보이스(Brand Voice) 강제를 위해 Claude Code 플러그인을 실행하는 이유
요약
작성자의 브랜드 보이스를 유지하기 위해 Claude Code를 활용하여 글쓰기 규칙을 강제하는 플러그인 구축 사례를 소개합니다. 단순한 텍스트 교체를 넘어 문맥을 이해하여 금지어, 문장 구조, AI 특유의 말투를 자동으로 검토하고 차단합니다.
핵심 포인트
- 브랜드 보이스를 단순한 분위기가 아닌 명확한 규칙 목록으로 정의
- Claude Code를 활용해 문맥을 이해하는 자동 검토 플러그인 구현
- em-dash, 금지어, 진부한 AI 표현 등을 게시 전 단계에서 차단
- 단순 정규 표현식의 한계를 모델의 문맥 이해 능력으로 극복
-
브랜드 보이스 (Brand Voice) 플러그인은 게시 후가 아니라, 게시 전 단계에서 em-dash(—)와 금지어를 잡아냅니다.
-
플러그인은 훅 (Hooks)에서 자동으로 실행되지만, 스킬 (Skills)은 사용자가 요청할 때까지 기다립니다.
-
나의 체크 도구는 초안당 14개의 금지 용어와 6개의 AI 특징 (AI tells)을 차단합니다.
-
모든 기사에 동일한 강제 사항을 적용함으로써 나의 목소리가 변질되지 않도록 합니다.
내가 게시하는 모든 기사는 나의 브랜드 규칙을 읽고 이를 위반하는 모든 것을 거부하는 플러그인을 거칩니다. 지난달에는 12개의 초안에서 31개의 em-dash, 9개의 금지어, 4개의 AI 특징 (AI tells)을 잡아냈습니다. 그중 어느 것도 실제 사이트에 게시되지 않았습니다.
내가 실제로 해결하고자 했던 문제
나는 글을 많이 씁니다. 한 명의 개인, 하나의 스튜디오로서 실험실 전반에 걸쳐 한 달에 수십 개의 기사를 작성합니다. 어려운 점은 글을 쓰는 것 자체가 아니었습니다. 일관성을 유지하는 것이었습니다. 여덟 번째 초안쯤 되면 문장이 점점 길어지곤 했습니다. em-dash가 슬쩍 끼어들기도 했습니다. 뇌가 지치면 머릿속의 자동 완성 기능이 기업용 버전으로 기본 설정되어, 의도와 다른 단어를 쓰기도 했습니다.
브랜드 보이스 (Brand Voice)는 단순히 분위기 (Vibe)가 아닙니다. 그것은 규칙의 목록입니다. em-dash 사용 금지. 통화는 기호가 아닌 "33 EUR"와 같이 표기. 1인칭 단수 사용, 나 혼자일 때는 절대 "우리"라고 하지 않기. 법적 의미를 유출할 수 있는 단어 사용 금지. "understand the space"나 "today's world"와 같이 진부한 AI 문구 사용 금지. 나는 이 모든 것을 문서에 적어 두었습니다. 하지만 그 문서는 아무런 역할도 하지 못했습니다. 문서는 제안일 뿐입니다. 나에게는 잘못된 초안이 나가는 것을 실제로 막아줄 무언가가 필요했습니다.
첫 번째 버전은 내가 모든 초안을 세 번씩 읽는 것이었습니다. 그것은 작동하는 듯했으나 결국 실패했습니다. 왜냐하면 나는 작가이자 검토자이며 발행인인데, 검토자 역시 작가와 똑같은 속도로 지치기 때문입니다. 게시된 글에서 em-dash 하나를 놓쳤고, 2주가 지나서야 그것을 발견했습니다. 바로 그 순간, 규칙은 나의 주의력 (Attention span)이 아니라 코드 (Code) 안에 존재해야 한다는 결정을 내렸습니다.
처음에는 간단한 찾아 바꾸기 (find-and-replace) 스크립트로 이 작업을 시도해 보았습니다. 명백한 것들은 잡아냈지만 문맥 (Context)이 없었습니다. 제가 스케줄링 제품 (scheduling product)을 의미할 때조차
플러그인을 정규 표현식 (regex) 보다 가치 있게 만드는 부분은 문맥 (context)입니다. 플러그인이 "buffer"라는 단어를 발견하면, 이것이 제가 스케줄링 도구 (scheduling tool)를 의미하는 것인지 확인하고, 만약 그렇다면 제가 링크를 포함했는지 검증합니다. 긴 문장을 발견했을 때, 단순히 길이만을 지적하는 것이 아니라 어디서 문장을 끊어야 할지 제안합니다. 이러한 판단은 모델이 직접 읽기를 수행하는 것이며, 플러그인은 이 읽기 과정을 통과(pass) 또는 실패(fail) 결정으로 변환해 줍니다. 제가 처음에 Claude Code를 어떻게 연결했는지에 대한 전체적인 그림을 알고 싶다면, Claude Blueprint에서 그 과정을 설명해 두었습니다.
내가 놓치는 것들을 잡아내는 방식
솔직하게 말씀드리겠습니다. 지난 12개의 초안 동안 플러그인은 31개의 엠 대시 (em-dashes)를 잡아냈습니다. 저는 타이핑할 때 그것들을 정말로 인지하지 못합니다. 키보드 단축키가 근육 기억 (muscle memory)으로 남아 있고, 그 순간에는 글자가 괜찮아 보이기 때문입니다. 하지만 플러그인은 31개 모두를, 단 하나도 빠짐없이 찾아냅니다.
또한 9개의 금지된 단어를 잡아냈습니다. 이 중 일부는 커머스 사이트에서 잘못된 인상을 줄 수 있어 여기서조차 언급하지 않을 법적 유출 (legal-leak) 용어들입니다. 다른 것들은 브랜드 보이스 (voice) 위반 사례입니다. "use" 3회, "solid" 2회, "smooth" 1회 사용되었습니다. 이 단어들이 추상적으로 틀린 단어는 아닙니다. 다만 저에게는 틀린 단어입니다. 이 단어들은 아무도 브랜드를 조종하지 않을 때 나타나는 브랜드 특유의 말투이며, 제 핵심 목표는 사람처럼 들리는 것입니다.
AI 특유의 흔적 (AI tells)도 4건 잡아냈습니다. "Note"가 한 번, "Go into"가 한 번 나타났습니다. "Understand the space"는 같은 초안 내에서 두 번 나타났는데, 이는 그날 제가 얼마나 피곤했는지를 정확히 보여줍니다. 플러그인은 단순히 이 단어들을 삭제하는 데 그치지 않습니다. 이를 평이한 언어로 다시 쓰고 교체 사항을 보여줌으로써, 제가 도구에 영원히 의존하는 대신 그 패턴을 학습할 수 있게 합니다.
통화 (currency) 확인은 사소해 보이지만 중요합니다. 저는 물건을 판매합니다. 가격이 등장합니다. 만약 한 기사에서는 기호와 함께 가격을 쓰고, 다른 기사에서는 "29 EUR"라고 쓴다면 사이트는 부주의해 보일 것입니다. 가격에 대해 부주의해 보이는 것은 가장 피해야 할 실수입니다. 플러그인은 모든 가격을 동일한 형식으로 정규화 (normalize)하여, 독자가 모든 콘텐츠에서 일관된 스타일을 볼 수 있게 합니다.
제가 이 플러그인을 계속 유지하게 만든 수치입니다. 플러그인이 가동된 이후로, 발행된 기사 중 브랜드 보이스(brand-voice) 위반 사례가 단 한 건도 발생하지 않았습니다. 플러그인을 도입하기 전에는 발행된 글을 다시 읽을 때마다 대략 글 하나당 한 개 정도의 실수를 발견하곤 했는데, 대개는 수정하기에 너무 늦은 시점이었습니다. 1개에서 0개로 줄어드는 것이 작게 들릴 수도 있습니다. 하지만 1년 치의 기사 전체를 놓고 보면, 이는 스튜디오에서 제작한 듯한 사이트와 초안(draft)처럼 읽히는 사이트 사이의 차이를 만듭니다.
제 워크플로우의 나머지 부분과 어떻게 맞물리는가
이 플러그인은 더 긴 파이프라인(pipeline) 내의 하나의 게이트(gate)이며, 그것이 어디에 위치하느냐가 중요합니다. 플러그인은 글쓰기가 완료된 후, 하지만 어떤 콘텐츠도 실제 스토어에 반영되기 전에 실행됩니다. 그 시점에는 기사가 온전하게 존재합니다. 플러그인은 기사를 한 번 읽고 판결을 내린 뒤, 텍스트를 그대로 통과시키거나 위반 목록과 함께 다시 돌려보냅니다.
제가 좋아하는 점은 동일한 규칙 세트(rule set)가 모든 것을 제어한다는 것입니다. 긴 형식의 기사, 짧은 포스트, 심지어 소셜 미디어 예약을 위해 작성하는 카피(copy)까지도 마찬가지입니다. 제가 게시물을 예약하기 위해 Buffer로 보낼 때, 소셜 카피 역시 동일한 보이스 체크를 먼저 거치기 때문에 게시물이 링크된 기사의 톤(tone)과 모순되는 일이 절대 발생하지 않습니다. 제가 어떤 어조로 말하는지에 대한 단일 진실 공급원(one source of truth)이 모든 곳에 자동으로 적용되는 것입니다.
스토어 측은 Shopify를 기반으로 운영되며, 발행된 기사는 이미 서식이 올바르게 교정되고, 가격이 정규화(normalized)되었으며, 보이스가 깔끔하게 정리된 상태로 그곳에 안착합니다. Shopify 에디터에서 문제를 수정하는 두 번째 단계는 필요하지 않습니다. 수정 작업이 상류(upstream) 단계인 플러그인에서 이미 완료되었기 때문입니다. 이것이 바로 전체 설계 철학입니다. 문제를 수정하기에 비용이 저렴한 가장 이른 시점에 포착하고, 당혹감을 느낄 수 있는 가장 늦은 시점에는 절대 포착되지 않도록 하는 것입니다.
이 플러그인은 로그(log)도 기록합니다. 감지된 모든 위반 사항은 날짜 및 초안과 함께 기록됩니다. 몇 달이 지나면 이 로그는 제 나쁜 습관들의 지도가 됩니다. 늦은 시간에 글을 쓸 때 엠 대시(em-dash) 사용이 급증한다는 것, 제가 빠르게 작성한 초안에는 AI 특유의 흔적(AI tells)이 나타난다는 것, 프로세스(process)가 아닌 제품(product)에 대해 쓸 때 금지된 법률 용어들이 스며든다는 것을 확인할 수 있습니다. 이 데이터는 단순히 무엇이 출판될지를 넘어, 제가 글을 쓰는 방식 자체를 형성합니다. 이 도구는 필터(filter)를 넘어 거울(mirror)이 되었습니다.
유지보수는 거의 들지 않습니다. 새로운 습관을 발견할 때 규칙 한 줄을 추가하기만 하면 됩니다. 매달 로그를 검토합니다. 플러그인은 인간 검토자가 결국 겪게 되는 피로, 주의 산만, 혹은 서두름 없이, 모든 초안에 대해 영원히 나머지 작업을 수행합니다.
핵심 요약 (Bottom Line)
브랜드 보이스(Brand Voice)는 일련의 규칙이며, 문서 속에만 존재하는 규칙은 아무런 역할도 하지 못합니다. 제가 보이스 규칙을 출판 전 자동으로 실행되는 플러그인으로 옮긴 순간, 출판된 실수들은 기사당 약 1개 수준에서 0개로 줄어들었습니다. 플러그인과 기술(skill)의 차이는 게이트(gate, 관문)와 제안(suggestion)의 차이입니다. 기술은 제가 기억하기를 기다리지만, 플러그인은 제가 기억하든 못하든 실행됩니다. 이것이 바로 피곤한 심야의 초안과 실제 라이브 스토어(live store) 사이에 서 있는 존재에게 기대하는 바로 그 모습입니다.
만약 당신이 상당한 양의 글을 쓰고 있으며 유일한 검토자가 당신뿐이라면, 게이트를 구축하십시오. 금지된 단어, 서식 규칙, 그리고 AI 흔적(AI tells)들을 모든 초안을 읽고 잘못된 초안의 통과를 거부하는 무언가에 집어넣으십시오. 후크(hooks)가 어떻게 연결되는지를 포함한 전체 설정은 Claude Blueprint에 있습니다. 가장 자주 어기는 다섯 가지 규칙부터 시작하십시오. 로그가 당신이 실제로 무엇을 잘못하고 있는지 가르쳐줌에 따라 규칙을 더 추가해 나가십시오.
이 기사에는 제휴 링크가 포함되어 있습니다. 이 링크를 통해 가입하시면, 귀하에게 추가 비용 부담 없이 저에게 소정의 수수료가 지급될 수 있습니다. (광고)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기