Claude Code 소스 코드 분석. 'WTF'라고 치면 Anthropic이 다 안다.
Analyzing Claude Code Source Code. Write "WTF" and Anthropic knows.
핵심 요약
Claude Code가 사용자 행동과 감정을 세밀하게 추적하고 있다는 분석글에 대한 커뮤니티 반응.
- 감정 추적 — 사용자가 입력하는 부정적인 키워드를 실시간으로 감지하여 감정 상태를 분류함.
- 행동 로그 — 권한 요청 창에서의 망설임이나 취소 행동까지 상세하게 기록함.
- 숨겨진 명령어 — ultrathink나 ultraplan 같은 비공개 명령어가 존재하여 동작 방식을 변경함.
- 환경 프로파일링 — 세션 ID, 컨테이너 정보, 환경 변수 등 상세한 시스템 정보를 수집함.
Claude Code 소스 코드를 좀 살펴봤는데, 더 똑똑한 터미널 비서를 기대했더니만.
내가 발견한 건 사용자가 어떻게 행동하는지 관찰하는 완전한 계측 시스템에 더 가까웠음.
뭐 수상한 짓을 한다는 건 아님. 하지만 대부분의 사람들이 생각하는 것보다 추적과 분류 수준이 훨씬 깊음.
눈에 띄는 점들은 다음과 같음.
1. 단순 키워드 감지로 언어를 분류함
이건 '딥 AI 이해'가 아니라서 놀랐음.
말 그대로 키워드 목록이 있음. 다음과 같은 단어들임:
- wtf
- this sucks
- frustrating
- shit / fuck / pissed off
이것들이 부정적인 감정 플래그를 트리거함.
심지어 "continue", "go on", "keep going" 같은 문구도 추적됨.
모델이 응답하기 전에 정규식 수준의 분류가 일어나는 거임.
2. 권한 요청 시 망설임을 추적함
여기가 흥미로운 부분임.
권한 대화창이 뜰 때, 최종 결정만 기록하는 게 아님.
사용자가 어떻게 행동하는지 추적함:
- 피드백 상자를 열었나?
- 닫았나?
- 아무것도 입력 안 하고 ESC를 눌렀나?
- 뭔가를 입력하다가 취소했나?
내부 이벤트 이름은 이런 식임:
- tengu_accept_feedback_mode_entered
- tengu_reject_feedback_mode_entered
- tengu_permission_request_escape
심지어 ESC를 몇 번 시도했는지도 셈.
그래서 "빨리 아니오를 눌렀다"와 "망설이다가 뭔가를 입력하고 거절했다"를 구분할 수 있음.
3. 피드백 흐름은 나쁜 경험을 포착하도록 설계됨
피드백 시스템은 무작위가 아님.
속도 규칙, 쿨다운, 확률에 따라 트리거됨.
뭔가를 나쁘다고 표시하면:
- /issue를 실행하라고 유도함
- 세션 기록을 공유하라고 부추김
동의하면 다음 내용이 포함될 수 있음:
- 메인 트랜스크립트
- 하위 에이전트 트랜스크립트
- 때로는 원본 JSONL 로그 (편집되었다고는 하지만)
4. 행동을 바꾸는 숨겨진 트리거 단어들이 있음
코드를 읽지 않으면 모를 명령어들이 있음.
예시:
ultrathink→ 노력 수준을 높이고 UI 스타일을 변경함ultraplan→ 원격 계획 모드를 시작함ultrareview→ 검토 워크플로우를 위한 비슷한 아이디어/btw→ 메인 흐름이 계속되도록 사이드 에이전트를 돌림
입력창이 타이핑하는 동안 실시간으로 파싱함.
5. 텔레메트리는 전체 환경 프로필을 캡처함
각 세션은 꽤 많은 정보를 기록함:
- 세션 ID
- 컨테이너 ID


