LLMを使いこなすための認知的なアプローチ:大切なのは「解像度」だった(試考)
はじめに
この考察は、著者が非常勤講師で毎年担当している「データサイエンス特論」の中で、大規模言語モデル(LLM)やその効果的な使い方についての講義のネタの仕込みである。特に、「深津式プロンプト読本」(深津)、「解像度を上げる」(馬田)に触発された試考である、夏休みの宿題のようなもの。所属する大学・組織とは無関係であることをここに記す。
興味を持っていただいた方は、是非、原点である、深津さん、馬田さんの著作をお読みすることをお勧めします。
背景
ChatGPTに代表されるように、大規模言語モデル(LLM)は単に、入力された文章の続きの文章を確率的に生成するという単純なtransformerとしての機能を超えて、あたかもそれが人と対話する(強い)AIであるかのように振る舞う。しかし、その能力を最大限に引き出すには、入力方法に一定の工夫、プロンプトと呼ばれる、が必要になり、CoT(Chain of Thought)を代表として、様々なプロンプトテクニックが開発されてきた。その中で様々なノウハウの蓄積や類型化も進み、またLLMと付き合うなかで、LLM自身の性質をうまく生かすようなプロンプト戦略も編み出されてきたが、今だ体系化の決定版はない。本稿では、認知的な観点から、なぜある種のプロンプトが効果的なのか?それは、LLMと人間との関係性に含まれるどのような課題を解決しようとしているのかについて考察した。
課題の定義:認知的負荷の解消(分散)が課題
以上の状況を、たとえばCoT(Chain of Thought)等のプロンプトがなぜ有効なのかを認知の観点でChatGPTに分析してもらった。
Cotとか、generate knowledge promptのようなプロンプトテクニックの背景理論を整理したい
回答から、「認知的負荷(cognitive load)の分散」の問題であるというアイデアを得た。ChatGPTによると、認知的負荷(Cognitive Load)は、学習や問題解決の際に、個人の認知システム(主に短期記憶と作業記憶)にかかる負担を指します。認知的負荷が過度に高いと、情報の処理や理解が困難になり、学習や問題解決の効率が低下するということであり、様々なプロンプトは、この認知負荷を分散(解消)するための手段であるということらしい。
認知的負荷には外在的な要因と、内在的な要因があるという。どうも課題設定が曖昧であることを指している。

認知的負荷を分散(解消)するためには、以下のような手段が有効であるという。
情報の段階的提示
マルチモーダル・プレゼンテーション
異なる、認知チャネルの利用
視覚的補助
先行オーガナイザー(関連する背景知識や構造)を提案
仮説:認知的負荷は「解像度」の問題である
「よりよく人間がLLMを使いこなすこと」を阻害する要因の1つとして、認知的負荷に着目し、これを解消(分散)する手段を考え、この観点から、有効なプロンプトパターンを類型化を試みる。
解消手段の1つとして、外在的・内在的要因で挙げられたように、LLMと人間との間で、課題設定や解決方法が十分詳細化・明示化されてないことが要因であると仮説を立てた。さらにこの、理解の齟齬は、人間自身の要求仕様やLLMが提供できる能力の認識の齟齬も、同根の要因であるとすると、これは「解像度」の問題であると考えた。
そこで、代表的なプロンプトテクニックを紹介し、それがどのように、認知的負荷を解消(分散)しているのかを整理した。
代表的なプロンプトテクニック(類型)
以下は、「ChatGPTを使い尽くす! 深津式プロンプト読本」より抽出したプロンプトの類型である。(詳しくは、本を購入して読んでください)

「解像度を上げる」には
以下は、「解像度を上げる――曖昧な思考を明晰にする「深さ・広さ・構造・時間」の4視点と行動法」馬田著、を参考にした。馬田さん自身のプレゼン資料は以下である。
「解像度」とは
深さ、広さ、構造、時間が解像度を上げるための重要な視点となっている。(詳しくは、本を購入して読んでください)
「深さ」
原因や要因、方法を細か具体的に掘り下げる
「広さ」
考慮する原因や要因、アプローチの多様性を確保する
「構造」
広さ・深さで見えてきた要素を、意味のする形で分け、要素間の関係性や相互作用をみる。
「時間」
経時変化、因果関係、プロセスや流れ
解像度を深めるには
内化と外化を繰り返して深める
内化:血肉化、深さに関係
外化:試行錯誤しながら、情報が加工に生み出される
言語化、Why so?、Insightに関連
言語化して現状を把握する(外化)
何が重要な課題か、それはなぜなのか?
サーベイする(内化)
何が特徴なのか
手元にあるもので、データ分析して、ある程度現状を定性的に理解する
インタビュー(内化)
事情を聞く
「なんとなく不満」→集めた事実から洞察へ
顧客自身が認識できている課題の先へ、
半構造化インタビュー
×欲しいもの、〇理想的な状態
Why So?を繰り返して、事実から洞察を道ぶく
もっと深い原因がある、なぜなぜ分析
言葉や概念、知識を探す。
課題の広さと構造と時間の広げ方
前提を疑う、視座を変える、レンズを使い分ける
因果ループなどの図の活用、
パターン、アナロジー
構造化の手法
構造把握手法の例
MECE
もれなくダブりなく(mutually exclusive collectively exhausitive)、論理的思考と関連
因果関係や時系列
因果関係という形で構造を把握、時系列、ループ、システム思考と関係、バリューチェン等
関係性
ステークフォルダ同士の関係性や活動の関係性(CACV等)、どの要因が相対的に
論理的思考
システム思考
パターン
構造のパターンを知ることで、アナロジーを使って構造の把握をうまくいく
図の例
原因分析:ユーザビリティ分析(Causal Analysis)、
例えば原因と結果のつながりを分析するのに使う
バリューチェーン
ステークフォルダーマップ(CACV:Customer Value Chain Analysisなど)
因果ループ図
(詳しくは、本を購入して読んでください)
プロンプトと解像度の関係性
前出のプロンプトテクニックの類型が、解像度を上げる、方向性を与えるという意味でどのような効果を持っているかを整理した。「方向性」と「内省」は著者が追加したものであり、「内省」はLLMの内省を促す働きをもつものを想定した。

どうだろうか、CoTは、Step by Stepにゴールまでのプロセスを分解し、時間方向への解像度をあげつつ、段階的に部分問題に展開してゆくという、構造の解像度を上げている。Information Retrievalや、Proactive Promptは深さの解像度を上げ、Tree of thoughtや Common belief andは、広さの解像度を上げる。いくつかのプロンプトは、方向性も同時に指示していることに注意したい。また内省とあるのは、LLMの内部状態の変化を期待している。
主張(LLMを使いこなすためのプロンプト道とは)
認知的負荷を、LLMとのやり取りを通じて課題に対する「解像度」を上げることで、下げる
仮説:LLMは認知的負荷(人間の課題提示の情報不足、曖昧さ、解決の方向性の曖昧さ等)を負っており、適切なプロンプトを与えて回答させ、このやり取りを継続しながら、LLMの認知負荷を軽減することで、LLMの本来の能力を発揮し、人間にとって所望の回答を提示してくれるようになる。
認知的負荷の要因は、外在的(人間)なもの、内在的(LLM)なものに分類でき、これら内在的・外在的な要因を解決するためには、(LLMの課題に対する)「解像度」を上げることと、人間が解決案の方向性を適宜与えることが大切である。
解像度(広さ、深さ、時間、構造)を上げるためには、プロンプトを通じたやり取りにより、LLMに内化と外化を繰り返させる、このとき方向性も適切にガイドする。
LLMにとっての外化とは、その認知プロセスを表にすることであり、試行錯誤により自分の中にあるものを表現するプロセスである。このために、人間は、プロンプトを通じて、分析させたり、構造化(図)としてまとめさせることでその片鱗を得る。出力される分析結果、因果ループ、XX図などが、所望のものでない場合は人がこれを修正させる。このようにしてLLM自身の出力として明らかにされた認知プロセスは、会話の中でコンテキストとして(LLMにとって)疑似的に内化され、次のやり取りに生かされる。CoTも「時間」の解像度を深める外化を促しているともいえる。例えば、顧客案件から、CVCA(Customer Value Chain Analysis)を分析させてから、ビジネスのチャンスや脅威について質問をする場合は、CVCA図が、コンテキストとして疑似内化され、これが次の質問への回答に生かされる。
LLMにとっての内化は、このように人間とのやり取りの中間出力がコンテキストとして積みあがる疑似的な内化のほかに、内部状態の変化(内省、インサイト)も期待されるが、内部状態は直接制御することはできない(例外はある)。人間が直接LLMに内化の方向性を働きかけることもできる。これはCoT、ToTやロールや具体的な指示などである。さらに、内化を制御しようとする手段として、視座を与えるなどがある。人間側が本当にしたいことを想起させるような視座として、例えば、シミュレーションモデルにしてみてとか、アンカリングなどが使える。
以上をまとめると、LLMを使いこなすための良いプロンプト(の列)とは、LLMの課題に対する認知的負荷の軽減を念頭に、適切な外化を誘引する「問い」を発し、その結果を疑似的な内化あるいは、内部状態の変化につなげて、解像度を上げながら、所望の出力を得ることができるプロンプト(の列)である。これには人間側の「問う」能力やリテラシーが重要になる。
ご参考(Claude3.5sonnetにより生成された相互作用の図)
上記「主張」をそのままClaude3.5に、図にしてもらった
人間: 以上の分析に従い、人間とLLMとの関係性を、グラフとしてあらわせるか?
なんか言いたいことと違うけども、絵がきれいなので掲載する。
```mermaid
graph TD
Human[人間] -->|プロンプト| LLM[LLM]
LLM -->|回答| Human
subgraph "認知的負荷"
CL[認知的負荷]
ECL[外在的要因]
ICL[内在的要因]
CL --> ECL
CL --> ICL
end
subgraph "解像度"
R[解像度]
D[深さ]
W[広さ]
S[構造]
T[時間]
R --> D
R --> W
R --> S
R --> T
end
subgraph "プロセス"
E[外化]
I[内化]
E <--> I
end
Human -->|方向性を与える| LLM
Human -->|解像度を上げる| R
Human -->|認知的負荷を軽減| CL
LLM -->|外化| E
E -->|分析結果,図表| Human
Human -->|フィードバック| E
E -->|疑似内化| I
I -->|コンテキスト| LLM
R -->|影響| CL
CL -->|影響| LLM
style Human fill:#f9f,stroke:#333,stroke-width:4px
style LLM fill:#bbf,stroke:#333,stroke-width:4px
style CL fill:#fbb,stroke:#333,stroke-width:2px
style R fill:#bfb,stroke:#333,stroke-width:2px
style E fill:#ffb,stroke:#333,stroke-width:2px
style I fill:#bff,stroke:#333,stroke-width:2px
```これから「主張」を実践してみる、すなわち、外化の結果を生かしてさらに内化を促す。
人間:このダイアグラムと、元の文章を比較して合わないところを分析してから書き直して、特に外化・内化はLLMに特化した事象であるとする。
回答:
LLM: ご指摘ありがとうございます。元の文章と比較し、特にLLMに特化した外化・内化の概念を反映させるように、ダイアグラムを分析し修正します。このダイアグラムは、元の文章で説明されている複雑な関係性をより正確に表現しています。特に、LLMの外化と内化のプロセスを詳細化し、人間とLLMの相互作用がどのようにLLMの能力を引き出し、認知的負荷を軽減するかを視覚的に示しています。
なんとなく、いい感じに修正された感じがする。
```mermaid
graph TD
Human[人間] -->|プロンプト| LLM[LLM]
LLM -->|回答| Human
subgraph "認知的負荷"
CL[認知的負荷]
ECL[外在的要因<br>人間側の課題提示の<br>情報不足・曖昧さ]
ICL[内在的要因<br>LLM側の理解・<br>処理の限界]
CL --> ECL
CL --> ICL
end
subgraph "解像度"
R[解像度]
D[深さ]
W[広さ]
S[構造]
T[時間]
R --> D
R --> W
R --> S
R --> T
end
subgraph "LLMの内部プロセス"
E[外化<br>認知プロセスの表出]
PI[疑似内化<br>コンテキストの蓄積]
RI[実内化<br>内部状態の変化]
E --> PI
E -.-> RI
end
Human -->|方向性・視座を与える| LLM
Human -->|解像度を上げる指示| R
Human -->|認知的負荷を軽減するプロンプト| CL
LLM -->|外化<br>分析結果・図表| E
E -->|出力| Human
Human -->|フィードバック・修正指示| E
PI -->|コンテキスト| LLM
RI -.->|内省・インサイト| LLM
R -->|影響| CL
CL -->|影響| LLM
Human -->|CoT・ToT・ロール指定| RI
style Human fill:#f9f,stroke:#333,stroke-width:4px
style LLM fill:#bbf,stroke:#333,stroke-width:4px
style CL fill:#fbb,stroke:#333,stroke-width:2px
style R fill:#bfb,stroke:#333,stroke-width:2px
style E fill:#ffb,stroke:#333,stroke-width:2px
style PI fill:#bff,stroke:#333,stroke-width:2px
style RI fill:#fdb,stroke:#333,stroke-width:2px
```少しサブグラフを畳んで、LLMの内部プロセスを拡大する。
```mermaid
graph TD
Human[人間] -->|プロンプト| LLM[LLM]
LLM -->|回答| Human
subgraph "LLMの内部プロセス"
E[外化<br>認知プロセスの表出]
PI[疑似内化<br>コンテキストの蓄積]
RI[実内化<br>内部状態の変化]
E --> PI
E -.-> RI
end
Human -->|方向性・視座を与える| LLM
Human -->|解像度を上げる指示| R[解像度]
Human -->|認知的負荷を軽減するプロンプト| CL[認知的負荷]
LLM -->|外化<br>分析結果・図表| E
E -->|出力| Human
Human -->|フィードバック・修正指示| E
PI -->|コンテキスト| LLM
RI -.->|内省・インサイト| LLM
R -->|影響| CL
CL -->|影響| LLM
Human -->|CoT・ToT・ロール指定| RI
style Human fill:#f9f,stroke:#333,stroke-width:4px
style LLM fill:#bbf,stroke:#333,stroke-width:4px
style CL fill:#fbb,stroke:#333,stroke-width:2px
style R fill:#bfb,stroke:#333,stroke-width:2px
style E fill:#ffb,stroke:#333,stroke-width:2px
style PI fill:#bff,stroke:#333,stroke-width:2px
style RI fill:#fdb,stroke:#333,stroke-width:2px
```どうだろう、LLMと人間がプロンプトと回答を通じた相互作用の中で、LLMの内部プロセスとして、外化と内化を繰り返しながら解像度を上げている様子が見えるだろうか?疑似内化と比べるように実内化とあるのは、勝手に生成された用語である。インサイトや内省ってのもいい感じに刺さっている。おおむね作者の意図を理解し、構造化が進んだように見える。
LLMが生成した新しいプロンプト
プロンプトを提案するというメタなプロンプトとして活用してみた
人間: 以下の考察について、この分析から得られる、あたらしいプロンプトのパターンを3つ生成できるか?
答え(gemini-1.5-pro-exp-0801)
この考察から、LLMの認知的負荷を軽減し、解像度を高めるための新しいプロンプトパターンとして、以下の3つが考えられます。
1. 内化と外化を促すプロンプト - "思考の深掘り" プロンプト
目的: LLMに自身の思考プロセスを深く掘り下げさせ、より洗練された回答を生成させる。
パターン:
ステップ1: 回答生成: まず、通常のプロンプトでLLMに回答を生成させます。
ステップ2: Why So?: LLMの回答に対して「なぜそう考えたのか?」と、その根拠や理由を問います。
ステップ3: 再回答: ステップ2でのLLMの回答を踏まえ、最初のプロンプトをより詳細化・具体化して再度質問します。
例:
ステップ1: 「日本の少子化問題の解決策について提案してください。」
ステップ2: 「なぜ、その解決策が有効だと考えたのですか?具体的な根拠やデータがあれば教えてください。」
ステップ3: 「経済的な支援策に焦点を当てて、日本の少子化問題の解決策をより具体的に提案してください。」
2. 多角的な視点からの検討を促すプロンプト - "多面的思考" プロンプト
目的: LLMに様々な視点から課題を検討させ、より多角的で包括的な回答を得る。
パターン:
ステップ1: 異なる立場/役割の設定: 複数の異なる立場や役割(例:経済学者、社会学者、政治家、一般市民など)を設定します。
ステップ2: 各立場からの意見: 各立場になったつもりで、課題に対する意見や考えを述べるようにLLMに指示します。
ステップ3: 統合と考察: それぞれの立場からの意見を比較・分析し、最終的な結論や提案を導き出すようにLLMに指示します。
例:
ステップ1: 「あなたは、経済学者、社会学者、政治家、一般市民の4つの立場です。それぞれの立場から、日本の少子化問題について考えてみてください。」
ステップ2: 「それぞれの立場で、少子化問題の原因や解決策について、具体的な意見を述べてください。」
ステップ3: 「4つの立場からの意見を総合的に判断し、日本の少子化問題に対する最も効果的な解決策を提案してください。」
3. 視座変換を促すプロンプト - "メタ認知" プロンプト
目的: LLMに自身の思考の枠組みを認識させ、より高いレベルの視点から課題を捉えさせる。
パターン:
ステップ1: 課題への取り組み: まず、通常のプロンプトでLLMに課題に取り組ませます。
ステップ2: 振り返り: LLMに、自身の回答生成プロセスを振り返らせ、どのような思考プロセスで回答に至ったのかを分析させます。
ステップ3: 視点の転換: 過去の経験や知識、他の分野の事例などを参考に、新たな視点やアプローチで課題を再考するようにLLMに指示します。
例:
ステップ1: 「地球温暖化問題の解決策について、具体的な提案をしてください。」
ステップ2: 「あなたは、どのような思考プロセスでその解決策を提案しましたか?自身の思考過程を分析してみてください。」
ステップ3: 「他の環境問題の解決事例を参考に、地球温暖化問題への新たなアプローチ方法を提案してください。」
これらのプロンプトパターンは、LLMの認知プロセスをより深く理解し、人間とLLMの協働を促進する上で有効なツールとなることが期待されます。
