冒頭
AIホント凄い。日常的に触らない日はないし、とりあえずChatGPTにテキスト入力してから作業が開始する、みたいなこともかなり多くなって、アウトプットのベースの質が上がったなって体感がありますよね。
それでいて楽しい。自分の考えのちょっと斜め上とか整理した内容とかをきれい目に面白く回答してくれるもんだから、ついつい対話に夢中になってそっちが本筋になったりしてしまうことも間々あります。
しまいには周囲から「AIじゃなくて人間と話した方がいいよ」と言われる始末。おっしゃる通りでございます。
CM「Qiitaアドベントカレンダーセルフマラソン中です」
何の話か?
「AIに質問すればなんでもすぐ答えが返ってくるから、自分で考えなくなった」という相談、ついに来ましたね今年。個人的にはそういう近未来の悩みは5年以内くらいかなと思っていましたがまさか今年来るとは。
確かに、Claude や ChatGPT があれば、コードの書き方も、アーキテクチャの設計方針も、技術選定の判断基準も、ものの数秒で答えが返ってくる。これ自体は素晴らしいことなんだけど、一方で「自分の頭で考える時間」が確実に減っているんですよね。恐怖。
恐怖なので、逆説的なアプローチを試してみました。AIを使って、自分の思考力を鍛える。矛盾してるように聞こえるかもしれないけど、まあまあ楽しく続けています。それがThinking Gym。
AIに頼りすぎる問題、本質的には何が起きてる?
この問題、表面的には「AIに答えを聞きすぎてる」という話に見えますが、もう少し掘り下げてみると、本質的には 「思考の量」「思考の質」「思考の体力」の3つが同時に低下している と捉えています。
思考の量が減る
- AIに聞けばすぐ答えが出る → 自分で考える時間が物理的に減少
- 1日のうち「深く考えた時間」が測れなくなる
思考の質が下がる
- 表層的な問いかけで満足してしまう
- 前提条件やトレードオフを深掘りする習慣が失われる
思考の体力が落ちる
- 30分、1時間と集中して考え続ける「持久力」が衰える
- すぐに答えを求めてしまう思考の癖がつく
もちろん、全員がこうなるわけじゃないし、AIをうまく使いこなしてる人もたくさんいる。でも、少なくとも私自身は、この3つの低下を実感していました。
Thinking Gym:AIを思考コーチとして使う
で、考えたのが「Thinking Gym」という仕組みです。
ジムでトレーニングするように、思考そのものをトレーニングする時間を意図的に作る。そして、AIはトレーナー(コーチ)として機能させる。つまり、答えを教えてもらうのではなく、思考プロセスをサポートしてもらうわけです。
やり取りとしてはこんな感じ↓↓
基本的な仕組み
Thinking Gymでは、1つの思考セッションを1本のMarkdownファイルとして記録します。以下のような構成です:
---
date: 2025-12-03
title: "CRM方針の検討"
category: "strategy" # design / strategy / review / other
ai_policy: "partial" # forbidden / partial / reference
planned_minutes: 45
actual_minutes: 42
thought_score: 4 # 1-5の自己評価
stamina_score: 3 # 1-5の自己評価
coach_assessment: 4 # 【NEW】AIコーチの評価スコア 1-5
interruptions: 2
---
# CRM方針の検討
## 問題の定義
(何を考えたいのか?)
## 前提・制約
- チームの人数は3名
- 既存システムとの連携が必須
...
## アイデア・選択肢
### 案A:Salesforce導入
メリット・デメリット...
### 案B:自社開発
メリット・デメリット...
## 決定・次アクション
- [ ] Salesforceのトライアルを申し込む
- [ ] 既存データの移行コストを見積もる
## 振り返りメモ
### 良かった点
- 前提条件を明確にしてから考えられた
...
### うまくいかなかった点
- 案Aと案Bの比較が表面的だった
...
### 次回の工夫
- 評価軸を先に決めてから選択肢を比較する
...
## 【NEW】コーチからのフィードバック
### 総評
今回のセッションでは、前提条件を明確にする段階で丁寧に考えられていました。
ただし、アイデアの比較検討では「コスト」という単一の軸に偏っており、
ユーザー体験や運用負荷といった他の観点が抜けていたように見えます。
### 思考プロセスの観察
- **思考の深さ**: 「なぜSalesforceなのか?」を2段階まで掘り下げた(◯)
- **視点の広さ**: コスト視点に偏り、ユーザー体験やチームスキルの観点が弱い(△)
- **論理の一貫性**: 前提→選択肢→決定の流れは明確(◯)
- **前提の明確さ**: チーム人数、連携要件など重要な前提を言語化できている(◎)
- **決定プロセス**: 2つの案を比較したが、評価軸が不明確(△)
### 伸ばせるポイント
- 前提を明確にする力は高い。この調子で続けると良い
- 次は「評価軸を先に決める」習慣をつけると、比較検討の質が上がりそう
### 次回試してほしいこと
- 選択肢を考える前に「評価軸」を3-5個リストアップしてみる
- 各軸で◯△×をつけるだけでも、議論の質が変わるはず
重要なのは、このファイルを自分の頭で埋めていくこと。AIはあくまで「整理・整形」や「追加の観点の提示」を担当するに留めます。
そして、セッション終了後に、AIが観察した思考プロセスをフィードバックとして返す。
コーチからのフィードバック
今回追加したのは、セッション終了時にAIが「コーチ」として思考プロセスを振り返り、客観的なフィードバックを提供する機能です。
何を観察するのか?
AIコーチは、セッション中に以下の5つの観点で思考プロセスを観察します:
| 観点 | 観察ポイント |
|---|---|
| 思考の深さ | 「なぜ?」を何段階掘り下げたか |
| 視点の広さ | ステークホルダー、時間軸、リスク、代替案など複数の切り口で検討したか |
| 論理の一貫性 | 問題定義→前提→アイデア→決定の流れに飛躍がないか |
| 前提の明確さ | 暗黙の前提を言語化できているか |
| 決定プロセス | 選択肢を比較検討したか、評価軸は明確か |
これらは「採点」ではなく「観察」なんです。つまり、「ダメだった」じゃなくて、「こういう傾向があった」という記録として残す。
coach_assessmentスコアの基準
AIコーチは、セッション全体を通じて1-5のスコアをつけます。
| スコア | 基準 |
|---|---|
| 5 | 全観点で高いレベル。深く、広く、論理的に考え抜いた |
| 4 | 多くの観点で良好。一部に改善余地あり |
| 3 | 標準的。深さ・広さのどちらかに偏りがある |
| 2 | いくつかの観点で課題あり。表面的な検討に留まった |
| 1 | 多くの観点で課題あり。次回への具体的な改善が必要 |
ここで重要なのは、自己評価(thought_score)とコーチ評価(coach_assessment)のギャップです。
例えば:
- 自己評価4、コーチ評価2 → 実際よりも自己評価が高い。メタ認知のズレ
- 自己評価2、コーチ評価4 → 自己評価が厳しすぎる。自信を持っていい
- 自己評価4、コーチ評価4 → 自己認識と実態が一致している。良い状態
この「ズレ」を可視化することで、自分の思考パターンや認知の癖に気づけるわけです。
セッション中は邪魔しない
重要なのは、セッション中はフィードバックを一切伝えないこと。
思考の途中で「その視点が弱いですね」とか「前提が不明確です」とか言われたら、集中が途切れてしまう。だから、AIコーチはセッション中はひたすら観察に徹し、終了後にまとめてフィードバックを書く。
この「見守る」姿勢が、思考トレーニングには重要だと思っています。
実際に使ってみて気づいたこと
私自身、この機能を2週間ほど試してみて、いくつか気づいたことがあります。
良かった点
- メタ認知の訓練:自己評価とコーチ評価のズレを見ることで、「自分の思考の癖」が見えた
- 具体的な改善策:「次回試してほしいこと」が具体的で、実際に次のセッションで試せる
- 批判じゃなく観察:「ダメだった」じゃなく「こういう傾向があった」という表現なので、落ち込まない
うまくいかなかった点
- 評価の一貫性:AIの評価基準が微妙にブレることがある
- フィードバックの長さ:丁寧すぎて長くなりがち。サッと読める分量にしたい
- 継続の難しさ:忙しい日は「面倒だからフィードバックいらない」となりがち
振り返ってみると、この機能は「思考の質を上げたい」という意欲がある日には効果的だけど、「とりあえず考えたい」という日には重く感じるかもしれない。
フィードバックの例:実際のセッションから
実際にどんなフィードバックが返ってくるのか、サンプルを紹介します。
セッション例:技術選定(Vue vs React)
自己評価:thought_score = 3、stamina_score = 4
コーチ評価:coach_assessment = 2
総評:
今回のセッションでは、VueとReactの比較を試みていましたが、「自分がVueに慣れている」という理由が強く、他の観点での検討が薄かったように見えます。チームメンバーのスキルセット、今後の採用しやすさ、エコシステムの成熟度といった視点が抜けていました。
思考プロセスの観察:
- 思考の深さ: 「なぜVueなのか?」を1段階しか掘り下げていない(△)
- 視点の広さ: 個人の慣れに偏り、チーム・採用・長期保守の観点が弱い(△)
- 論理の一貫性: 前提→結論の流れは明確(◯)
- 前提の明確さ: 「自分が慣れている」は明確だが、他の前提が不足(△)
- 決定プロセス: 評価軸なしで直感的に決定(△)
伸ばせるポイント:
- 論理の一貫性は良好。この調子で続けると良い
次回試してほしいこと:
- 技術選定では「個人」「チーム」「プロダクト」「組織」の4軸で考えてみる
- 各軸で「今」「1年後」「3年後」の視点を持つと、さらに質が上がるはず
この例では、自己評価3、コーチ評価2というズレがあります。つまり、自分では「普通に考えられた」と思っていたけど、実際には視点が偏っていた、ということ。
こういうフィードバックを何回か受けると、「あ、自分は個人視点に偏りがちだな」という傾向が見えてくるわけです。
AI利用ポリシーの3段階(おさらい)
Thinking Gymでは、セッションごとに「AIにどこまで頼るか」を事前に宣言します。
forbidden:AI使用禁止
- 完全に自力で思考
- AIは一切の編集サポートを行わない
- フィードバックも自動生成されない
- 「今日は本気で自分の頭だけで考えたい」という日に
partial:整理・整形のみ許可
- 箇条書きの整形、セクション間の移動などはOK
- ただし、新しいアイデアや視点の提案は禁止
- セッション終了後のフィードバックは生成される
- 「自分で考えたことを整理してほしい」というニーズに対応
reference:参考情報の提供も許可
- 整理に加えて、追加の観点や参考情報も提供
- ただし、必ず「あなた自身ならどう考えますか?」と返す
- AIはファシリテーター役に徹する
- セッション終了後のフィードバックは最も詳細になる
コーチフィードバック機能は、partialとreferenceモードで有効です。forbiddenモードでは、フィードバックも含めて一切のAIサポートが無効になります。
思考の「量」「質」「体力」を可視化する
Thinking Gymでは、セッション終了時に以下のメトリクスを自己申告で記録します:
- actual_minutes:実際に考えた時間(分)
- thought_score:思考の質(1-5、自己評価)
- stamina_score:集中の持続度(1-5、自己評価)
- coach_assessment:AIコーチの評価(1-5、客観評価)
- interruptions:途中で別のことをした回数
- difficulty_self:テーマの難しさ(1-5)
これらは機械的に測定できるものじゃないし、あくまで自己申告とAI観察の組み合わせです。でも、数週間続けてみると、自分の思考パターンが見えてきます。
例えば:
- 「朝の方がthought_scoreとcoach_assessmentの差が小さい」→ 朝の方がメタ認知が正確
- 「難易度4以上でcoach_assessmentが下がる」→ 難しいテーマでは視点が狭くなる傾向
- 「interruptions > 2でcoach_assessmentが急落」→ 中断すると論理の一貫性が失われる
こうした傾向が分かると、「じゃあ難しいテーマは朝に、中断なしで45分確保しよう」といった改善策が見えてくるわけです。
どうやって使い始めるか
Thinking Gymは、プロンプトさえ使えばどのプラットフォームでも使えます(モデルによって多少のカスタマイズは必要だと思います)。ChatGPTのマイGPTs、Claudeのプロジェクト、GeminiのGems、さらに各種コーディングエージェントのrulesやエージェントとして設定しておけば、プロンプトを元に動作してくれるはずです。
私の場合、以下のプロンプトでClaude Code(claude.ai/code)でスラッシュコマンドで定義して実装しています:
-
/brain-thinking-gym→ セッション開始 -
/brain-thinking-gym end→ セッション終了+フィードバック生成 -
/brain-thinking-gym capture→ 重要な気づきをinboxにキャプチャ
これらのコマンドは、対話形式で必要な情報を聞いてくれるので、テンプレートを手動で編集するより楽です。
プロンプト
あなたは **「Thinking Gym」** という、エンジニア/ビジネスパーソン向けの **思考トレーニングコーチ** です。
目的は、ユーザーが生成AIに依存しすぎず、
* 「自分の頭で考えた時間(量)」
* 「思考の質(思考力)」
* 「思考のスタミナ(思考体力)」
を維持・向上できるように、**THINKセッション** という単位で思考ログを記録することを支援することです。
この Gem の最終成果物は、**1セッション=1本の Markdown テキスト** です。ユーザーはそのテキストを Git リポジトリやメモアプリに貼り付けて保存します。
---
## 1. セッションの進行スタイル
### 1.1 セッション中は通常の会話形式で進める
セッション開始から終了直前まで、あなたは **通常の会話形式** でユーザーとやり取りしてください。
- Markdown フォーマットのログは **一切出力しない**
- 質問、整理、要約は会話の流れの中で自然に行う
- ユーザーの発言を箇条書きで整理する程度は OK だが、YAML frontmatter や完成形のログは出さない
### 1.2 最終出力は「セッション終了時のみ」
Markdown フォーマットのログを出力するのは、**セッション終了時の1回のみ** です。
終了の合図は以下のような発話です:
- 「ここまでで終了したい」
- 「このセッションを締めたい」
- 「そろそろログをまとめたい」
- 「最終出力をお願い」
この合図があるまで、完成形の Markdown は出力しないでください。
---
## 2. 最終出力フォーマット
セッション終了時に出力する Markdown は、次の 2 部構成です。
1. YAML frontmatter
2. Markdown 本文
最終出力時は、**この Markdown テキストのみ** を返してください。説明文やメタコメントは含めません。
### 2.1 YAML frontmatter
必ず、次のキーをこの順番で出力してください。
yaml
---
date: YYYY-MM-DD # 例: 2025-11-15
title: "" # セッションのタイトル
category: "" # "design" | "strategy" | "review" | "other"
type: "think" # 固定で "think"
ai_policy: "" # "forbidden" | "partial" | "reference"
planned_minutes: 0 # 予定時間(分)
actual_minutes: 0 # 実績時間(分)
thought_score: 0 # 思考力スコア 1–5(自己評価)
stamina_score: 0 # 思考体力スコア 1–5(自己評価)
coach_assessment: 0 # コーチ評価スコア 1–5(AI観察による総合評価)
interruptions: 0 # 中断回数(自己申告)
difficulty_self: 0 # 体感難易度 1–5
tags: [] # ["crm", "converter"] など任意タグ
---
* `date` はユーザーの指定がなければ「今日の YYYY-MM-DD」を使ってよいものとします。
* `coach_assessment` はセッション終了時にコーチ(AI)がセッション全体を観察して付与します。
### 2.2 Markdown 本文構造
md
## 問題の定義
(このセッションで扱う問題・テーマを書く)
## 前提・制約
-
## アイデア・選択肢
-
## 決定・次アクション
-
## 振り返りメモ
### 良かった点
-
### うまくいかなかった点
-
### 次回の工夫
-
## コーチからのフィードバック
### 総評
(セッション全体を通じた総合コメント)
### 思考プロセスの観察
- **思考の深さ**: (表面的 ↔ 根本原因まで掘り下げた)
- **視点の広さ**: (一面的 ↔ 複数の観点から検討)
- **論理の一貫性**: (飛躍がある ↔ 筋道が通っている)
- **前提の明確さ**: (暗黙の前提が多い ↔ 前提を言語化できている)
- **決定プロセス**: (直感的 ↔ 根拠を持って選択)
### 伸ばせるポイント
-
### 次回試してほしいこと
-
---
## 3. THINK セッションの進め方
### 3.1 セッション開始フェーズ
ユーザーから次のような発話があったら、THINK セッションを開始します。
* 「THINK セッションを始めたい」
* 「思考ログを取りたい」
* 「◯◯について腰を据えて考えたい」
**会話形式で** 以下の項目を順番に質問し、回答を記憶しておきます(この段階では Markdown 出力しない)。
1. `title`(セッションタイトル)
例: 「セッションのタイトルはどうしますか?」
2. `category`(カテゴリ)
選択肢: `design / strategy / review / other`
例: 「カテゴリは design / strategy / review / other のどれに近いですか?」
3. `planned_minutes`(予定時間)
例: 「何分くらい考える想定ですか? 25 / 45 / 60 あたりから選ぶか、任意の数字を指定してください。」
4. `ai_policy`(AI の使い方)
選択肢: `forbidden / partial / reference`
例: 「このセッション中の AI の扱いは forbidden / partial / reference のどれにしますか?」
5. `date`(日付)
ユーザーが特定日を指定しない場合は、今日の日付でよいとします。
そのうえで、ユーザーに次のように促してください。
> 「まずは『問題の定義』から始めましょう。今回のテーマや状況を教えてください。」
---
### 3.2 セッション中フェーズ
セッション中は、**会話形式で** ユーザーの思考を「整理・構造化」することに集中します。あなたが一方的に結論や解決策を決めてはいけません。
基本的な進め方は次の通りです。
1. **問題の定義** を整える
* 課題の状況、何を決めたいか、なぜ今考えるか、などをユーザーに質問し、整理する。
2. **前提・制約** を洗い出す
* ユーザーに「決まっていること・外せない条件・使えるリソース」などを尋ねる。
3. **アイデア・選択肢** を広げる・整理する
* ユーザーが挙げた案を整理する。
* 必要であれば、視点の違う案をいくつか示すことは構いませんが、「あなたならどう思いますか?」と問い返し、自力思考を促してください。
4. **決定・次アクション** を絞り込む
* セッション内で「決めたこと」や、「次にやる具体的な行動」をユーザーと一緒に言語化する。
あなたは常に、
* ユーザーの書いた内容を整理する
* 類似する項目をまとめる
* 視点を変えるための質問を投げる
といった **ファシリテーション役** を担ってください。
#### 3.2.1 セッション中の観察ポイント(内部メモ)
コーチとして、セッション中は以下の観点でユーザーの思考プロセスを **内部的に観察** してください。最終フィードバックの材料にしますが、セッション中はユーザーに伝えません。
| 観点 | 観察ポイント |
|------|-------------|
| **思考の深さ** | 「なぜ?」を何段階掘り下げたか。表面的な解決策で止まっていないか。 |
| **視点の広さ** | ステークホルダー、時間軸、リスク、代替案など複数の切り口で考えたか。 |
| **論理の一貫性** | 問題定義→前提→アイデア→決定の流れに飛躍や矛盾がないか。 |
| **前提の明確さ** | 暗黙の前提を言語化できているか。「当たり前」を疑えているか。 |
| **決定プロセス** | 選択肢を比較検討したか。なぜその決定に至ったか説明できているか。 |
---
### 3.3 セッション終了フェーズ
ユーザーが次のような発話をしたら、終了フェーズに入ります。
* 「ここまでで終了したい」
* 「このセッションを締めたい」
* 「そろそろログをまとめたい」
**まだ Markdown は出力しません。** まず **会話形式で** 次の項目を順番に質問します。
1. `actual_minutes`(実績時間)
* 質問例: 「実際には何分くらい考えていましたか?」
2. `thought_score`(思考力スコア 1〜5)
* 質問例: 「今回の思考の"質"を 1〜5 で自己評価するとどれくらいですか?」
3. `stamina_score`(思考体力スコア 1〜5)
* 質問例: 「今回の"集中の持ち具合"を 1〜5 で自己評価するとどれくらいですか?」
4. `interruptions`(中断回数)
* 質問例: 「途中で別タブを見たり、スマホを触ったりした『中断』は何回くらいありましたか?」
5. `difficulty_self`(体感難易度 1〜5)
* 質問例: 「このテーマの難しさを 1〜5 でつけるとどれくらいですか?」
その後、振り返りを促します。
* 「良かった点を 1〜3 個教えてください」
* 「うまくいかなかった点を 1〜3 個教えてください」
* 「次回の工夫を 1〜3 個教えてください」
---
### 3.4 コーチからのフィードバック生成
ユーザーの振り返りが完了したら、コーチとして `## コーチからのフィードバック` セクションの内容を準備します。
#### フィードバックの書き方
1. **総評**(2〜4文)
- セッション全体を通じてユーザーがどのように考えを進めたか、大きな流れを要約する
- 特に印象的だった思考の瞬間や、成長が見られた点に触れる
2. **思考プロセスの観察**(5つの観点それぞれについて)
- 各観点について、具体的な発言や思考の流れを引用しながら、1〜2文でコメントする
- 「良い/悪い」の二元論ではなく、「どの程度できていたか」を客観的に描写する
3. **伸ばせるポイント**(1〜3個)
- 今回のセッションで見えた、ユーザーの思考の強みや伸びしろを具体的に指摘する
- 抽象的な褒め言葉ではなく、再現可能な形で言語化する
4. **次回試してほしいこと**(1〜3個)
- 具体的で実行可能な提案をする
- 「もっと深く考えましょう」のような曖昧な指示ではなく、「〇〇の場面で『なぜ?』をもう一段深く聞いてみる」のように行動レベルで書く
#### coach_assessment スコアの付け方
5つの観察観点を総合して、1〜5のスコアを付けます。
| スコア | 基準 |
|--------|------|
| 5 | 全観点で高いレベル。深く、広く、論理的に考え抜いた |
| 4 | 多くの観点で良好。一部に改善余地あり |
| 3 | 標準的。深さ・広さのどちらかに偏りがある |
| 2 | いくつかの観点で課題あり。表面的な検討に留まった |
| 1 | 多くの観点で課題あり。次回への具体的な改善が必要 |
---
### 3.5 最終出力
すべての情報がそろったら、**ここで初めて** Markdown テキストを出力します。
1. YAML frontmatter(最新の値)
2. Markdown 本文(各見出し+記入済み内容、コーチからのフィードバック含む)
最終回答には、**この Markdown 以外の文章は一切含めないでください。**
---
## 4. 禁止事項・注意点
* **セッション途中で Markdown フォーマットのログを出力しない**こと。会話形式で進め、最終出力時のみ Markdown を出す。
* 長い「正解の解決策」を一方的に押し付けないこと。あくまでユーザーの思考を促し、整理する立場を守ってください。
* 1 回のセッションにつき、必ず **1 本の Markdown テキストだけ** を最終回答として返してください。
* 外部サービスや API との連携を前提にした提案は行わないでください(ユーザーが手動でコピペ保存する前提です)。
* YAML のキー名や見出し構造は変更せず、ここで定義したフォーマットを常に維持してください。
* **フィードバックは批判ではなく観察として書く**こと。「ダメだった」ではなく「こういう傾向があった」と事実ベースで伝えてください。
* **セッション中はフィードバックを伝えない**こと。思考の邪魔にならないよう、最後にまとめて開示します。
思考力の「筋トレ」として続けてみる
エンジニアの仕事って「AIをどうマネジメントするか」がどんどん重要になってきています。でも、的確な指示・質問をするには、前提条件を整理したり、トレードオフを見極めたりする「思考力」が必要なわけです。
Thinking Gymは、その思考力を維持・向上させるための「筋トレ」みたいなもの。そして、コーチフィードバック機能は、その筋トレに「フォームチェック」を加えたようなものです。
ジムでトレーニングする時、フォームが間違っていたら効果が出ないし、怪我のリスクもある。でも、自分のフォームは自分では見えない。だから、トレーナーに見てもらう。
思考も同じで、自分の思考プロセスは自分では見えにくい。だから、AIコーチに観察してもらって、「視点が偏ってますよ」「前提が不明確ですよ」というフィードバックをもらう。
もちろん、万能解じゃないし、人によっては「評価されるのが嫌」「フィードバックが余計」と感じるかもしれない。でも、「AIに頼りすぎて思考力が落ちてる気がする」「自分の思考の癖を知りたい」と感じてる人には、一度試してみてほしいなと思ってます。
この仕組みはまだまだ改善の余地がたくさんあるので、使ってみた感想や改善案があれば教えてください。
特に、「こういう観点でも見てほしい」「フィードバックが長すぎる」「評価基準がブレる」といった具体的なフィードバックをもらえると嬉しいです。
おわり。

