Files
claude-code-source-code/docs/ko/02-숨겨진-기능과-코드네임.md
2026-04-01 18:55:02 +08:00

4.9 KiB

숨겨진 기능과 모델 코드네임

인터넷에 공개된 자료와 커뮤니티 토론을 바탕으로 정리된 Claude Code v2.1.88 분석 보고서.

모델 코드네임 체계

Anthropic은 내부 모델 코드네임으로 동물 이름을 사용한다. 외부 빌드로의 유출을 적극적으로 차단하고 있다.

알려진 코드네임

코드네임 역할 근거
Tengu (천구) 제품/텔레메트리 접두사, 모델일 가능성 있음 250개 이상의 분석 이벤트 및 feature flag에 tengu_* 접두사로 사용
Capybara (카피바라) Sonnet 계열 모델, 현재 v8 capybara-v2-fast[1m], v8 동작 문제 패치 존재
Fennec (페넥여우) Opus 4.6 이전 모델 마이그레이션: fennec-latestopus
Numbat (넘뱃) 차기 모델 출시 예정 주석: "Remove this section when we launch numbat"

코드네임 보호

undercover 모드에서 보호 대상 코드네임이 명시적으로 나열되어 있다:

// src/utils/undercover.ts:48-49
NEVER include in commit messages or PR descriptions:
- Internal model codenames (animal names like Capybara, Tengu, etc.)
- Unreleased model version numbers (e.g., opus-4-7, sonnet-4-8)

빌드 시스템은 scripts/excluded-strings.txt를 사용하여 유출된 코드네임을 검출한다. Buddy 시스템의 종(species)은 String.fromCharCode()로 인코딩하여 canary 검출을 우회한다:

// src/buddy/types.ts:10-13
// One species name collides with a model-codename canary in excluded-strings.txt.
// The check greps build output (not source), so runtime-constructing the value keeps
// the literal out of the bundle while the check stays armed for the actual codename.

충돌하는 종은 capybara — 펫 종이자 모델 코드네임이다.

Capybara 동작 이슈 (v8)

아키텍처에서 Capybara v8의 구체적 동작 문제가 확인된다:

  1. Stop sequence 오발동 (프롬프트 끝에 <functions> 있을 때 ~10% 발생)

    • 출처: src/utils/messages.ts:2141
  2. 빈 tool_result 시 출력 없음

    • 출처: src/utils/toolResultStorage.ts:281
  3. 과도한 주석 삽입 — 전용 주석 방지 프롬프트 패치 필요

    • 출처: src/constants/prompts.ts:204
  4. 높은 허위 주장 비율: v8은 29-30%, v4는 16.7%

    • 출처: src/constants/prompts.ts:237
  5. 불충분한 검증 — "철저함 보정값(thoroughness counterweight)" 필요

    • 출처: src/constants/prompts.ts:210

Feature Flag 명명 규칙

모든 feature flag는 tengu_ 접두사에 무작위 단어 조합을 사용하여 목적을 난독화한다:

Flag 용도
tengu_onyx_plover Auto Dream (백그라운드 기억 통합)
tengu_coral_fern memdir 기능
tengu_moth_copse memdir 추가 스위치
tengu_herring_clock Team memory
tengu_passport_quail Path 기능
tengu_slate_thimble memdir 추가 스위치
tengu_sedge_lantern Away Summary
tengu_frond_boric 분석 킬스위치
tengu_amber_quartz_disabled 음성 모드 킬스위치
tengu_amber_flint Agent teams
tengu_hive_evidence 검증 에이전트

무작위 단어 패턴(형용사/재질 + 자연/사물)은 외부 관찰자가 flag 이름만으로 기능 목적을 추론하는 것을 방지한다.

내부 사용자와 외부 사용자 차이

Anthropic 직원(USER_TYPE === 'ant')은 상당히 다른 대우를 받는다:

프롬프트 차이 (src/constants/prompts.ts)

항목 외부 사용자 내부 사용자 (ant)
출력 스타일 "Be extra concise" (극도로 간결하게) "Err on the side of more explanation" (설명을 더 하는 쪽으로)
허위 주장 대응 없음 전용 Capybara v8 패치 적용
수치적 길이 기준 없음 "도구 사이 ≤25단어, 최종 답변 ≤100단어"
검증 에이전트 없음 비자명한 변경에 필수 적용
주석 가이드 일반적 전용 과잉 주석 방지 프롬프트
선제적 교정 없음 "사용자에게 오해가 있으면 지적"

도구 접근

내부 사용자만 접근 가능한 도구:

  • REPLTool — REPL 모드
  • SuggestBackgroundPRTool — 백그라운드 PR 제안
  • TungstenTool — 성능 모니터링 패널
  • VerifyPlanExecutionTool — 계획 실행 검증
  • Agent 중첩 (에이전트가 에이전트를 생성)

숨겨진 명령어

명령어 상태 설명
/btw 활성 작업 중단 없이 곁다리 질문
/stickers 활성 Claude Code 스티커 주문 (브라우저 열림)
/thinkback 활성 2025 연말 회고
/effort 활성 모델 노력 수준 설정
/good-claude 스텁 숨겨진 플레이스홀더
/bughunter 스텁 숨겨진 플레이스홀더