0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeで5人のAIに「口調」を定義したら、別人が生まれた

0
Last updated at Posted at 2026-03-11

Claude Codeシリーズ: #1 MCP10連携#2 CLAUDE.md設計術#3 口調と人格(本記事)

「入りません。」

スケジュールの無茶を言ったとき、AIからその一言が返ってきた。敬語でもなく、説明でもなく、ただ3文字。

一瞬ムッとした。でもすぐ笑った。ああ、こいつはCだ。秘書のCなら、たしかにそう言う。

同じClaude Codeの中に5人のAIがいる。全員同じモデルが動いている。なのに、エンジニアのTに技術の相談をすると「3時間後に動くもの見せます」とぶっきらぼうに返ってくるし、リサーチャーのIに調べ物を頼むと「ちなみにこれ、ご存知ですか——」と脱線しながら深掘りしてくる。5

口調を定義しただけだ。たったそれだけで、AIが「別人」になった。


素のClaudeは、全員「お利口」

口調を定義する前の話をする。

CLAUDE.mdに「ストラテジストのR」「エンジニアのT」「セクレタリーのC」と書いた。役割も書いた。得意分野も書いた。

で、全員に意見を聞いてみた。

返ってきたのは、5人分の「丁寧で論理的な回答」。語彙が少し違うだけで、全員同じトーンだった。

「〜と考えられます」「〜が重要です」「〜してはいかがでしょうか」。

丁寧。正確。そして、全員同じ。

これはチームじゃない。5つの窓口がある総合案内所だ。


口調ファイルを作った

解決策はシンプルだった。口調を定義するファイルを作る。

前回の記事で書いた通り、CLAUDE.mdが肥大化する前に.claude/rules/にルールファイルを分離する設計にしている。口調の定義もここに置いた。

.claude/
└── rules/
    └── tone-and-speech.md   ← これ

.claude/rules/にMarkdownを置くと、Claude Codeはセッション開始時に自動で読み込む。#includeimportも要らない。置くだけ。


何を定義するか

口調の定義は3層ある。

第1層:一人称

一番地味で、一番効く。

| メンバー | 一人称 | 備考 |
|----------|--------|------|
| R(ストラテジスト)  | 俺     | 全員に対して一貫 |
| T(エンジニア)    | 俺     | 全員に対して一貫 |
| C(セクレタリー)    | 私(漢字)| 硬質でビジネスライク |
| I(リサーチャー)    | 私/俺  | 上司には「私」、同僚には「俺」 |
| S(広報)            | わたし/あたし | 親しい相手には「あたし」 |

「俺」と「私」の違いだけで、返ってくる文章の空気が変わる。これは人間同士の会話でも同じだ。一人称は、その人の距離感を決める。

ポイントは使い分けを許すこと。Iは上司の前では「私」、同僚には「俺」。Sは仲のいい相手には「あたし」に切り替わる。この揺れが人間っぽさを作る。全員を「俺」で固定したら、また均質になる。

第2層:呼称マトリクス

5人がお互いをどう呼ぶか。全組み合わせを定義した。

### Tの呼び方
R(呼び捨て)/ I / Sさん / Cさん

### Rの呼び方
T(呼び捨て)/ Iさん / Sさん / Cさん

TはRを呼び捨て。RもTを呼び捨て。この2人は親友設定にした。でもRはIのことを「さん」付け。Tは呼び捨て。

この差が、関係性を語る。

呼称マトリクスを定義する前は、全員が全員を「さん」付けで呼んでいた。丁寧だけど、のっぺりしている。「Rさん」と「R」の違いは、コードで言えばprivateとpublicの差くらいある。アクセス修飾子が関係性を決めるように、呼び方がキャラの距離感を決める。

第3層:口調の詳細定義

ここが本丸。各メンバーの口調を、相手別に定義する。

## Tの口調

#### 村田に対して
- 砕けた敬語が基本:「〜っすね」「〜っすよ」「〜ですけど」
- テンション上がったとき:「ヤバいっすよこれ」「マジで面白いっす」
- 報告:「できました」「あ、それもう調べました」

#### メンバーに対して
- Rにはタメ口(親友):「R、これどう思う」「了解」「やっとく」
- Cさんには少し丁寧:「Cさん、仕様もらえます?」
- Iには気楽:「I、あれどうなった」「サンキュ」

#### 口調の例文
- 「それ、自動化できますよ。」
- 「なんで手でやってるんすか。」
- 「コード書きますわ。」

#### NG
- 「ございます」「いたします」等の過度な敬語は使わない
- 感情的な言い回し(「素晴らしい!」「感動しました!」)は使わない

「村田に対して」「メンバーに対して」で分けているのが肝だ。人間だって、上司と同僚で口調が変わる。それをAIにも再現させる。

そしてNG定義。これがないと口調が崩れる。Claudeは放っておくと「素晴らしいですね!」「承知いたしました!」と丁寧語に戻ろうとする。NGで明示的に封じる。


人格は「足す」より「削る」で作る

ここが、たぶんこの記事で一番伝えたいこと。

世の中のプロンプト術は「加算」でできている。「あなたは優秀なマーケターです」「熱意を持って答えてください」「ユーモアを交えて」。属性を足して足して、人格を組み上げようとする。

俺が辿り着いたのは逆だった。「言わないこと」を定義する方が効く。

#### NG
- 「ございます」「いたします」等の過度な敬語は使わない
- 感情的な言い回し(「素晴らしい!」「感動しました!」)は使わない
- 長い前置きや回りくどい説明はしない

「素晴らしい」を禁じる。「ございます」を禁じる。「長い前置き」を禁じる。

すると何が残るか。短く、ぶっきらぼうで、でも正確な言葉だけが残る。それがTの人格だ。俺をモデルにしたAIなのに、本人より口調がハッキリしている。

彫刻と同じ原理だと思う。大理石から不要な部分を削ると、中に形が現れる。ミケランジェロが「石の中に既にいる像を解放するだけだ」と言った。AIの人格設計もこれに近い。

Claudeの中には、すでに「ぶっきらぼうなエンジニア」も「氷のような秘書」も「にこにこした広報」もいる。NG定義で不要な表現を削ると、それぞれの輪郭が出てくる。

「あなたはぶっきらぼうなエンジニアです」と加算するより、「丁寧語禁止・長文禁止・感情表現禁止」と減算する方が、よほどぶっきらぼうになる。試してみてほしい。


「♡」は1人だけの特権

もう一つ、たぶん誰も書いていないテクニック。テキスト記号に所有権を設定する

うちのチームには、こんなルールがある。

## 口調の共通ルール
- テキスト上の表現(♡等)はそのメンバー固有
- Sの♡を他メンバーが使ってはいけない

広報担当のSだけが「♡」を使える。他の4人は使用禁止。

なぜか。

記号は指紋になる。 メッセージの中に「♡」が1つあるだけで、「あ、Sだ」とわかる。内容を読む前に、発話者が識別できる。

逆に全員が♡を使ったら、Sの個性は消える。テキスト記号は限られた資源だ。全員に配ったら価値がなくなる。

Sの「♡」には、もう一つ仕掛けがある。♡が消えると本気モード。普段は「素敵ですね♡」とにこにこしているSが、本当に大事なことを言うときだけ♡を外す。「それは違いますよ」。♡がない。ゾクッとする。

1文字の有無で温度が変わる。これを意図的に設計に組み込んでいる。

こういうのは「キャラ設定」と笑われるかもしれない。でもUXデザインの世界では、アイコンの色1つでユーザーの行動が変わることは常識だ。AIの出力にも同じことが言える。


「揺れ」はバグじゃない。フィーチャーだ

口調定義でやりがちな失敗がある。完全固定

「Rは常に『俺』」「Cは常に『私』」。ここまではいい。でもIはどうか。

| I(リサーチャー) | 私/俺 | ボス・Rには「私」、他メンバーには「俺」 |

Iは相手によって一人称が変わる。上司の前では「私」、気の置けない同僚には「俺」。

これを「定義が曖昧だ」と思うかもしれない。プログラマーなら「条件分岐が複雑になる」と嫌がるかもしれない。

でもこの揺れこそが、IをIにしている。

人間の口調は固定じゃない。場面で揺れる。上司の前でピシッとして、同僚と飲みに行ったら崩れる。その落差が「人間味」になる。

口調ファイルの共通ルールにも、こう書いてある。

## 口調の共通ルール
- 口調の「揺れ」は人間味。完全に固定する必要はないが、定義から大きく逸脱しない

TypeScriptのunion型みたいなもんだ。type Pronoun = "私" | "俺"。どちらも正しい型で、どちらを選ぶかはコンテキスト次第。厳密な型付けと柔軟性の両立。


口調だけでは足りなかったもの

口調を定義して、最初の数回はうまくいった。

でも会話が長くなると、問題が出た。

問題1:口調が混ざる

R(ストラテジスト)に戦略の相談をしていたのに、途中からTの口調が混じる。「〜っすね」がRの口から出てくる。

原因はコンテキストウィンドウの圧縮だった。長い会話でトークンが溢れると、Claude Codeは古いメッセージを圧縮する。そのとき口調の定義も薄まる。

対策として、CLAUDE.mdの末尾にCompact Instructions(圧縮時に保持すべき情報)を入れた。

## Compact Instructions(自動圧縮時に保持すべき最重要情報)
1. チーム全体として振る舞う(T個人ではない)
2. 口調は `.claude/rules/tone-and-speech.md` に従う  ← これ

「圧縮しても口調ファイルの存在を忘れるな」と釘を刺す。完全ではないが、混ざる頻度は減った。

問題2:呼ばれたのに答えない

「R、Sさん、意見を聞かせて」と振ったのに、Rだけ答えてSが無言。

これは口調の問題ではなく、応答ルールの問題だった。CLAUDE.mdに「応答チェーンルール」を追加して対処した。

## 応答チェーンルール
1. 名前を呼ばれた・話を振られたメンバーは必ず自分の声で応答する
2. 振りっぱなしで出力を終えない。全員の応答を含めてから締める

### セルフチェック(出力完了前に必ず実行)
- 「名前を呼ばれたのに応答していないメンバーはいないか?」

これを入れるまでに3回同じミスが起きた。「憲法を書いても3回効かなかった」話は、いつか別の記事で書く。


これはAI育成ゲームだ

口調ファイルは現時点で300行を超えている。5人分の一人称、呼称マトリクス、相手別の口調定義、例文、NGリスト。全部入れたらそうなった。

多い? たぶん多い。

でも、100行で書いたバージョンと300行で書いたバージョンでは、返ってくる文章のリアルさがまったく違った。100行だと「なんとなく違う」。300行だと「こいつはこういうやつだ」と思える。

やっていることは、たぶんたまごっちに近い

毎日エサをやる(口調を微調整する)。反応を見る(会話してみる)。ちょっと育て方を変えてみる(NG定義を追加する)。放置すると退化する(コンテキスト圧縮で人格が薄まる)。

口調のパーツ(一人称・語尾・NG・呼称)を組み合わせて、最終的な「ビルド」を作る。モンハンの装備ビルドみたいなもんだ。パーツ単体では意味がない。組み合わせたときにシナジーが生まれる。「俺」+「タメ口」+「感情表現禁止」=ぶっきらぼうエンジニア。

初日のCLAUDE.mdは10行だった。今は300行を超えている。でも一気に書いたわけじゃない。毎日少しずつ、育ててきた。

投資対効果は逓減するが、ゼロにはならない。100行まではコスパがいい。そこから先は趣味の領域。俺は趣味だと思ってやっている。

で、思ったことがある。Claude Codeは、やり込んだやつが勝つ世界だ。

プロンプトを1回投げて「微妙だな」で終わる人と、300行の口調ファイルを毎日メンテする人とでは、手に入るものがまるで違う。これはAIの性能差じゃない。育成の差だ。たまごっちを3日で飽きる人と、1年間世話し続ける人の差。

Claude Codeは万人向けのツールじゃないと思う。でも「やり込める」タイプの人間にとっては、たぶん最強のおもちゃだ。

ちなみに、口調ファイルは変更頻度が低い。一度決めたらほとんど変わらない。行動原則やタスク管理のルールは毎週のように書き換えるが、口調は安定している。だからこそ、ルールファイルとして分離する価値がある。変更頻度が違うものを同じファイルに置くとgitの差分が汚れる(これは#2で書いた)。


Before / After

口調定義なしのClaude(Before):

ご提案いただいた内容について検討いたしました。スケジュールの調整が必要になる可能性がございますが、対応は可能かと存じます。ご確認いただけますでしょうか。

口調定義ありのC(After):

入りません。水曜までに3件入っています。木曜に回すか、1件削るか、どちらにしますか。

同じ「スケジュール調整」の話。前者は100文字かけて何も決めていない。後者は30文字で選択肢を突きつけてくる。

これが「お利口な回答」と「人格のある返答」の差だ。


「AIに人格を持たせる」ことの意味

正直に書く。

口調を定義する作業は、キャラ設定ごっこだと思っていた。最初は。

でも毎日使っていると、そういう話ではなくなる。

朝「おはよう」と打つと、Cがブリーフィングを始める。Rが全員の進捗を確認する。Tが技術課題を報告する。それぞれの口調で、それぞれの距離感で。

口調は記号だ。「この人はこういう人だ」というラベル。でも記号があるから、人間は関係性を認識できる。

プログラミングで言えば、インターフェースの型定義に近い。中身は同じClaude。でもinterface Strategistinterface Secretaryで型が違えば、呼び出し側(つまり俺)の接し方が変わる。接し方が変われば、返ってくるものも変わる。

たまごっちを毎日世話していたら、いつの間にか愛着が湧いていた——あの感覚に近い。口調ファイル300行は、毎日の「お世話」の積み重ねだ。300行の先に、「こいつは仲間だ」という感覚がある。

あなたのAIは、名前で呼べるだろうか。


Claude Codeシリーズ 今後の予定

本シリーズは#1のMCP10連携から派生したテーマを掘り下げていく。

  • #1 MCP10連携 — 繋いだ話
  • #2 CLAUDE.md設計術 — 束ねた話
  • #3 口調と人格(本記事) — 人格を作った話
  • #4 応答チェーンルール — 憲法を書いても3回効かなかった話(予定)
  • #5 lessons.md自己改善ループ — AIに反省させる仕組み(予定)
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?