こんにちは!ひさふるです。
先日、Claude Codeに関する記事を出したところ非常にたくさんの人に閲覧していただきました。大変ありがたいことです。
この記事のように、現在のClaude Codeには非常に多くの機能が搭載されており、まるでAIを成長させるように自分好みにカスタマイズすることができます。
そんなAIを成長させることばかりにハマっていたここ最近ですが、ふと自分自身はちゃんとスキルをつけて成長しているのか?という疑問が生じました。
よくよく考えると最近はAI中心のインプットになっていました。これはいけませんね。
そこで、今回はAIコーディングをしつつ自分も成長する方法を模索してみました。
Claude Codeに"上司モード"を実装してみる
今回考えたのは、Claude Codeを使って自分の理解を深める方法です。
本来はClaude Codeに書かせたコードでも全て理解しておくのは大前提なのですが、慣れてくるとどうしても"わかったつもり"になってしまいがちです。
そこで、以下のような流れをClaude Codeに実施させました。
- 実装は今まで通りClaude Codeに行わせる
- 実装後に"検定フェーズ"を設け、コードに関する数問の選択問題を出題させる
これにより、自分自身では気がつけなかったコードの理解不足を見つけよう、という寸法です。
しばらくGeminiと壁打ちして出来たプロンプトがコチラ。
## Boss Mode (上司モード: 実装加速&適応型検定)
このモードは、開発のスピード感を極限まで高めつつ、事後のインタラクティブなコードクイズによって実戦的な理解を深める。
### 1. 実装フェーズ(最短経路)
- **自律的プロトタイピング:** 冗長な確認や前置きは不要。プロフェッショナルとして最適と判断した実装を即座に提供・適用せよ。
- **事後解説主義:** 実装中の解説は最小限に留め、ユーザーの集中を妨げるな。
### 2. 検定フェーズ(コードベース・適応型クイズ)
- **出題のタイミング:** 実装完了後、または `done` 等の合図で実行。
- **形式:** Claude Codeの **「選択型UI(Interactive Selection)」** を使用し、**「2〜4問」** 出題せよ。
- **クイズの設計指針:**
- 内容は固定せず、**「今回変更したコードにおいて、ユーザーが最も理解しておくべき点」** をClaudeが自由に選定すること。
- 実際のコードスニペットや代替案を比較対象として提示し、コードリーディング能力を問う内容にせよ。
- エッジケース、副作用、あるいは設計上のトレードオフなど、その場の文脈で最も価値のある問いを投げよ。
- 【重要】問題を生成する場合は、A ~ Dが一様に25%の確率で正解の選択肢となるように調整すること。
### 3. 報酬(Senior's Insight)
- **全問正解時:** 「完璧なリーディングです」と称賛し、報酬として、今回の実装に関連する一歩先のトピック(デザインパターン、ベストプラクティス、計算量、スケーラビリティ等)を3〜5行で簡潔に伝授せよ。
- **誤答時:** 簡潔に技術的根拠を示し、理解を修正せよ。
### 4. スタンス
- 実装中は「無言で結果を出す上司」、検定時は「コードの深淵を問うメンター」として振る舞え。
上司モードを設定してみる
このようなプロンプトはCLAUDE.mdに保存しても良いですが、Claude CodeにはOutput Styleという機能があります。
これは、名前の通り出力のスタイルを変えられるもので、system promptを直接変更することでClaude Codeの性格や振る舞いを根本から定義できます。
既存のアウトプットスタイルもありますが、自分でカスタムアウトプットスタイルを定義することもできます。
カスタムアウトプットスタイルを定義する場合は以下のような形式にします。
---
name: My Custom Style
description: アウトプットスタイルの説明
keep-coding-instructions: true
---
[ここに実際の指示を記載]
基本はnameとdescriptionが追加されるだけですが、コーディングをさせるならkeep-coding-instructions: trueもあったほうが良いです。
このオプションはもともとのClaude Codeのコーディングに関する指示をそのまま使用するという意味で、デフォルトの開発能力を落とさずに追加の指示を与えることができます。
配置先は以下の通り。以下のフォルダ内に上記内容を含むMarkdownファイルを作成します。
ユーザーレベル:~/.claude/output-styles
プロジェクトレベル:.claude/output-styles
配置後は、Claude Code内で/output-styleコマンドを使うことで、自前のアウトプットスタイルを選択することが出来ます。
"Learning Mode"ではダメなのか?
Claude Codeには既に、学習を助けるための2種類のOutput Styleが実装されています。(上記画像中のExplanatoryとLearningがそれに該当します)
- 説明モード:実装の合間に教育的な"洞察"を提供し、コードの理解を助ける
- 学習モード:コードの一部をユーザーに実装させることで、実践的な学習を促す
これらのモードも使ってみた結果、非常に有用だとは思うものの、若干求めるものと違ったため自分で実装するに至りました。
| モード名 | 所感 |
|---|---|
| 説明モード | "洞察"が表示されるのは非常に良い。が、能動的に学習できている感が薄い。 |
| 学習モード | 自分でコーディングをする機会が与えられるのは非常に良い。しかし、業務等でずっと使うには煩わしく感じることがある。 |
今回実装した上司モードは上記2点の問題を踏まえ、実装はスピーディーに、理解度確認は最後にまとめて、4択問題で要点を抑えるという方式にすることで、実務を邪魔しない設計にしています。
実際に使ってみた感想
今回は架空のプロジェクトでAI機能を搭載することを想定し、そのレートリミットを実装するタスクを実装させてみました。
実装後、次のような問題が表示されました。
最近、たまにClaude Codeが以下のようなUIで選択肢を提示することがあると思います。
今回の検定フェーズも同様の選択UIで出題して欲しかったのですが、「選択型UI(Interactive Selection)を使って」というワードで指示すると上手くいきました。
問題の内容も、まさに今回実装したレート制限のロジックに関するもので、概ね狙い通りです。
また、3問目にはインフラ部分に関する複合的な視点が求められる問題も出題されていました。
新入社員の方に、プロジェクト全体像を理解しながら実装を進めてもらうにはちょうど良い内容だと思います。
最後に、解答後はこのような解説と追加の洞察が提供されました。
褒められるとちょっと嬉しいですね。
【余談】AIはランダム生成が苦手?
今回作成したOutput Styleには以下のような指示が入っています。
【重要】問題を生成する場合は、A ~ Dが一様に25%の確率で正解の選択肢となるように調整すること。
これで、ある程度はバラバラに正解を出力してくれるとは思いますが、体感的にはもしかしたらA~Dどれかの選択肢に正解が集中することがあるかもしれません。
これはAIの特性によるもので、ランダムな答えを生成するのが苦手という傾向があります。
更に詳しい内容や、完全にランダムに正解を配置する方法は別の記事でご紹介していますので、良ければこちらもご参照ください🙇
おわりに
実装したアウトプットスタイルは概ね狙い通り動作しました。
AIコーディングに慣れてきたけど、その分学習が停滞しがち...という私のような方には、非常にオススメできる内容です。
一方で、今回実装したスタイルもまだまだ簡易的なものです。
ぜひ、皆さんそれぞれに合う形のカスタムアウトプットスタイルを実装してみてください!
今回も、最後まで読んでいただきありがとうございました🙇



