RQ-103: 問題空間の切り分け手法(PSM・計算的手法・LLM ハイブリッド)— 3モデル調査 synthesis
調査: 2026-06-12、OpenAI o3-deep-research / Gemini deep-research-preview-04-2026 / Claude opus-4-7 (managed-agent) を同一プロンプトで実行。生結果は
docs/research/rq-103-result-{openai,gemini,claude}.md(nav 未登録)。コスト実績 $5.44(OpenAI $2.35 / Claude $1.97 / Gemini $1.12)。 目的: 起案テキスト(日本語 200〜2,000 字・1 本)の「塊の混在」(独立して撤退できる別決定の同居)と MECE 違反(モレ・ダブり)を検査する手法を、既存 2 系統 — (a) ミント由来の MECE 検問 4 つ(意味判定)・(b) 下流ガバナンス属性の分岐テスト(可逆性・ドライバー・承認者・撤退/KPI、RQ-097)— を補強する第三の系統として体系調査する。 背景: 検査 5 層モデル(正典 §G)の ② 受付プリゲート(残論点台帳 Q2)と ① 作成時セルフチェックの設計素材。自由記述「問題を探せ」プロンプトの run 間不安定は RQ-098 で確認済み。 注記: OpenAI の出力には依頼した比較マトリクスと must/should/nice ランキングが明示形では含まれない(本文に分散。RQ-085 と同様の部分欠落)。マトリクスは Claude 版が最も完全。
Executive Summary(横断 key findings)
3 モデルが独立して合意した点を最優先で 5 つ。
コーパス型トピックモデル(LDA・BERTopic 全パイプライン)は単一短文書には不成立。(3モデル合意) LDA は文書間の語共起統計が本質要件で、200〜2,000 字 1 本は桁違いに不足。BERTopic も UMAP+HDBSCAN が小規模データで脆弱。Gemini は文単位の代替(SLRTM 等)を提示するが、文書級トピックモデルの sparsity 限界自体は 3 モデル一致。ユーザー候補のうち「トピック分析」はこの形では採用不可。
単一文書で成立する統計手法は「文(主張)単位の embedding クラスタリング」と「文類似度グラフのコミュニティ検出」のみ。両者は実質等価。(3モデル合意) 単位を文書から文・主張に落とせば n=10〜80 になり手法が定義できる。Claude=凝集型クラスタリング+コサイン閾値(seed 固定で再現性 ≈1.0)、Gemini=DBSCAN/HDBSCAN のノイズ点=孤立した論点(MECE 違反候補)、OpenAI=InfraNodus 型テキストネットワーク分析。ただし検出できるのは「話題の分離」までで、塊の混在の確定判定ではなく第二意見シグナル。ユーザー候補の「クラスタ分析」はこの形なら採用可。
本命は「LLM で IBIS/主張グラフに構造化分解 → グラフ上の決定論的ルールで MECE 検査」のハイブリッド。(3モデル合意) 自由記述プロンプトの最終判定は不安定(RQ-098 と同結論)。LLM の役割を「構造抽出」に限定し、判定は決定論的コード(例: root Question が 2 つ以上 ⇒ 塊複数)に置くと、判定部分の再現性は抽出が正しい条件下で κ=1.0 相当になる。Claude=IBIS 3 要素+multi-root ルール、Gemini=FABox(fuzzy 論証グラフ+定量意味論)、OpenAI=構造化プロンプト+multi-run 合意+embedding 検証。RQ-098 の「実行可能ルーブリック+決定論的 post-processor」(LLM-Modulo)と同型の結論。
再現性は temperature 0 だけでは得られない。schema 強制・self-consistency 投票・プロンプトハッシュキャッシュ・中間 commitment(CAST)を積み上げる。(3モデル合意) temperature 0 はトークン選択の決定化のみで logits の同一性は保証しない。strict JSON schema(有効率 60%→95% 超の報告)、k=3 投票、
{プロンプト+モデル+パラメータ}ハッシュでのキャッシュ、CAST(中間制約の明示でエントロピー削減・Gemini 固有)を併用する。構造化出力の回帰評価には BERTScore でなく STED(意味的木編集距離・Gemini 固有)。「1 ADR = 1 決定」の機械検査ツールは現存しない(空白領域)。(3モデル合意) 規範自体は AWS(200+ ADR 経験)・Microsoft WAF・MADR 等で普遍だが、強制は文化・人手レビューのみ。既存 lint は形式(節の存在)しか見ない。LLM での ADR 違反検出研究(980 ADR×多モデル検証 2026)はコード↔ADR 間の違反が対象で、「1 本に 2 決定」の scope linting は未製品化。本プロジェクトの Q2 プリゲートは既存ツールの再発明ではない。
3モデル横断の合意 / 相違(設問別)
設問1 — 定性的問題構造化手法(PSM)の転用可否
合意点(3モデル)
- イシューツリー/ロジックツリーと IBIS/argument mapping が最有力。前者はモレ・ダブり、後者は塊の混在(root Question 複数)を直接検出する。
- SSM(Soft Systems Methodology)本体は重すぎて不向き。CATWOE(特に Transformation)だけをルーブリックとして抜き出し、「変換が 2 つ要る ⇒ 塊複数」のサインに使うのは可。
- Cynefin は切り分けでなく文脈種別の混在検出(定型処方の Actions × Complex な Context のずれ)という直交軸。
相違・固有の指摘
- 形態分析(Zwicky box): Claude=転用可・Cross-Consistency Assessment(CCA)は既存ガバナンス分岐テストの一般化(固定 4 属性 → 起案が実際に述べる任意のパラメータ)で should-have / Gemini=次元独立性チェックとして有用 / OpenAI=発想法であって検査法でなく不向き。2:1 で有用寄りだが、使うなら「検査向けに再目的化した CCA」であって原法ではない点に注意。
- KJ 法/親和図: OpenAI=最も転用しやすい部類(文を仮想付箋に) / Claude=生テキスト直は不可、LLM 抽出後の主張リストに対してのみ(主観的で再現性なし、著者 override 用の表示に向く) / Gemini=ボトムアップ統合の補助。
- Claude 固有: 仮説ツリー/コンサル流 decision tree は「課題→対応策」の IF-THEN 監査(検問 4 の宙に浮いた対応策検出)に使える。
設問2 — 計算的・統計的手法は単一短文書で成立するか
合意点(3モデル)
- LDA: 不成立(要コーパス)。BERTopic 全パイプライン: 不成立(UMAP+HDBSCAN が n=1 で無意味)。文単位に分解した時点でそれは BERTopic でなく文 embedding クラスタリング。
- 文 embedding クラスタリング: 成立。最小要件 ≈10 文。多言語 sentence-transformer(日本語対応)+凝集型 or 密度ベース。seed 固定で決定論的。
- グラフコミュニティ検出: 成立(文類似度グラフ+Louvain/Leiden)。embedding クラスタリングと実質等価で、既存グラフ基盤がなければ後者で足りる。
- 決定木(教師あり分類器): ラベル付き履歴ができるまで保留。Claude が具体閾値を提示: 過去ドラフト 50〜100 本のラベル蓄積後に再評価(ゲート運用が始まれば人間裁定済み verdict が訓練ラベルとして自然に貯まる)。ルールベースの「決定木」なら既存ガバナンス分岐テストが既にそれ。ユーザー候補の「決定木」は将来枠。
相違・固有の指摘
- Claude 固有: TextTiling/TopicTiling(文書内セグメンテーション)は古典的・決定論的で n=1 に定義されるが、ADR は章立てで話題が移るのが正常なので「2 決定検出器」ではなく著者向け可視化・タイブレーカーが適所。
- Gemini 固有: SLRTM(RNN ベース文単位トピックモデル)、DBSCAN ノイズ点=孤立論点(検問 4 の「宙に浮いた対応策」に対応)、KwikBucks(コスト最適化)。
- Claude 固有: クラスタリング単位は生の文より LLM 抽出した主張(claim)単位が clusterability 良(span-level embedding の実証)→ 設問 3 のハイブリッドに接続。
設問3 — LLM ハイブリッドの run 間安定性と説明可能性
合意点(3モデル)
- 構成は 3 部品: 分解器(LLM・構造化出力)→ 分離可能性テスト(決定論的)→ 再現性制御(schema/投票/キャッシュ)。最終判定を LLM の自由記述に委ねない。
- 説明可能性の要 = 判定根拠の逐語引用(evidence quotes)を必須フィールド化。誤検知時に起案者が納得・反証できる形で出す(起案者の手戻りコストへの配慮は 3 モデルとも明示)。
- 信頼性の実測値(Claude 集約): 論証構造の人間アノテーション一致は κ ≈ 0.48〜0.85 とタスク依存で幅広い。LLM 抽出は丁寧な設計で κ ≈ 0.6〜0.8 圏を狙え、ルール部分は抽出正しさ条件付きで決定論的。
相違・固有の指摘
- Gemini 固有: CAST(中間 commitment の明示生成で出力分布を尖らせ run 間分散を削減)・STED(構造化出力の回帰評価指標。BERTScore は schema 破壊を >0.95 で見逃す)。
- OpenAI 固有: prompt rephrasing+voting+certainty 推定で F1 数 % 改善の報告。argument mining 研究は「LLM 単体は構造的推論の透明性を欠く」(ハイブリッド動機)。
- Claude 固有: 論証グラフ復元の SoTA 実例(参照アノテーションと 94% 相関)・claim decomposition(原子性 +32% DecompScore)・キャッシュはモデルの決定化でなくアプリ境界の決定化という整理。
- Gemini 固有(日本語): トークナイズ・主語省略・敬語で英語圏ベンチが転移しない。llm-jp 系評価での較正が必要。
設問4 — ADR/RFC/Design Doc 粒度判定の先行事例
合意点(3モデル)
- 規範は普遍(AWS「1 決定に集中・必要なら分割」/ Microsoft「フェーズが分かれるなら別レコード」/ MADR・Nygard)だが、機械強制した事例・製品は見つからない。既存 lint は形式検査のみ。
- 学術側も design rationale 管理・コード↔ADR 整合が中心で、「自動の決定分割検出」専用研究は未発見。
相違・固有の指摘
- Claude 固有: 証明書 lint(pkilint/zLint/pkimetal)の「複数の独立 linter の投票」パターンが転用可能な構造。LLM 起草 ADR の品質リスク実録(幻覚参照・不適合な正当化)→ 対策は「判定を駆動した文の引用必須」。
- OpenAI 固有: 「1 commit = 1 論理変更」lint とのアナロジー。レビューチェックリスト(「この文書は 1 つの決定だけを扱う ✅」)が現実の最頻手段。
- Gemini 固有: ADR 実践の約半数が 5 本未満で放棄される「adoption gap」(粒度規律の維持コストが一因)。
合意度サマリ: 設問1=中(中核は一致・形態分析/KJ で評価割れ)、設問2=高、設問3=高、設問4=高。
統合比較マトリクス
Claude 版マトリクスを基礎に 3 モデルの評価を統合(◎=有効 / ○=条件付き / △=部分的 / ✕=不適)。「混在」=塊の混在(検問 1)、「モレ・ダブり」=検問 2。
| 系統 | 手法 | 単一短文書 | 混在 | モレ | ダブり | 実装コスト | 再現性 | 説明可能性 |
|---|---|---|---|---|---|---|---|---|
| 既存 (a) | ミント MECE 検問(自由記述 LLM) | ◎ | ○ | ◎ | ◎ | 低 | ✕ 不安定 | ○ |
| 既存 (b) | ガバナンス属性分岐テスト | ○(属性明示時) | ◎ | △ | △ | 低 | ◎ ルール | ◎ |
| 定性 | イシューツリー(著者セルフチェック) | ◎ | △ | ◎ | ◎ | 低 | ◎ | ◎ |
| 定性 | IBIS/argument map(LLM 抽出スキーマ) | ◎ | ◎ multi-root | ○ | △ | 中 | ◎(抽出後ルール) | ◎ |
| 定性 | 形態分析 CCA(再目的化) | ◎ | ◎ | △ | △ | 中 | ◎(抽出後ルール) | ◎ |
| 定性 | Cynefin(文脈種別) | ◎ | △ 直交軸 | ✕ | ✕ | 低 | ○ | ○ |
| 定性 | KJ/親和図 | △(抽出済み主張のみ) | △ | ○ | ◎ | 低 | ✕ 主観 | ○ |
| 定性 | SSM/CATWOE ルーブリック | △ | ◎(変換 2 つ) | ✕ | ✕ | 低 | ○ | ○ |
| 統計 | LDA / BERTopic 全パイプライン | ✕ | ✕ | ✕ | ✕ | 中 | △ | ✕ |
| 統計 | 文(主張)embedding クラスタリング | ◎(≥10 文) | ○ 分離シグナル | ✕ | △ | 低 | ◎ seed 固定 | △ |
| 統計 | TextTiling 等セグメンテーション | ◎ | △ 話題移行のみ | ✕ | ✕ | 低 | ◎ | △ |
| 統計 | グラフコミュニティ検出 | ◎ | ○(=クラスタリング) | ✕ | △ | 中 | ◎ | △ |
| 統計 | 決定木分類器(教師あり) | 要ラベル 50〜100 本 | ◎ 訓練後 | △ | △ | 高 | ◎ | ○ |
| LLM | IBIS/主張グラフ抽出+ルール検査 | ◎ | ◎ | ◎ | ○ | 中 | ○〜◎(schema+投票+キャッシュ) | ◎ 逐語引用 |
| LLM | 主張分解+embedding 分離テスト | ◎ | ◎ | △ | ○ | 中 | ◎(クラスタ部) | ○ |
| LLM | ルーブリック LLM judge(k 投票) | ◎ | ◎ | ◎ | ◎ | 中 | ○ | ◎ |
推奨スタック(既存 2 系統への上乗せ)
Claude 提案(最も具体)を骨格に、3 モデルの支持状況を付記。置き換えでなく既存 (a)(b) の上に重ねる。
Must-have
- M1: LLM IBIS/主張グラフ抽出器+決定論的 MECE ルール検査(3モデル相当支持)。strict JSON schema(root_questions / positions / arguments / evidence_quotes 必須)・temperature 0・k=3 投票(境界例)・プロンプトハッシュキャッシュ。判定ルール =
root Question ≥ 2 ⇒ 塊複数(根拠逐語引用つき)。 - M2: 文(主張)embedding 分離可能性テスト(3モデル合意)。決定論的第二意見。
非単独クラスタ ≥ 2 かつ クラスタ間距離 > τで flag(自動 verdict にはしない)。M1 と矛盾したら M1 の self-consistency を起動。
Should-have
- S1: 形態分析 CCA パラメータ検査(Claude/Gemini 支持・OpenAI 異論)。既存ガバナンス分岐テストを「起案が実際に述べる 3〜7 パラメータ」へ一般化。
- S2: 起案者側イシューツリー 5 分セルフチェック(Claude/OpenAI 支持)。① 作成時層に置く。葉が同一 root への答えか・動詞の型が揃うか・各層 ≤5 葉。ゲート前に検出してゲートの手戻りコストを下げる。
Nice-to-have
- N1: Cynefin 文脈分類器(処方型 Actions × Complex 文脈の警告)/ N2: CATWOE を M1 の補助ルーブリックに / N3: 抽出主張の KJ 風 affinity 表示+著者 1 分 override(誤検知コスト対策)。
不採用(3モデル合意): LDA・BERTopic 全パイプライン / 教師あり決定木(ラベル 50〜100 本蓄積まで保留) / SSM 本体 / 自由記述プロンプトでの最終判定。
本プロジェクトへの適用示唆
- 検査 5 層モデルへの配置: S2 = ① 作成時(セルフチェック手順化)。M1+M2(+S1)= ② 受付(Q2 プリゲート v2 の中身)。検問 1〜2 の機械化が M1、検問 4(宙に浮いた対応策)は IF-THEN 監査と DBSCAN ノイズ点が対応。
- Q2 v2 への直接入力: v2 確定方針の「2 段判定(一次=RQ-097 4 シグナル+決定対象軸 / 二次=意味判定)」の二次を M1 型(構造抽出+ルール)で設計すると、RQ-098 の安定化要件と整合する。
- ユーザー候補 3 手法への回答: クラスタ分析=文・主張単位なら採用可(第二意見 M2) / トピック分析=単一短文書では不成立(不採用) / 決定木=ラベル付き履歴 50〜100 本の蓄積後に再評価(将来枠)。
- 日本語較正(Gemini 固有・実装時の注意): 多言語 sentence-transformer の選定と llm-jp 系ベンチでの evals。golden eval(prompt-cicd)に日本語ケースを置く。