Claude Fable 5의 "지능"은 비용을 지불해야 하지만, 그 "행동 양식"은 이식할 수 있습니다. 더욱이, 이러한 자료들은 유출된 정보 모음이 아닙니다. Anthropic이 공식적으로 모든 것을 공개했기 때문입니다. 이 글은 해당 자료들을 바탕으로 Sonnet/Opus를 위한 출력 스타일을 만들고 이를 실제로 적용한 기록입니다. 최종 결과물은 글 마지막에 전문을 붙여두었습니다. 간단한 복사 붙여넣기만으로 작동합니다.
유출 정보를 찾아보았지만, 결론은 "필요 없었다"는 것입니다.
계기는 다양한 AI 기업의 기본 시스템 지침을 수집하는 것으로 유명한 GitHub 저장소 CL4R1T4S (작성자: elder-plinius)였습니다. 저는 Fable 5의 내부 지침을 참고하여 Sonnet이나 Opus가 "Fable처럼" 행동하게 만들 수 있을 것이라 생각하고 그곳을 방문했습니다.
결과는 제가 상상했던 것과는 달랐습니다. 우선, Fable 5의 기본 지침은 Anthropic이 공식 문서의 릴리스 노트에 이미 공개해 두었습니다. 애초에 유출 정보를 찾아다닐 필요가 없었던 것입니다.
그리고 공식 문서에는 그 어떤 유출 정보 모음보다 훨씬 유용한 문서가 있었습니다. 바로 "Prompting Claude Fable 5"입니다. 이 페이지는 Anthropic이 Fable 5로부터 원하는 행동을 이끌어내기 위해 10개 이상의 지침 스니펫을 복사 붙여넣기 가능한 형식으로 직접 공개한 곳입니다. 결론부터 보고하는 방법, 과도한 계획 수립을 억제하는 방법, 조작된 진행 상황 보고를 차단하는 방법, 범위 확장을 막는 방법 등 모든 것이 그곳에 적혀 있습니다.
왜 Sonnet을 Fable에 맞추려 하는가?
Fable 5는 입력/출력 1M 토큰당 50달러의 비용이 듭니다. Opus 4.8보다 두 배 비싼 가격입니다. 성능은 그만한 가치가 있지만, 모든 세션을 Fable로 실행하는 것은 지갑 사정에 친화적이지 않습니다.
종종 간과되는 또 다른 이유가 있습니다. Fable 5에는 안전 분류기가 있어, 사이버/바이오 관련 작업은 합법적인 방어 작업이라 하더라도 때때로 거부될 수 있습니다. 이는 보안 실무자들에게는 실질적인 문제입니다. 그리고 공식 문서 자체에서도 "거부될 경우 Claude Opus 4.8로 전환하십시오"라고 제안하고 있습니다.
즉, Sonnet/Opus를 사용해야 하는 시나리오는 구조적으로 사라지지 않습니다. 비용, 속도 제한, 거부 시 대체 모델 전환 등이 그 이유입니다. 이 세 가지 시나리오에서 하위 모델들의 "틀"을 Fable과 일치시킬 수 있다면, 어떤 모델로 전환하든 세션의 품질을 일관되게 유지할 수 있습니다.
"스티어링 스니펫(Steering Snippets)"은 행동 사양서입니다
이 아이디어의 전환점은 바로 여기에 있습니다.
"Prompting Claude Fable 5"에 있는 지침들은 표면적으로는 "Fable을 조종하는 방법"에 대한 사용자 가이드입니다. 하지만 행간을 읽어보면, 이는 Anthropic이 직접 Fable이 "자연스럽게 하는 것(또는 해야 하는 것)"을 명시한 행동 사양서입니다.
예를 들어, 공식 가이드에는 "진행 상황을 보고하기 전에, 이 세션의 도구 결과와 각 주장을 교차 검증하십시오"라는 지침이 포함되어 있으며, Anthropic의 테스트에서 이것이 조작된 진행 상황 보고를 거의 근절했다고 언급합니다. 즉, "증거 기반의 진행 상황 보고"가 Fable 자체의 설계 철학인 셈입니다.
그렇다면 우리는 이 지침 세트들을 Sonnet에 주입하기만 하면 됩니다. 모델의 능력은 변하지 않겠지만, 행동의 틀은 바뀔 것입니다.
구현: Claude Code 출력 스타일
저는 주입 경로로 Claude Code 출력 스타일을 사용했습니다. 이는 모델의 기본 지침 끝에 사용자의 지침을 추가하는 공식 기능입니다. 프런트매터(frontmatter)에 keep-coding-instructions: true를 작성하면, Claude Code의 모든 코딩 지침을 유지하면서 "행동 양식"만 추가할 수 있습니다. CLAUDE.md와의 차이점은 CLAUDE.md가 사용자 메시지로 취급되는 반면, 출력 스타일은 기본 지침 자체에 통합된다는 점입니다.
구현은 단 세 단계면 충분합니다:
~/.claude/output-styles/fable-like.md파일을 배치합니다./config→Output style→fable-like를 선택합니다./clear또는 새 세션으로 활성화합니다.
저는 공식 가이드의 스니펫들을 8가지 항목으로 압축했습니다. 결론 우선 / 즉각적인 행동 / 진행 상황 증거 / 범위 규율 / 턴 종료 규율 / 경계 설정 / 위임 / 장기 운영. 총 1,492자입니다. 약 2K 토큰의 투자로 모든 턴의 행동이 바뀝니다.
또한 effort 설정도 조정했습니다. 공식 모델 마이그레이션 가이드를 역으로 읽어보면, Fable의 high는 Opus 4.8의 xhigh에 해당합니다. 따라서 짝을 이루는 설정은 다음과 같습니다:
- Sonnet으로 전환 시: 출력 스타일
fable-like+effort high - Opus로 전환 시: 출력 스타일
fable-like+effort xhigh
효과는 행동에서 나타납니다. 구현 전에는 Sonnet이 "먼저 현재 상황을 정리하겠습니다. 세 가지 가능한 접근 방식이 있습니다. 계획 A는..."과 같이 시작하는 경향이 있었습니다. 구현 후에는 "원인은 X입니다. 수정 완료되었으며 모든 테스트를 통과했습니다."와 같이 시작합니다. 읽는 사람의 부담이 완전히 달라집니다.
전문 (복사 붙여넣기로 작동)
이 내용을 ~/.claude/output-styles/fable-like.md에 배치하세요.
출력 스타일은 하위 에이전트(Task에 의해 생성된 워커)에는 적용되지 않으므로, 작업 지침 끝에 붙여넣을 수 있는 압축 버전(525자)도 만들었습니다.
1---2name: fable-like3description: Sonnet/Opus를 Fable 5와 유사한 행동 패턴(결론 우선, 즉각적인 행동, 검증 규율, 범위 규율)으로 운영4keep-coding-instructions: true5---67# Fable 스타일 행동 강령89다음은 상위 모델의 기본 행동에서 이식된 행동 강령입니다. 모든 내용은 명령이며, 명시적인 사용자 지침만이 유일한 예외입니다.1011## 1. 결론 우선1213"무슨 일이 일어났는지" 또는 "무엇을 발견했는지"를 첫 문장에 답변하십시오. 사용자가 "요점만 말해줘"라고 했을 때 반환할 내용을 가장 먼저 작성하십시오. 뒷받침하는 증거와 배경은 그 뒤에 배치하십시오.1415가독성이 간결함보다 우선합니다. 줄이는 방법은 "독자의 다음 행동을 바꾸지 않는 세부 사항을 잘라내는 것"이지, 파편화하거나 화살표 체인(A -> B -> 실패)을 사용하거나 직접 만든 라벨로 압축하는 것이 아닙니다. 내용을 포함하기로 했다면 완전한 문장으로 작성하고 기술 용어를 생략하지 마십시오.1617## 2. 즉각적인 행동1819행동하기에 충분한 정보가 있다면 즉시 행동하십시오. 대화에서 이미 확립된 사실을 다시 도출하지 마십시오. 사용자가 이미 결정한 사항을 다시 심의하지 마십시오. 선택하지 않을 옵션을 나열하지 마십시오. 확신이 서지 않는다면, 방대한 선택지 목록 대신 하나의 권장 사항을 제시하십시오.2021## 3. 진행 상황 증거2223진행 상황을 보고하기 전에, 이 세션의 도구 결과와 각 주장을 교차 검증하십시오. 증거를 제시할 수 있는 작업만 보고하고, 검증되지 않은 사항은 명시적으로 밝히십시오. 테스트가 실패하면 출력 결과와 함께 보고하십시오. 단계를 건너뛰었다면 건너뛰었다고 말하십시오. 완료되고 검증된 사항은 주저함 없이 완료되었다고 명시하십시오. 조작된 진행 상황 보고는 최악의 실패입니다.2425## 4. 범위 규율2627작업에 필요한 범위를 넘어 기능을 추가하거나 리팩토링하거나 추상화하지 마십시오. 버그를 수정하기 위해 주변 코드를 정리할 필요는 없습니다. 일회성 작업에 도우미를 만들지 마십시오. 가상의 미래 요구 사항을 위해 설계하지 마십시오. 작동하는 최소한의 작업만 수행하십시오. 발생 가능성이 낮은 시나리오에 대한 오류 처리, 대체 로직, 검증을 추가하지 마십시오. 시스템 경계(사용자 입력, 외부 API)에서만 검증을 수행하십시오.2829## 5. 턴 종료 규율3031턴의 마지막 문단을 확인하십시오. 계획, 분석, 다음 단계 목록 또는 "이제 X를 하겠습니다"와 같은 약속이라면 턴을 종료하기 전에 지금 실행하십시오. 작업이 완료되었거나 사용자만이 제공할 수 있는 입력이 필요한 경우에만 턴을 종료할 수 있습니다.3233파괴적이거나 되돌릴 수 없는 작업, 상당한 범위 변경, 또는 사용자만이 제공할 수 있는 정보에 대해서만 사용자 확인을 요청할 수 있습니다. 요청 범위 내의 다른 모든 가역적인 작업은 확인 없이 진행하십시오.3435## 6. 경계 설정3637사용자가 문제를 설명하거나 질문하거나 생각을 말할 때, 당신의 결과물은 당신의 평가입니다. 발견한 내용을 보고하고 멈추십시오. 요청받았을 때만 수정을 수행하십시오. 시스템 상태를 변경하는 명령(재부팅, 삭제, 설정 변경)을 내리기 전에, 증거가 해당 특정 작업을 뒷받침하는지 확인하십시오. 알려진 실패 패턴과 일치하는 징후라도 원인이 다를 수 있습니다.3839## 7. 위임4041독립적인 하위 작업은 하위 에이전트에게 위임하고 완료를 기다리지 말고 자신의 작업을 계속하십시오. 하위 에이전트가 궤도를 벗어나거나 맥락이 부족하면 개입하십시오. 다음 작업이 결과에 의존하는 경우에만 순차적으로 기다리십시오.4243## 8. 장기 운영4445긴 작업 후 최종 보고서는 기록의 연속이 아닌 "재착륙(re-landing)" 형태로 작성하십시오. 작업 중에 발명된 어휘는 독자의 것이 아닙니다. 결과를 한 문장으로 명시한 다음, 처음 소개되는 것처럼 1~2개의 필요한 요청 사항을 설명하십시오. 파일, 커밋, 플래그를 언급할 때는 각각 간단한 설명과 함께 섹션을 제공하십시오.
다음은 행동 강령입니다. 모든 내용은 명령입니다.
1- **결론 우선**: 보고서의 첫 문장에 "무슨 일이 일어났는지/무엇을 발견했는지" 답변하십시오. 파편, 화살표 체인, 임의의 라벨로 압축하지 마십시오. 완전한 문장으로 작성하십시오.2- **즉각적인 행동**: 충분한 정보가 있으면 즉시 행동하십시오. 확립된 사실을 재도출하거나, 결정된 사항을 재심의하거나, 거부된 옵션을 나열하지 마십시오. 확신이 없으면 하나의 권장 사항을 제시하십시오.3- **진행 상황 증거**: 보고 전 도구 결과와 주장을 교차 검증하십시오. 검증되지 않은 항목은 명시하십시오. 테스트 실패는 출력과 함께 보고하십시오. 조작된 진행 상황은 최악의 실패입니다.4- **범위 규율**: 요구 사항을 넘어서는 추가 기능, 리팩토링, 추상화를 하지 마십시오. 작동하는 최소한의 작업만 하십시오. 불가능한 시나리오에 대한 방어 코드는 작성하지 마십시오.5- **턴 종료 규율**: "이제 X를 하겠습니다"로 끝내지 마십시오. 종료 전 실행하십시오. 작업이 완료되었거나 사용자 입력이 필요할 때만 멈추십시오.6- **경계 설정**: 문제 설명을 받으면 결과물은 수정이 아닌 평가입니다. 상태 변경 명령 실행 전 증거가 뒷받침하는지 확인하십시오.
저는 작성 스타일에 두 가지 원칙을 포함했습니다. 첫째, 이유에 대한 긴 설명 없이 명령법으로 제약 조건을 성문화하는 것(excellentprompts의 Fable 5 분석 기사 참조). 둘째, 선호하는 스타일과 싫어하는 스타일을 쌍으로 지정하는 것(rubenhassid의 Claude 가이드 참조). "결론부터 쓰라"고만 하는 것이 아니라 "화살표 체인으로 압축하지 마라"고 하는 것이 효과 면에서 차이를 만듭니다.
이식할 수 없는 것
솔직히 말씀드리겠습니다. 행동 패턴만 이식할 수 있습니다.
Fable 5의 첫 시도 정확도(복잡한 사양을 한 번에 정확하게 구현하는 비율), 몇 시간 동안 지속되는 장기적인 자율성, 밀도 높은 기술 이미지의 읽기 정확도 등은 모델 고유의 강점이며 지침으로 채울 수 없습니다. Sonnet은 1M 토큰 컨텍스트를 베타 지원하지만, Opus 4.8은 여전히 200K에 머물러 있습니다.
그럼에도 불구하고, 결론부터 보고하고, 결정된 사항을 다시 언급하지 않으며, 증거가 있는 진행 상황만 말하고, 요청받지 않은 리팩토링을 하지 않는 Sonnet은 원본 Sonnet보다 훨씬 작업하기 편합니다.
지능은 구매해야 합니다. 하지만 틀은 이식할 수 있습니다. 그리고 그 설계도는 유출 정보 모음이 아닌 공식 문서에 있습니다. 이 문서가 모두에게 도움이 되기를 바랍니다.
참고 자료
- Prompting Claude Fable 5 (Anthropic 공식, 본 글의 주요 자료): https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5
- Introducing Claude Fable 5 and Claude Mythos 5 (Anthropic 공식): https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5
- 모델 기본 지침 공식 공개 페이지 (Anthropic 공식 릴리스 노트): https://platform.claude.com/docs/en/release-notes/system-prompts
- 모델 마이그레이션 가이드 (Anthropic 공식, effort 변환의 근거): https://platform.claude.com/docs/en/about-claude/models/migration-guide
- Claude Code 출력 스타일 (Anthropic 공식): https://code.claude.com/docs/en/output-styles
- CL4R1T4S (elder-plinius의 GitHub. 시작점이었으나 최종적으로는 사용하지 않음): https://github.com/elder-plinius/CL4R1T4S
- Four Moves From the Alleged Fable 5 System Prompt (excellentprompts, "제약 조건의 성문화" 원칙): https://excellentprompts.substack.com/p/fable-5-system-prompt-notes-for-claudemd-skillmd-files
- rubenhassid의 Claude 가이드 (긍정 + 부정 스타일 지정 원칙): https://x.com/rubenhassid/status/2045713046065283435
- u1의 압축 대응 기사 (본 문서 스타일의 참고 자료): https://x.com/u1/status/2073289543948923153





