AIの〝人格〟は3層でできている — 実測して確かめた Claude Code の振る舞い設計
Claude Code の口調や進め方は、前提として渡されている指示文=システムプロンプトで決まる。その〝人格〟のどこまでが固定で、どこからが自分で書ける領域なのか。指示文を3つの層に分け、自作の output-style を足すと AI に渡る情報の量がどう動くかを自分の環境で実測した記事。
AIに「いい感じに書いて」と頼み、出てきたものをそのまま受け取る。これが Vibe Coding だった。では次の一歩は何か。私は「AIの〝性格〟そのものを設計すること」だと考えている。
Claude Code(Anthropicのコーディング支援ツール)の振る舞いは、最初から決まった指示文 ── システムプロンプト(AIに前提として渡されている指示の文章)── で決まっている。そしてその一部は自分で差し替えられる。今回は「本当に差し替わっているのか」を、実際に手元でトークン数を数えて確かめた。
結論を先に言う。AIの人格は「3つの層」でできていて、いちばん上の層は自分で設計できる。 そして層は本当に加算される ── ただし「不要な層を消せば必ず軽くなる」ほど単純でもない、というのが実測で分かったことだ。
なぜ「3層」なのか
Claude Codeのシステムプロンプトを分解すると、おおむね次の3層に整理できる。
- ① 土台 … 「情報が揃ったら動く」「取り返しのつかない操作は先に確認する」「結果は正直に報告する」。AIの「職業倫理」にあたる部分で、ここは消せない
- ② SWE指示 … SWE(ソフトウェアエンジニアリング=プログラム開発の作法)に特化した指示。「変更は最小限に」「テストで確かめてから完了とする」「頼まれない限りコメントを足さない」など。この層はオン/オフを切り替えられる
- ③ output-style … AIの口調・説明の仕方・進め方を変える設定。自分で書いて足す層
ポイントは、いちばん上の③が「ユーザーに開かれている」こと。AIの中身を全部いじるのではなく、振る舞いの最上層だけを安全に設計できるようになっている。
実際に測ってみた ── 層は本当に加算されるのか
図で説明されても「本当にそうなっているのか」は分からない。そこで、自分の環境にある3パターンの設定を、同じ空の質問(「hi」)で1回ずつ実行し、システムプロンプトのトークン量(キャッシュ生成量として実測できる)を比較した。
| 設定 | 内容 | ファイルサイズ | ②SWE指示 | 実測トークン量 | 素の設定との差 |
|---|---|---|---|---|---|
| 素の設定(③なし) | Claude Code標準のまま | ─ | オン(既定) | 22,787 | ─ |
| 自作style A | ①②③を内包・②はオフ設定 | 7.9KB | オフ | 25,344 | +2,557 |
| 自作style B | ①②③を内包・②の代わりに自前の5原則+委任ルールを内蔵 | 14.7KB | オフ(自前の原則に置換) | 26,519 | +3,732 |
(1回のみの実測値であり、多少の測定誤差はある前提で読んでほしい。それでも傾向は明確に出ている)
ここから読み取れることは2つある。
- 層は本当に加算される。 ③(output-style)を足すと、システムプロンプトは確実に数千token分重くなる。「設定ファイルを1枚足しただけ」でも、AIに渡る前提情報は無料ではない
- でも「②をオフにすれば軽くなる」わけではない。 style B は②SWE指示を明示的にオフにしているのに、②をオンのままのstyle Aより1,175token重い。理由は単純で、②の代わりに自分で書いた5原則+委任ルールの文量が、標準の②指示より多かったから。層の重さを決めるのは「オン/オフ」ではなく「③に何をどれだけ書いたか」、という非自明だが実務上は重要な事実がここで分かる
output-styleを使うと何が変わるか
③のoutput-style(出力スタイル=AIの応答の仕方を切り替える設定)を自作すると、具体的に何が起きるのか。
Anthropicの公式ドキュメントは、output-styleの役割をこう定義している ── 「AIが何を知っているかではなく、どう応答するかを変える」。知識を足すのではなく、態度・口調・型を変える層だ。
例えばこんな設計ができる。
- 「いつも図解から説明して」と書けば、毎回ダイアグラム付きで返ってくる
- 「先に結論、次に理由」と決めれば、回りくどい前置きが消える
- 「日本語で、丁寧すぎず率直に」と書けば、そっけない(terse〔=簡潔でそっけない〕)応答を、ちょうどいい温度に直せる
面白いのは、自作のoutput-styleを使うと、②のSWE指示が既定でオフになるという挙動だ。コーディングも続けたい場合は keep-coding-instructions(コーディング指示を残すかどうかの設定)をオンにすれば②を呼び戻せる。ただし上の実測が示す通り、②を呼び戻すかどうかはトークン量にはほとんど効かない。効くのは③に自分がどれだけ書き込むかの方だ。要するに、「どこまでAIに任せ、どこを自分で決めるか」を層ごとに選べるが、「軽くしたいなら層を減らす」という発想は半分しか正しくない。
Vibeから Agenticへ、いちばん具体的な入口
Vibe Codingは「出てきたものを受け取る」姿勢だった。Agentic Codingは「AIの設定そのものを設計する」姿勢だ。output-styleは、その「設計する側」に回るための、いちばん具体的で安全な入口になる。
AIに合わせて自分が我慢するのではない。AIをあなたに合わせて設計する。
難しいことはいらない。まずは ~/.claude/output-styles/ に短いマークダウンを1枚置いてみる。「どう振る舞ってほしいか」を数行書くだけだ。ただし今回の実測を踏まえるなら、書けば書くほどタダではないことも頭の片隅に置いておくといい。それだけで、汎用のAIがあなた専用の相棒に変わり始める。