<AI時代の質問力>を読む
この投稿は、固定ページの「問いは世界を創造する:問題解決と創造」のために作成した記事の一部を投稿したものです。
現代の問いープロンプティング
プロンプティングは付き合い方が少し難しい
プロンプティングとは、生成AIに指示・質問する「問い」(プロンプト)のやろ方のことである。当然自然言語で行う。従って「国語力」と同値のような気もする。
だから最初の頃、「あなたは先生です」(ペルソナパターン)、「初心者に説明してください」(オーディエンス・ペルソナパターン)という条件を入れると有効だ、というようなことをいわれると、小馬鹿にされたようでとても胡散臭かった。
しかし、生成AIは、「ある記述」に引き続いて「どのような記述」が高い確率で継続するかということが基本的な構造であり、「ある記述」がプロンプトであるといわれると、そういうものかと、少し納得する。
だから格好いいプロンプトを考える前に、生成AIに有効と思われるパターンを知り、それを反復して経験的に有効なプロンプトをマスターするのが、望ましいプロンプティング・エンジニアリングであろう。
それに加えて、生成AIは日々変化進展しているから、プロンプティング技法は新しい方がいいという面もある。
そういう観点から、当面、後記の「AI時代の質問力」を基本的な参考書にしたい。ただ著者は学者のようだが、どこまで生成AIを使い込んでいるかはよくわからない。?とも思うのだが、英会話ができない英語学者もいるから、それでも構わないか。
要は私が、NotebookLMやGemini 1.5 pro with Deep Reseachを使い込むことで、プロMプティングをマスターすればいいのだ。
パターンを頭に入れるために、、後記の「AI時代の質問力」(2024年6月刊)の第3章から第5章は、章の要約に変え、そこに記述されたプロンプティングのパターンを要約掲載しておく。
<AI時代の質問力 >の要約と目次
書誌 AI時代の質問力 プロンプトリテラシー 「問い」と「指示」が生成AIの可能性を最大限に引き出す:岡 瑞起,橋本 康弘(2024年6月)
各章の要約
第1章 大規模言語モデルの登場
第1章では、ChatGPTの登場が社会現象となったことが述べられています。従来のAI技術は専門家によって作られるものでしたが、ChatGPTはプロンプトと呼ばれる自然言語での指示によって、誰でも容易に利用できるようになった点が画期的です。ChatGPTのリリース後、わずか5日間で100万人のユーザーを獲得し、数ヶ月で世界的な話題を集めました。
ChatGPTを支える技術として、「トランスフォーマー」と「自己教師あり学習」の2つが挙げられています。トランスフォーマーは、人間の脳の構造を模倣した多層ネットワークで複雑なパターンを捉えるディープラーニング技術であり、自己教師あり学習は、既存の文章から自動的に予測問題を作成し、答え合わせをしながら自己学習を進める方法です。
トランスフォーマーは、文章の文脈や構造を捉え、単語間の関係性を学習することで、より豊かな文の解釈を可能にします。自己教師あり学習では、穴埋め問題を通じて文章の文脈、構造、つながり、背景知識などを学習し、大量のテキストデータを教師データとして活用することで、人間が教師データを用意する手間を省きます。
ChatGPTは、これらの技術を基に対話に特化して学習されており、質問への適切な答え方を学習したり、人間からのフィードバックを基に改善を重ねることで、より自然な会話を実現しています. また教育現場でのAIの活用例をあげ、教師の仕事の中で、情報を提供したり、生徒の疑問に答えるタスクはAIで代替可能になるかもしれないと述べています。
AIの能力を引き出す質問力を高めることが、AIとの連携を円滑にし、人間には不可能だった成果を得ることに繋がると述べられています。
第2章 プロンプトエンジニアリング
第2章では、プロンプトエンジニアリングの重要性と、大規模言語モデルを使いこなすための基礎知識が解説されています。プロンプトとは、人間がコンピュータに与える自然言語で書かれた指示書のことであり、大規模言語モデルに仕事を依頼する際の頼み方でもあります。プロンプトを工夫することで、大規模言語モデルからより適切な応答を引き出すことが可能になります。
大規模言語モデルは、穴埋め問題の延長として後続する単語を次々と選択し、文章を生成する仕組みを持っています。このため、プロンプトにどのようなパターンが含まれているかを意識し、大規模言語モデルの訓練データとなった文章の中で、そのパターンがどのように使われていたかを想像することが重要になります。
プロンプトを書く際は、具体的に、詳細に記述することが推奨されます。プロンプトの焦点が曖昧だと、結果も同様に曖昧になるため、指示を具体的に与えることで、ニーズに合ったカスタマイズされた回答を生成させることができます。
大規模言語モデルは高度な推論能力を持つ一方で、簡単な四則演算を間違えるなど、ハルシネーションと呼ばれる現象を起こすことがあります。しかし、適切なプロンプトを使用することで、この現象をある程度克服することができます。
大規模言語モデルは、プロンプトに応じて内部状態を調整し、動的にネットワークの重みを変化させるように動作します。この文脈内学習と呼ばれる振る舞いにより、大規模言語モデルは氷漬けの関数ではなく、与えられた文脈やタスクに応じて異なる表現を作り出し、問題の解釈や解決方法を変えていくことができます。
第3章 プロンプトパターン
3-1 ペルソナパターン
ペルソナパターンは、大規模言語モデルに特定の人物やキャラクターのように振る舞わせるプロンプト技術です。実在の人物だけでなく、アニメキャラクターや猫などの架空の存在もペルソナとして設定できます。例えば、「哲学者のように振る舞ってください」と指示することで、AIに哲学的な観点から回答させることが可能です。ペルソナを使い分けることで、特定の視点や知識に基づいた回答を引き出すことができます。ペルソナは、AIの応答に個性を与え、より人間らしい対話を可能にするための強力なツールとなります。
3-2 オーディエンス・ペルソナパターン
オーディエンス・ペルソナパターンは、特定の対象者(オーディエンス)に合わせた回答を生成するプロンプト技術です。これは、単に指示を与えるのではなく、モデルに対して「目の前の人々に対して持つべき会話の方向性」を示すものです。例えば、コンピューターサイエンスの知識がない人に対して大規模言語モデルを説明する場合と、専門家に対して説明する場合とで、異なる回答を生成することができます。オーディエンス・ペルソナパターンは、コミュニケーションの対象者に最適化された情報を提供するために有効です。
3-3 質問精緻化パターン
質問精緻化パターンは、質問をより厳密で詳細なものにすることで、より適切な答えを得るためのプロンプトパターンです。質問があいまいだと、得られる結果もあいまいになるため、質問に具体性を持たせることが重要です。質問精緻化パターンを利用することで、質問するたびにより改善された質問を提案してくれます3。改善された質問を見ることで、元の質問には何が足りなかったのか、という質問を振り返るための視点を与えてくれます。このパターンは、ペルソナパターンやオーディエンス・ペルソナパターンと組み合わせることで、質問にコンテキストを与えることができます。質問精緻化パターンの形式は以下の通りです。入力するプロンプト:「私が質問をしたときは、常に改善した質問を提案してください。」◦この後にプロンプトに与えた質問は、より詳細な質問に言い直されます。質問精緻化パターンは、大規模言語モデルに質問する際のコツを学ぶのに役立ち、質問の意図を汲み取って、より良い質問をしてくれる存在は心強いと述べられています。また、改善された質問が自分の意図と異なる場合には、元の質問には様々な答え方があることに気づき、コンテキストを追加する必要性を示唆します
3-4 認識検証パターン
認識検証パターンは、大規模言語モデルが質問された際に、まず質問を細分化し、追加の情報や詳細をユーザーに求めることで、より質の高い推論を可能にするプロンプト技術です。このパターンは、問題解決における「分割統治」戦略を応用したもので、質問をより深く理解し、多角的な視点から情報を統合することで、詳細かつ正確な回答を導き出すことを目指します。
3-5 反転インタラクションパターン
反転インタラクションパターンは、大規模言語モデルがユーザーに対して質問をすることで、問題解決に必要な情報や手順を明確にするアプローチです。例えば、実験がうまくいかないという悩みに対して、「何を目的とした実験なのか?」「どの部分がうまくいっていないのか?」といった質問をモデルからユーザーに投げかけます。これにより、ユーザーは自身の研究や実験についてより深く考え、問題点や改善の糸口を自ら見つけることができます。
3-6 少数ショットパターン
少数ショットパターンは、大規模言語モデルに対して、何をすべきかを詳しく記述するのではなく、例を与えることでタスクを伝えるプロンプト技術です。例えば、記事のタイトルからカテゴリを特定するタスクにおいて、複数の例(入力と出力のペア)を示すことで、モデルはパターンを学習し、新しい入力に対して適切なカテゴリを予測することができます。少数ショットパターンは、モデルがコンテキストを理解し、与えられたタスクを効果的に実行するための強力な手段となります。
第4章 トリガープロンプトの威力
4-1 Chain-of-Thoughtパターン
Chain-of-Thought(CoT)パターンは、大規模言語モデルに解答に至るまでの推論ステップを説明させることで、最終的な答えの精度を向上させる手法です。CoTパターンは、質問と思考過程を含む回答の組からなる例を少数ショットで与え、最後に本当に聞きたい質問を提示するという形式を取ります。これにより、モデルは問題をステップごとに分解し、論理的な推論過程を経て解決策を導き出すことを学習します。また、「ステップバイステップで考えよう」というトリガープロンプトを質問文に追加するだけでCoTパターンと同様の効果を得る「ゼロショットCoT」という手法もあります。
4-2 Chain-of-Verificationパターン
Chain-of-Verification(CoVe)パターンは、CoTパターンのハルシネーション(もっともらしい誤情報)を抑制するために考案された手法です。CoVeパターンは、質問に対する最初の回答を生成し、その回答に含まれる事実に対して検証質問を生成し、それらの検証質問に回答し、検証結果を踏まえて最終的な回答を生成するという4段階で構成されます。このプロセスを通じて、モデルは自身の回答を自己検証し、誤りを訂正することで、より正確な情報を提供することができます。
4-3 ステップバックプロンプトパターン
ステップバックプロンプトパターンは、質問に直接答えるのではなく、まず質問の背景にある知識を明らかにするための質問(ステップバック質問)を生成し、その質問に答えることで、より正確な回答を導き出す手法です。ステップバックプロンプトは、大規模言語モデルが持つ知識のギャップを埋め、より深い理解に基づいて推論を行うことを可能にします。
4-4 メタ認知的プロンプトパターン
メタ認知的プロンプトパターンは、モデルの出力結果を再度処理することによって、より質の高い推論結果を得るための手法です。これは、モデルが自身の思考過程を内省し、改善することを促すものであり、再帰的な処理を行うことが特徴です。
第5章 発展的な技術
5-1 自己一貫性パターン
自己一貫性(Self-consistency)パターンは、CoTパターンの推論能力を改善するために考案された手法で、一つのモデルから複数の回答を生成し、多数決で最終回答を選ぶという方法です。このアプローチは、問題解決において多様な推論過程を考慮することの重要性を示唆しており、モデルの出力結果の質を高めるために広く応用されています。
5-2 ReActパターン
ReActパターンは、「Reason(推論)+Act(行動)」を意味し、CoTパターンのような推論と、ウェブにアクセスするといった行動を組み合わせて、正しい推論のために必要な情報検索を合わせて行う手法です。ReActパターンは、APIを介して外部にアクセスして情報を取得するという点が決定的に重要であり、大規模言語モデルの推論能力を拡張するために不可欠です。
5-3 RAG(検索拡張生成)
RAG(Retrieval Augmented Generation)は、情報検索(Retrieval)とテキスト生成(Generation)を組み合わせたアプローチで、モデルの外部に記憶の機構を持ち、それを有効に活用する方法の一つです。RAGは、モデルが容易にアクセス可能な形で、モデルの外部にドメイン固有の知識データベースを持たせることで、事前学習の限界を超えた知識を提供します。
5-4 LLM-as-Agent
LLM-as-Agentは、大規模言語モデルを自律的、創造的に振る舞うAIエージェントとして実装する技術です。LLM-as-Agentを実現するには、エージェント固有の知識や経験、行動の背景となる記憶を保持する仕組みと、内省によって洗練された行動を生成していくメタ認知的な仕組みが必要です。Reflexion、心の理論に基づくAIエージェント、マルチエージェントAIモデルなどがその例として挙げられます。
第6章 AIエージェントと社会
第6章では、AIエージェントの自律性と社会性について考察されています。自律性とは、個体が外部からの指示や制御なしに、自己の意志や決定に基づいて行動できる能力を指します。AIエージェントが自律性を持つことで、人間の代理人として様々なタスクをこなせるようになる可能性が示唆されています。
大規模言語モデルは、多様なリソースから収集されたテキストデータから、道徳や慣習を含む様々なルールや法則を学習しています。しかし、AIエージェントは現実世界へのコミットメント(責任を持った関わり)がないため、その振る舞いにおいて人間にとってのある種の「エイリアン」として認識される可能性があります。
高い自律性を持ったAIエージェントは、人間とは異なり、生成した内容を実際に理解しているわけではありません。このギャップを埋めるためには、意味理解やタスクの分節化、言語化といった要素をAIエージェントに組み込む必要があります。
AIエージェントが社会に浸透していく中で、エコーチェンバーのような問題が深刻化する可能性も指摘されています。しかし、適切に配置されたAIエージェントが社会全体のパフォーマンスを高める可能性も示唆されています。
AIエージェントは、生命体のような自律的なシステムと似ており、所与の環境への適応やパターンマッチングを超えた、オープンエンドな創造性を発揮できるかもしれません。AGI(汎用人工知能)やASI(人工超知能)の実現を見据え、人間とAIが共生する未来について考察が展開されています。
全体の要約
本書は、大規模言語モデル(LLM)を最大限に活用するための知識とスキルを提供することを目的としています。ChatGPTの登場を皮切りに、AI技術は社会に浸透しつつあり、その中心的な役割を担うのがLLMです。
LLMの基礎技術:
トランスフォーマー:人間の脳の構造を模倣した多層ネットワークで、文章の文脈や構造を捉え、単語間の関係性を学習する。
自己教師あり学習:既存の文章から自動的に予測問題を作成し、答え合わせをしながら自己学習を進める。これにより、人間が教師データを用意する手間を省き、大量のテキストデータを活用できる。
プロンプトエンジニアリングの重要性:
LLMに対する指示であるプロンプトを工夫することで、より適切な応答を引き出すことが可能となる。
プロンプトには、どのようなパターンが含まれているかを意識し、LLMの訓練データとなった文章の中で、そのパターンがどのように使われていたかを想像することが重要となる。
プロンプトは具体的に、詳細に記述することが推奨される。指示を具体的に与えることで、ニーズに合ったカスタマイズされた回答を生成させることができる。
プロンプトパターン:
LLMに特定のタスクを実行させる際に用いるプロンプトのフレーズと構造を指す。
ペルソナパターン:「Xのように振る舞ってください」というプロンプトで、LLMに特定の役割を演じさせる。科学者、政治家、歴史的偉人など、多様な背景を持つプロフェッショナルの振る舞いをトリガーできる。
オーディエンス・ペルソナパターン:特定のペルソナに向けた回答を生成する。コンピュータサイエンスの知識を持たない人や、豊臣秀吉など、異なるオーディエンスに合わせた説明が可能になる。
質問精緻化パターン:質問をより厳密で詳細なものにすることで、より適切な答えを得る。質問があいまいだと、得られる結果もあいまいになるため、質問に具体性を持たせることが重要となる。
認識検証パターン:質問を細分化し、追加の情報や詳細をユーザーに求め、各質問の答えを統合して、最終的に全体の回答を提供する。
反転インタラクションパターン:達成したい目標があっても具体的なステップがわからない場合に、LLMに質問してもらうことで、考えを整理し、見えていないことについて考える。
少数ショットパターン:例を与えることで、LLMにタスクを伝える。1つの例を与える「1-ショットプロンプト」と、複数の例を与える「少数ショットプロンプト」がある。何も例を示さないプロンプトは「ゼロショットプロンプト」と呼ばれる。
トリガープロンプトの威力:
LLMが応答を返す際の思考過程のトリガーとなるプロンプト。Chain-of-Thoughtパターンに代表されるトリガープロンプトは、モデルの推論能力を大きく向上させることが知られている。
CoVe(Cognitive Verifier)パターン:質問から得た回答を複数の内容に分割し、それぞれについて検証することで、回答全体の正確性を担保する。
ステップバックプロンプトパターン: 質問に直接答えるのではなく、質問の背後にある物理的な原理や背景知識を明らかにするための質問(ステップバック質問)を生成する。
メタ認知的プロンプト:自己の認知プロセスに対する認識や調整を促すプロンプト。LLMに自身の思考過程を内省させ、より適切な回答を導き出す。
より発展的な技術:
ReActパターン:LLMが質問に答えるだけでなく、外部のツール(ウェブ検索など)と連携して情報を収集し、その結果を基に考察を行う。
RAG(検索拡張生成):LLMが持つ知識だけでなく、外部のデータベースや文書から関連情報を検索し、それらを組み合わせて回答を生成する。これにより、LLMの知識の限界を補い、より専門的で正確な情報を提供できる。
LLM as Agent:LLMをエージェントとして活用し、長期記憶や他のエージェントとの連携を通じて、より複雑なタスクを実行する。
AIエージェントと社会:
AIエージェントが自律性を持つことで、人間の代理人として様々なタスクをこなせるようになる。
AIエージェントは現実世界へのコミットメント(責任を持った関わり)がないため、その振る舞いにおいて人間にとってのある種の「エイリアン」として認識される可能性がある。
AIエージェントが社会に浸透していく中で、エコーチェンバーのような問題が深刻化する可能性も指摘されている。
AIエージェントは、生命体のような自律的なシステムと似ており、所与の環境への適応やパターンマッチングを超えた、オープンエンドな創造性を発揮できるかもしれない。
本書は、LLMの基本的な仕組みから、高度なプロンプトエンジニアリングのテクニック、そしてAIエージェントが社会に与える影響まで、幅広く解説しています。読者は本書を通じて、LLMを積極的に使いこなすための知識とスキルを獲得し、新しい知的創造のためのツールとしてLLMを活用できるようになるでしょう.
詳細目次
はじめに
第1章 大規模言語モデルの登場
1-1 社会現象となったChatGPT
1-2 AIによって仕事はどう変わるのか
1-3 AIとの共存の必要性
第2章 プロンプトエンジニアリング
2-1 プロンプトとは
2-2 プロンプトを書くときに気をつけるべきこと
2-3 大規模言語モデルを飼いならす
第3章 プロンプトパターン
3-1 ペルソナパターン
3-2 オーディエンス・ペルソナパターン
3-3 質問精緻化パターン
3-4 認識検証パターン
3-5 反転インタラクションパターン
3-6 少数ショットパターン
第4章 トリガープロンプトの威力
4-1 Chain-of-Thoughtパターン
4-2 Chain-of-Verificationパターン
4-3 ステップバックプロンプトパターン
4-4 メタ認知的プロンプトパターン
第5章 発展的な技術
5-1 自己一貫性パターン
5-2 ReActパターン
5-3 RAG(検索拡張生成)
5-4 LLM-as-Agent
第6章 AIエージェントと社会
6-1 AIエージェントの自律性
6-2 AIエージェントの社会性
6-3 新しい情報生態系
おわりに