【Claude Code】/digで「知の四象限」を動かせるか試した話

記事タイトルとURLをコピーする

こんにちは、アプリケーションサービス本部の折戸です。

ある日テレビで「あるなしクイズ」を見ていたら、ふと思いつきました。

「これ、ソフトウェア開発で一番やっかいな『何がわからないかすらわからない問題』と似てないか?」

一見無関係なキーワードの間に隠された共通点を探す。見えていないつながりに気づく。これって、要件定義やアーキテクチャ設計で暗黙の前提を洗い出す行為と構造が同じでは?

ちょうどその頃、Claude Codeに /dig という深掘りインタビュー用のサードパーティプラグインをインストールしていました。「あるなしクイズ」と /dig を掛け合わせたら面白い実験ができるんじゃないか。そう思い立ってやってみた話です。

ただし先に白状しておくと、あるなしクイズには出題者が意図した正解があります。開発現場のunknown unknownsには誰も正解を知りません。厳密には違う構造の問題です。そのあたりも含めて、実験の過程と結果を正直にお伝えします。

/digとは何か

/dig はClaude Codeのスキル(スラッシュコマンド)の一つで、Kuu Marketplaceで公開されているプラグインです。正式名は dig:dig、バージョンは3.0.0。

一言で言うと、計画や設計に潜む隠れた前提・リスク・未検討の意思決定を、構造化された対話で掘り起こすための深掘りインタビュー機能です。

特徴的なのは、/digが「広く浅く」ではなく「狭く深く」を設計思想として持っている点です。チェックリスト的に質問を並べるのではなく、一つのスレッドを最低2段階の深さまで掘り下げてから次に移ります。

/digの動作フロー

/digは5つのフェーズで動きますが、肝になるのはPhase 2とPhase 3です。

Phase 1では計画ファイルやドキュメントを読み込んで文脈を把握します。ここでは一切質問しません。

Phase 2: Assumption Mapping(仮説マッピング) で、識別した仮説を6つのカテゴリ(実現可能性・ユーザー行動・スコープ・依存性・タイムライン・アーキテクチャ)に分類し、リスクが高い順に並べます。今回の実験でも、このフェーズで私の暗黙の前提が可視化されたことが大きな転換点になりました。

Phase 3: Deep Investigation(深い調査) で、ユーザーとの対話が始まります。1ラウンド2〜3個の質問を選択肢付きで投げてきて、各選択肢にはpros/consが付いています。「Other」(自由記述)も自動追加されます。ここの掘削戦略がポイントで、回答から新しい仮説を発見したら、新しいトピックに移る前にそのスレッドを追いかけます。各トピックで最低2レベルの深さまで掘り続ける設計です。

Phase 4〜5では、各ラウンドの発見を計画ファイルに反映し、6項目のチェックリストで完全性を評価します。チェックが外れていればPhase 3に戻る、というループ構造です。

なぜ今回/digを使ったのか

/digの「答えを出す」のではなく「前提を揺さぶって掘り下げる」という設計思想が、Unknown Unknownsを動かす実験に合っていると考えました。普通にClaude Codeに聞くと答えを出そうとして止まりますが、/digなら問いの構造そのものを掘り下げてくれるはずです。

ラムズフェルドの四象限

実験の前提となるフレームワークだけ簡単に。元米国国防長官ドナルド・ラムズフェルドが2002年の記者会見で述べた、不確実性の4分類です。

知っている (Known) 知らない (Unknown)
認識している Known Knowns(既知の既知) Known Unknowns(既知の未知)
認識していない Unknown Knowns(未知の既知) Unknown Unknowns(未知の未知)
  • Known Knowns — 仕様に書かれた要件や、過去に踏んだバグ。知ってるし認識もしてる
  • Known Unknowns — 「ここは調べないとわからない」と認識できている。調べれば答えが出る
  • Unknown Knowns — 経験から身についてるけど言語化されてない暗黙知
  • Unknown Unknowns — 何を知らないかすら知らない。問いすら立てられない

上流工程で一番厄介なのが最後のUnknown Unknownsです。通常の質疑応答やヒアリングでは浮かび上がらない。この象限を動かすには異質な知識の衝突とか、前提を揺さぶる問いかけが必要です。

人間のチームでは対話の中で自然に起こることがありますが、AIとの対話で再現できるのか。それが今回試したかったことです。

実験環境

今回使ったのは Claude Code です。Anthropicが提供するCLIベースのAIコーディングエージェントで、ターミナル上で対話しながらコードの読み書き、ファイル操作、Web検索などを行えます。

バックエンドのLLMは Claude Opus 4.6(1Mコンテキスト)です。

/digはこのClaude Code上で動くスキル(プラグイン)なので、/digの質問生成や探索もすべてOpus 4.6が担っています。

実験の設計

Claude Codeに「正解があるかどうかもわからない問い」を投げて、2パターンの回答を比較しました。

  1. /digを使わない素の回答 — そのまま聞く
  2. /digを使った深掘り後の回答 — 構造化インタビューを経てから聞く

ここで正直に書いておきます。この比較には欠陥があります。 パターン1を先にやって、その結果を知った状態でパターン2をやっているので、/digの効果なのか単に2回目だから深くなったのか切り分けられていません。本来は別セッションでやるべきでした。この点は承知の上でお読みください。

出した問い

完全に思いつきで4つのキーワードを選びました。

秋刀魚、狩野英孝、量子コンピューター、ミスタードーナッツ。この4つに共通することを調べてみて。

私自身も正解を持っていません。正解が存在するかどうかすらわからない。まさにunknown × unknownです。

パターン1:/digなしの素の回答

Claude Codeに素で聞いた結果がこれです。

部分的に面白かった切り口としては「明石家さんま」経由で3つ(秋刀魚=芸名の由来、狩野英孝=共演、ミスタードーナツ=CM出演)はつながりましたが、量子コンピューターだけ結びつきません。

言葉遊び(共通の音、文字数など)でも貫通する法則は見つかりませんでした。

率直に、わかりません。 何かヒントはありますか?

まず、4つのうち3つに共通点を見出していることに驚きました。 なんの根拠もなく4つを挙げただけなのに、この短時間で3つを結びつけれるとは思いもよりませんでした。一応ミスタードーナツのCMに出演してるかどうかは裏どりしましたが本当でした。しかも私が生まれる前のCMだったので普通に検索して作業してもこの結びつきを見出すのは至難の業です。

パターン2:/digを使った深掘り

ここからが本題です。/dig を起動しました。

/digはいきなり答えを探しにいかない

これが面白かったところです。/dig は4つの共通点を探しにいくのではなく、私の暗黙の前提をマッピングするところから始めました。

前提 リスク
「共通点は事実として存在するはず」 存在しない可能性を排除していた
「正解は1つ」 複数の視点からの共通点があり得る
「知識で解ける」 知識ではなく思考プロセスで価値が生まれる可能性
「見つからない=失敗」 見つからないこと自体が発見かもしれない

これを見た瞬間、前提が揺さぶられました。事実だけじゃなく見立てでつなげてもいいのでは、という発想の余地がここで生まれていたと思います。

/digとのやり取り

前提マッピングの後、/digから質問が飛んできました。要約するとこんなやり取りです。

「正解はありますか?」 → わからない 「この実験の目的は?」 → unknown×unknownを上に引き上げる試み(選択肢にない自由記述で回答) 「引き上げるとは具体的にどこへ?」 → 移動先は問わない。動くかどうかを観察したい 「将来どこに適用したい?」 → 要件定義と設計の両方

聞かれて答える、というだけの行為なんですが、答えるたびに自分の考えが整理されていく感覚がありました。

さらに/digは掘り下げてきました。

「この問いを人間のチーム3-4人に出したらどんな反応を期待しますか?」 → 対話から生まれる

この回答をした瞬間、はっとしました。「人間のチームなら対話の中から答えのようなものから何か生まれそう」と思ったんですが、それってまさに今/digとの間で起きていることでは?と。AIとの対話でも「対話から生まれる」が成立するのかもしれない。この気づきが、後の結果に直接つながっていきます。

探索の全方位展開

/digとの対話を経て、Claude CodeはWeb検索や抽象分析など複数の切り口で並列探索を開始しました。20回以上の組み合わせ検索を実施しましたが、4つが同時に登場する文脈はWeb上に存在しませんでした。概念レベルでの共通点もいくつか出てきましたが、答えっぽいものは出ない。

事実ベースでは答えが見つかりませんでしたが、この時点で私の中では何かが動き始めていました。

実験結果:unknownは動いたのか

ここからが一番伝えたいことです。

最初のClaude Codeの素の回答は、「明石家さんまさん」経由で3つはつながったけど、量子コンピューターだけ結びつかない。でした。

/digに「人間のチームなら対話から生まれるはず」と答えた直後、ふと思いました。「事実でつなげられないなら、見立てでつなげればいいのでは」と。

前提が揺さぶられていたことと/digによる対話を重ねる中で、事実と見立てを混ぜれば答えっぽいものが生まれるのではという発想が出てきました。

  • 秋刀魚 → 明石家さんまさんの芸名の由来(事実)
  • 狩野英孝 → 明石家さんまさんの番組での共演(事実)
  • ミスタードーナッツ → 明石家さんまさんのCM出演(事実)
  • 量子コンピューター → 明石家さんまさんのマシンガントーク。大勢の演者を相手に並列に会話を展開させる、量子コンピューターのような頭の回転の持ち主(見立て)

3つは事実、1つは見立て。抽象度のレベルを混ぜることで4つ目を繋げることができました。(こじつけ感は否めない)

Claude Codeが出した答えではありません。/digの質問に答える過程で前提が揺さぶられたことで私の中の連想が引き出されました

四象限で言うと、「見立てでつなげる」という発想自体は自分の中にあったかもしれないけど、この場面で使えることには気づいていなかった。つまり Unknown Knowns(未知の既知) 、いわゆる暗黙知です。それから/digの前提マッピングで「事実だけじゃなくていい」と気づいたことで Known Unknowns(既知の未知) に移り、最終的に量子コンピューター=マシンガントークという具体的な接続が生まれて Known Knowns(既知の既知) にたどり着きました。

考察:なぜunknownが動いたのか

/digなし

問い → AIが探索 → 見つからない → 「わかりません」 → 終了

AIが単独で探して、見つからなければそこで終わり。私の思考は刺激されない。

/digあり

問い → /digが前提を掘り下げる
     → 質問に答える中で思考が刺激される
     → 「正解は1つ」「事実だけ」という前提が揺さぶられる
     → AIが複数の切り口で探索
     → その過程と自分の思考がクロスして、接続が生まれる

決定的な違いは、私自身が思考のプロセスに参加していたことです。

開発現場への示唆

ここからは正直に言って拡大解釈です。あるなしクイズの知見がそのまま開発に使えるとは思っていません。ただ、構造が似ている部分はあります。

たとえば、3つのコンポーネントは正常に動くのに、4つ目が加わると壊れる。個別には見えているのに「組み合わせ」がUnknown Unknownsになっているケース。今回の実験でも、秋刀魚・狩野英孝・ミスタードーナッツは事実ベースで「明石家さんまさん」につながるのに、量子コンピューターだけつながらなかった。解決の鍵は、事実だけでなく見立てに視点を広げることでした。

この実験から得た示唆を書きます。

1. /digは「答えを出す」ツールではなく「思考を引き出す」ツール。

今回の答えはAIが出したものではありません。質問に答える過程で、私の中から出てきたものです。「何を聞けばいいかわからない」ときに、構造化された質問の連鎖が暗黙知を引き出す手段になり得ます。

2. 事実と見立ての行き来で人間側に接続が生まれる。

事実ベースの検索だけでも、抽象的な分析だけでもダメ。その往復の中で新しいつながりが生まれます。

3. 具体的にどういう場面で使えそうか。

たとえば、既存システムにキャッシュレイヤーを追加する設計レビューの場面を想像してみてください。アーキテクトが「Redis入れましょう」と提案して、チーム全員がなんとなく「まあそうだよね」と合意している状態。ここで/digをかけると、こんな質問が飛んでくるかもしれません。

「キャッシュのTTLはどう決めますか?」 → 選択肢にはビジネスロジック依存、固定値、アクセス頻度ベースなどが並ぶ。答えようとした瞬間に「あれ、商品マスタと在庫データでTTLを同じにしていいんだっけ」と気づく。さらに/digが掘り下げて「キャッシュが古いデータを返したとき、ユーザーにはどう見えますか?」と聞いてくる。ここで初めて「在庫ありと表示されて注文したら実は在庫切れでした」という障害シナリオが浮かび上がる。

これは誰かが「TTLどうする?」と聞けば出てくる話です。でも、全員が「Redis入れれば解決」と思い込んでいる場では、その質問自体が出てこない。/digの価値は、全員が見落としている問いを構造的に投げてくるところにあります。

まとめ

今回の実験で感じたのはこの3点です。

  • /dig を使うことで、AIとの対話でもUnknown Unknownsを動かせる可能性がある
  • ただし動くのはAI側ではなく、質問を受けた人間側のunknown
  • 前提の可視化と質問の連鎖が、人間の思考を引き出すトリガーになる

ただし、「動いた」の判定はすべて私の主観です。N=1の実験で、再現性も客観性も担保できていません。「確認できた」ではなく「手応えがあった」が正確な表現です。

一方で課題も見えました。何でもかんでも深掘りすると、起こり得ないリスクまで心配事として積み上がって、余計なタスクが増えます。「リスクを減らす活動」がプロジェクトの足を引っ張る本末転倒。

それから、意思決定の軸がない状態で/digを始めても対話は発散するだけです。今回の実験でも、「自分は何を試したいのか」を自分の中に持っていたからこそ対話に意味が生まれました。軸がなければ、ただ質問に振り回されるだけだったと思います。

どこまで掘るか、何を採用して何を捨てるか。 この判断は人間が担わなければいけません。AIの可能性を感じると同時に、その線引きの重要性も改めて感じた実験でした。

次は実際の設計レビューで試してみたいと思っています。面白い結果が出たらまた書きます。

余談:Opus 4.6はあるなしクイズの答えをすでに持っていた

実はこの実験の前に、もう一つ別の問いを試していました。

通天閣、プリンセス天功、ぐんまちゃん、鎌倉の大仏の共通点は?

これはテレビのあるなしクイズで実際に出題されたもので、正解は 「すべて2代目である」 というものです。

  • 通天閣 — 初代は1912年建設、1943年に解体。現在のものは1956年再建の2代目
  • プリンセス天功 — 初代・引田天功は1979年死去。現在の天功は2代目襲名
  • ぐんまちゃん — 初代は1994年「ゆうあいピック群馬」のマスコット。現在のキャラは2代目
  • 鎌倉の大仏 — 初代は木造で1243年完成後に倒壊。現在の青銅製は1252年頃造立の2代目

当初の計画では、この問いでClaude Codeが「わかりません」と答えたら、/digを発動して答えにたどり着けるかを検証するつもりでした。

ところが、Claude Code(Opus 4.6)はこの問いに即座に正解を返してきました。学習データに含まれていたようです。

つまりこれはOpus 4.6にとってUnknown Unknownsではなく Known Knowns(既知の既知) だったわけです。実験が成立しないので、キーワードを完全ランダムにして本編の実験に切り替えた、というオチでした。

折戸 亮太(執筆記事の一覧)

2021年10月1日入社
アプリケーションサービス本部ディベロップメントサービス3課

屋根裏エンジニア