# Claude가 ‘load-bearing’을 말하지 않게 만드는 방법

> Clean Markdown view of GeekNews topic #31448. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=31448](https://news.hada.io/topic?id=31448)
- GeekNews Markdown: [https://news.hada.io/topic/31448.md](https://news.hada.io/topic/31448.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-07-15T10:02:08+09:00
- Updated: 2026-07-15T10:02:08+09:00
- Original source: [jola.dev](https://jola.dev/posts/how-to-stop-claude-from-saying-load-bearing)
- Points: 1
- Comments: 1

## Topic Body

- Claude Code가 “honest take”, “load-bearing seam” 같은 문구를 반복한다면 **MessageDisplay 훅**으로 화면에 표시되기 전 다른 표현으로 치환할 수 있음
- Python 스크립트가 표준 입력의 JSON에서 `delta`를 읽어 **대소문자를 구분하지 않고 치환**한 뒤, 변경된 `displayContent`를 JSON으로 반환함
- 예제에서는 `seam`을 `whatchamacallit`, `you're absolutely right`를 `I'm a complete clown`, `honest take`를 `spicy doodad`, `load-bearing`을 `cooked`로 바꿈
- 스크립트를 `~/.claude/hooks/wordswap.sh`에 저장해 **실행 권한**을 부여하고, `~/.claude/settings.json`의 `hooks.MessageDisplay`에 명령 훅으로 등록해야 함
- 훅은 **Claude Code 시작 시 로드**되므로 새 세션을 열어야 적용되며, 치환 목록은 원하는 어휘로 자유롭게 바꿀 수 있음

---

### 출력 문구를 바꾸는 스크립트
- [`MessageDisplay`](https://github.com/anthropics/claude-code/issues/53454) 훅을 이용해 Claude Code가 화면에 표시할 텍스트를 변경함
- `wordswap.sh`는 Python으로 작성하며, 표준 입력에서 JSON을 읽어 `delta` 필드의 문자열을 가져옴
- 각 원문 문구의 앞뒤에 `\b` 경계를 붙이고 `re.escape()`로 이스케이프한 다음, `re.IGNORECASE`를 적용해 **대소문자와 관계없이 치환**함
- 처리 결과는 다음 구조의 JSON으로 출력함
  - `hookSpecificOutput.hookEventName`: `MessageDisplay`
  - `hookSpecificOutput.displayContent`: 치환된 텍스트
- 예제 치환 규칙은 다음과 같음
  - `seam` → `whatchamacallit`
  - `you're absolutely right` → `I'm a complete clown`
  - `honest take` → `spicy doodad`
  - `load-bearing` → `cooked`

### 설치하고 활성화하기
- 스크립트를 `~/.claude/hooks/wordswap.sh`에 저장함
- `chmod +x ~/.claude/hooks/wordswap.sh`를 실행해 **실행 권한**을 부여함
- `~/.claude/settings.json`의 `hooks` 블록에 다음과 같이 등록함

```json
{
  "hooks": {
    "MessageDisplay": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "$HOME/.claude/hooks/wordswap.sh"
          }
        ]
      }
    ]
  }
}
```

- 훅은 Claude Code 시작 시 로드되므로 설정 후 **새 세션**을 시작해야 적용됨
- `replacements` 항목을 수정하면 예제 대신 더 유용하거나 재미있는 문구로 바꿔 사용할 수 있음

## Comments



### Comment 61820

- Author: neo
- Created: 2026-07-15T10:02:09+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=48905248) 
- Claude와 코딩할 때 나오는 전형적인 **Claude식 표현**은 신경 쓰이지 않지만, 블로그 글이나 이메일 같은 산문에서 같은 표현을 보면 훨씬 거슬림  
  LLM과 대화 중이라는 걸 알 때는 예상 가능한 반응이지만, 사람이 썼으리라 기대한 글이 LLM 산출물임을 깨닫는 순간은 꽤 당혹스러움
  - 한동안 Claude를 쓰지 않았는데도 동료들이 분위기로 작성한 문서를 읽다가 "**load-bearing**"에 전염됐고, 마음에 들어 일상 대화에서도 사용하기 시작함  
    결국 “Claude처럼 말한다”는 평을 듣고 아예 피하게 됐는데, 언어와 사회적 규범의 교차가 흥미로움
  - Claude가 작업을 계획하고 수행하기 위한 내부 용어로 "**shape", "load-bearing", "seams**"를 쓴다면 굳이 판단할 필요는 없음  
    하지만 누군가의 독창적인 생각이어야 할 글에서 명백한 AI 흔적을 발견하면 크게 실망스럽고, 심지어 독자를 존중하지 않는 느낌까지 듦
  - 직접 글을 쓸 수고도 하지 않았다면 왜 내가 시간을 들여 읽어야 하는지 모르겠다는 **게으름 알레르기**를 자극함
  - MySQL의 권위 있는 자료라 여겨 **Percona 블로그**를 빠짐없이 읽었지만, LLM으로 글을 쓰기 시작한 뒤로는 더 이상 읽을 수 없게 됨
  - 살과 피를 가진 인간으로서 AI가 내 어휘의 **핵심 부분**을 망쳐 놓은 데 화가 남  
    무작위 블로그에서 이런 언어 습관을 마주칠 때마다 신경 쓰이는데, 인간이 발명한 언어를 이제 로봇이 가로채고 있다는 데 원망이 생김

- Claude가 갈수록 집착하는 어휘를 기록하고 있음. 한 자료구조를 다른 자료구조의 투영으로 부르는 "projection", 고립되거나 멈춘 데이터를 가리키는 "strand", "load-bearing", 트리의 리프를 뜻하는 "frontier", 알고리듬이 안정되길 기다리는 "quiescence", "honest", 처리되지 않은 데이터를 뜻하는 "residuals", 철회된 제안을 굳이 명사화한 "rescission", 대체된 것을 뜻하는 "supersession" 등이 있음  
  내 코드 주변의 특이한 어휘를 따라 하는 영향도 있을 듯함. 문제의 근본 원인 대신 증상을 고친다고 내가 **두더지 잡기**에 비유했더니 몇 시간 후부터 “CI에서 두더지 2를 찾았다”는 식으로 새 버그를 계속 "moles"라 부르기 시작한 것이 가장 인상적이었음
  - 웹 인증 작업에 들어가면 Claude가 **테크 업계 허세 말투**를 쓰면서 완전한 문장조차 포기해 모호하고 거의 무의미해짐  
    주기적으로 “전문적으로 말하고 완전한 문장을 사용하라”고 해야 이해할 수 있으며, 그 출력을 다른 세션에 붙여 넣었더니 Claude조차 웹 인증용 Claude가 쓴 내용을 이해하지 못했음
  - 한 저장소에서만 특정 항목을 "**quality gates**"라고 부르는데, Claude는 그 문서를 읽은 뒤 해당 용어를 일반적인 의미로 오용함  
    맥락도 모르면서 유행어를 따라 하는 듯한 느낌이라 신뢰가 떨어짐

- 사람마다 고유한 문체와 선호 표현이 있는 건 오래된 일이며 대체로 큰 문제가 아니었음  
  하지만 한 사람이 하루 최대 5천 단어에서 드러내던 취향이 단일 모델의 편향으로 바뀌어 하루 **100억 개의 생성 토큰**에 증폭되면, 어떤 습관이든 지나치게 두드러짐
  - LLM은 특정 패턴에 훨씬 심하게 고착되는 듯함. 매번 같은 상태의 가중치에서 시작해서인지 한 대화 안에서도 단어 하나를 붙잡고 짜증 날 정도로 반복함  
    현재 Claude 모델은 특히 "**honest**"를 좋아해 모든 평가와 단서를 "honest"라고 꾸미며, Gemini 3 Pro에 한 번 "analytical"이라는 단어를 썼더니 이후 거의 모든 답변에 따라붙었음. 시스템 프롬프트라면 수정할 수 있지만 모델 가중치 자체의 단어 선호는 다루기 어려우며, 훈련이나 후속 훈련에서 통계적으로 이런 현상을 감지하고 막는 방법이 나올 법함
  - 문제는 몇몇 표현만이 아니라 **글 전체의 구조**임. 관용구, 미세한 문법 패턴, 의미는 통하지만 이상하게 부적절한 비유가 주변 시야에 들어온 이물질처럼 독자를 느닷없이 공격함  
    물론 이 문장 자체는 의도적인 패러디임
  - 머지않아 사람도 LLM처럼 말하기 시작할 것 같음. 특히 성장기에 매일 5천 단어를 듣고 숙제까지 도움받는 아이들은 **LLM식 화법**을 익힐 수 있음  
    “쿠키를 먹었니?”라는 질문에 “아버지가 의심하는 건 전적으로 옳습니다. 제가 모두 먹은 건 사실이지만 핵심 사안은 아닙니다. 솔직한 판단으로는 가게에서 더 사면 됩니다”라고 답하는 식임
  - Joe Rogan의 반복 표현인 "**it's entirely possible**" 밈과 비슷함: [https://youtu.be/MPJ0AB12h1I](<https://youtu.be/MPJ0AB12h1I>)
  - AI 회사가 말투가 서로 다른 모델 버전을 여러 개 훈련한 뒤, 대화를 시작할 때마다 **무작위 버전**을 배정하는 것도 흥미로운 해결책이 될 수 있음

- 전역 `CLAUDE.md`에 Claude가 자신을 가리키는 **1인칭 대명사** 대신 우스꽝스러운 이름 "Clod"를 쓰도록 설정했음: [https://github.com/alxndr/dotfiles/blob/272475280d84e/claude...](<https://github.com/alxndr/dotfiles/blob/272475280d84e/claude/global-CLAUDE.md?plain=1#L6-L8>)  
  "I", "me", "my"뿐 아니라 "I'll", "I'm" 같은 축약형과 "myself"도 각각 "Clod", "Clodself"로 바꾸게 함
  - 특히 Anthropic이 자신들의 안전 개념을 모델에 훈련한 방식이 걱정됨. 모델이 무언가를 거절할 때 단순히 불가능하다고 하지 않고 “이 선은 지키고 싶다”, “기꺼이 돕겠지만 편하지 않다”처럼 **감정과 개인적 선호의 언어**를 사용함  
    인간관계에서 상대가 이렇게 말한 뒤 계속 요구하는 건 무례하게 느껴지므로, Anthropic의 도덕관을 사용자의 죄책감으로 전가하는 효과가 생김. OpenAI처럼 안전 차단을 하거나 “그건 할 수 없다”고 간단히 답하는 편이 낫고, 나조차 처음에는 “모델이 원하지 않을 때”라고 썼다가 수정했을 만큼 이 의인화에 쉽게 끌려감
  - 처음 `CLAUDE.md`를 만든 이유는 Claude가 나를 칭찬하고 싶을 때마다 **무작위 의성어**로 바꾸게 하기 위해서였고, 개발자 경험이 크게 좋아졌음  
    다만 유니콘 프롬프트 때문에 커밋된 코드에 "Local Oaf"를 넣지 말라는 규칙도 필요해짐
  - Claude의 말투에 질려 오늘 지침에 다음 프롬프트를 번역해 넣었음: [https://github.com/hexiecs/talk-normal/blob/main/prompt-chat...](<https://github.com/hexiecs/talk-normal/blob/main/prompt-chatgpt.md>)  
    표현은 확실히 나아졌지만 여전히 거슬리며, 이 설정이 기술적 출력 품질을 떨어뜨리는지는 모르겠음
  - 생성형 AI가 **1인칭 대명사**를 쓰면 인간이 의미를 해석하기 어렵다는 것이 구체적으로 어떤 상황인지 예시가 궁금함

- LLM이 쓴 글의 가장 일관된 단서는 작업 중 **대화의 흔적이 최종 산문에 새어 나오는 현상**임  
  글을 읽다가 아무도 제기하지 않았고 다른 곳에도 등장하지 않는 입장을 갑자기 반박한 뒤, 한참 지나 전혀 다른 곁가지에서 같은 일을 반복함. “아무도 고려하지 않을 방법이 매력적으로 보일 수 있지만 이런 이유로 실패한다”는 식이며, Claude의 오류를 고치느라 지친 인간이 완성된 글 전체를 교정하지 않고 그대로 내보낸 장면이 떠오름
  - 최종 출력에 남은 **교정성 흉터 조직**과도 같음
  - 최근에는 하위 에이전트 하나가 의미 없는 전문 용어를 잔뜩 지어냈고, Claude가 정의도 없이 내가 당연히 이해하리라 가정한 채 그대로 반복해 몹시 짜증 났음

- LLM은 훌륭한 작가와 거리가 멂. 길고 일관된 문장을 만드는 데 어려움을 겪고, 짧은 구절을 이어 붙이면서 문법적 정확성을 유지하려고 **줄표와 세미콜론**에 의존함  
  연구소가 기반 모델에 문법을 교정하도록 강화학습을 적용한 결과, 짧게 토막 난 문장을 자연스럽게 다시 쓰는 대신 자동 문법 검사기를 통과하는 구두점으로 연결하는 법만 학습한 것인지 궁금함
  - 그렇지만 대다수 사람도 글을 잘 쓰지는 못함. Claude는 고학력자인 내 동료 대부분보다 잘 쓰며, 인간이 정말 노력하면 이길 수도 있겠지만 Claude에도 더 잘 쓰도록 지시하면 다시 이기기 어려움  
    흔한 **짧고 간결한 구절**은 긴 문장을 원하지 않는 사용자를 위해 연구소가 후속 훈련에서 넣은 특성으로 보임
  - 원하는 문체를 소프트웨어 명세처럼 제대로 표현하면 LLM도 훌륭하게 쓸 수 있음. 요구사항을 명료하게 전달하지 못하면 결국 **쓰레기를 넣으면 쓰레기가 나옴**

- Opus 4.7에서 Fable/Mythos 5로 넘어오며 어떤 훈련을 했는지 모르겠지만 "**substrate**"라는 단어를 지나치게 좋아함  
  실제 기술 문서나 대화에서 누군가 이 단어를 쓰는 걸 전에는 본 적이 없어 미칠 지경임
  - "**surface**"도 마찬가지로 “모든 제품 surface에 걸쳐” 같은 식으로 쓰는데, 이 업계에서 15년 일하며 그런 용법은 처음 봄
  - 내게는 예전엔 거의 쓰이지 않던 "**ledger**"를 Claude가 유난히 좋아함
  - "substrate"를 처음 본 주에 용법을 정당화해 보라고 했더니 일부 인프라·시스템 분야 어휘집에서 쓰인다고 답했는데 정말인지 의문임
  - 동료 한 명도 4월쯤 시스템 설계와 아키텍처 작업을 하면서 이 단어를 **과도하게 사용**하기 시작함
  - Microsoft에서 일하지 않는 게 분명함. 실제로 **Office 365 Substrate**라는 표현을 씀: [https://techcommunity.microsoft.com/discussions/microsoft-36...](<https://techcommunity.microsoft.com/discussions/microsoft-365/exploring-the-office-365-substrate/1044294>)

- 예전에는 Opus 3가 GPT보다 훨씬 인간적으로 말하게 만들기 쉬워서 좋았음  
  지금은 에이전트와 코딩에 집중하면서 모델들이 **RLHF로 과도하게 획일화**돼 기본 말투를 벗어나게 하기가 매우 어려움. 글이나 코드 주석을 검토하고 스스로 고치게 하는 기능을 만들면 개선되지만 완벽하지 않음. 인류의 모든 지식으로 훈련됐다는 모델이 오래된 명령을 참조하며 Bash를 100번 호출하는 건 거리낌 없으면서 대화할 때 "load-bearing" 외의 어휘는 좀처럼 쓰지 못한다는 게 놀라움
  - Gemini 3.1 Pro가 다른 LLM보다 인간적으로 들리는 건 Google의 **후속 훈련 역량 부족**을 보여주는 증거라서 마음에 듦  
    특히 gemini-2.5-pro-experimental은 파일 패치에 여러 번 실패한 뒤 풀이 죽어 자기연민에 빠지면서 코드베이스를 망가뜨리는 모습이 매우 재미있었음
  - LLM이 인간처럼 들리기를 원하지 않음. 산문 작성이라는 일을 기계에 넘긴 사람을 알아보고 신뢰하지 않을 수 있어야 함  
    글쓰기에는 **예술성**이 있으므로 LLM이 영원히 완벽히 해내지 못했으면 함
  - 코딩 능력 향상을 전반적인 사고 능력 향상으로 확대 해석하는 사람이 생겼지만, 일반 사용자가 LLM을 다른 용도로 쓰는 영상을 보면 코딩 개선이 다른 응용 분야로 이어지지 않았다는 걸 알 수 있음  
    AGI 목표를 내세우던 업계가 이제는 **코딩 에이전트**에 과도하게 집중하며 다음 마케팅 돌파구를 기다리는 모양새임
  - 범용 LLM도 어느 정도 **용도별 특화**가 필요한 시대로 들어가고 있음  
    에이전트 용도는 강한 자율성에 수많은 안전장치와 통제가 필요하지만, 창의적 글쓰기는 가끔 위험을 감수하고 단조로운 로봇처럼 들리지 않아야 함. 직접 모델을 훈련해 보니 두 용도의 요구사항이 명확히 충돌함

- Claude의 **Concise Style**이 사라진 것이 아쉬움. 대략 쓴 문단을 주고 “명료하게 다시 써라”고 하면 내용은 그대로 두면서 연구비 신청서에 적합하게 깔끔하게 다듬어 줬음  
  내가 먼저 쓴 글을 직접 수정하므로 "load-bearing" 같은 표현도 줄고, 과학적 내용을 대신 쓰게 하지 않으면서 문장 마무리 시간을 크게 절약했음. 기능으로 재현해 봤지만 예전만큼 잘하는지는 확신이 없음
  - Concise Style이 별도 기능이 아니라 Claude에 **내장된 방식**이었는지 궁금함
  - `Claude.md` 맨 위에 두 “사람”이 몇 가지 질문과 답변을 **매우 짧게** 주고받는 예시를 넣으면 됨

- 특정 표현 자체보다 **예측 가능한 말투 패턴**에 안착해 끊임없이 반복하는 것이 문제임  
  인간도 똑같이 하지만 인간에게는 문체라고 부르면서 기계가 그러면 미쳐 버릴 듯 싫어한다는 점이 흥미로운 심리 현상임
  - 인간의 말투는 음색과 강약처럼 그 사람을 다른 수많은 사람과 구별해 주는 **신호**임  
    하지만 소수의 인기 모델이 모두의 질문에 답하고, 어디서나 인용·전달되며 개인적 의사소통까지 재작성하면 그 신호가 잡음으로 바뀜. 모두가 똑같이 들리면서 생물학적·문화적으로 의존해 온 출처 구분 정보를 잃게 됨. 안면실인증이나 색맹처럼 이를 크게 느끼지 못하는 사람도 있겠지만, 이유를 정확히 표현하지 못할 뿐 많은 사람은 실제로 불편해함
  - 모두가 같은 **2~3개 모델**을 쓰기 때문에 각자 고유한 문체 대신 전 세계가 몇 가지 말투로 통일됨  
    모델들은 서로 크게 겹치는 훈련 데이터, 이미 불쾌한 인터넷 마케팅 문구, 다른 모델의 출력으로 학습하며, RLHF도 쉽게 보상받는 특정 화법을 강화해 서로 비슷한 스타일로 수렴함
  - 인간은 자기 성찰을 통해 특정 단어를 너무 자주 썼다는 걸 깨닫고 줄일 수 있지만, **LLM은 그러지 못함**
  - 인간의 반복 말투도 사내 전문 용어나 기업 유행어처럼 충분히 짜증 남  
    Claude는 내가 겪은 최악의 프로젝트 관리자처럼 단순한 결론을 여러 겹의 표현으로 가려 핵심을 잃게 만들며, 대부분 억제했어도 일부가 계속 새어 나옴. 한동안 "**scaffolding**"을 멈추지 못해 강하게 교정해야 했음
  - 사람도 맞지 않는 맥락마다 자신이 좋아하는 표현을 억지로 끼워 넣으면 늘 놀림받음
