この記事の対象ユーザ
AIと壁打ちをして、考えを深めたい人向け。
ChatGPTが考える自分ができることは
質問への回答
アイデア生成
文章の執筆・校正
翻訳
要約作成
プログラミングコードの提案
チュートリアル・解説作成
ブレインストーミング支援
意思決定のための情報提供
クリエイティブ作品(詩、物語)の作成
であると、当人(当AI)が執筆時点(2023年3月18日)に言っている。
とはいえ、これだけだと幅が広すぎてわかりづらい。このため、自分がモヤっと考えていることを壁打ちして明確化したり、精度を上げたり、盲点に気づいたりする、という co-pilot 的なやり方をしたい人(要するに私だ)向けに、記述する。
ChatGPTと話す前に、明確な目的を準備しよう。
現状、Web版のChatGPTには、PDFやMS-Wordなどのファイルを直接読み込ませることはできない。となると、質問は、ある程度細切れにしていく必要がある。
この場合、質問をするときの背景説明、文脈説明を最初にしておかないと、頓珍漢な答え、ないし、漠然とした浅い答えが返ってくる可能性が高い。
また、いきなりYES/NOで答えられるクローズドな質問をすると、それは質問者である人間の枠をでない回答になる可能性があるので、それも良くない。
Chatなので、ダラダラと書き付けるのもいいのだが、先方にもリソースがあるし、回数制限に引っかかってしまうかもしれない。
このため、せめて「何を求めるのか」という根本のところは、明確に持っておきたい。
まず最初に打ち込むプロンプト
私のおすすめは、壁打ちをしたい内容について、
「○○についての入門書を書きます。目次例を挙げてください」
というプロンプトを打ち込むことだ。
こうすると、包括的な内容が箇条書き形式、しかも大見出し小見出しベースで表示される。この中の論理構成と、抜け漏れダブりがないかをみていくと、自分の中のモヤモヤがより鮮明に言語化される。
chatGTPをcopilotするための入門書を書きます。目次例を挙げてください
に対して、以下のような回答があった。割と包括的である。全部書かせるという鬼畜のようなやり方もあるが、そうすると自分で全部読まないといけないので、この中から自分で聞きたい部分を中心に細かく聞いていく。
[注] 以下、回答とあるのは、執筆時点でのChatGPTの回答の引用である。読みやすさに配慮して、太字などにしたり改行を加えているのは筆者である。
素晴らしい。かなり包括的だ。さて、これをもとに、深掘りをしていこう。そのためには、良いプロンプトを書いて、良い回答を得ないといけない。
良いプロンプトとは
例えば、英語で、欧米のような時差のある外国の人にメールで頼み事をするのだと思うといいかもしれない。何度もやり取りをすると、明後日の方向のことについて詳細に教えてくれるため、時間が溶ける可能性がある。このため、準備して問うことが大事。
基本的に注意すべきは以下の2点。
前提条件、前提知識の共有
明確で具体的な、内容及びアウトプットの形式指示
さて、ChatGPT自身に、どういうプロンプトが良いのか聞いてみた。
深掘りのステップ:回答を詳述してもらう方法
悪くない。悪くないが、腑に落ちるかというと、むり。例えば、「明確性」と「具体性」は記述内容が重複しているような感じもする。ケムに巻かれているのでは? という不安が拭えない。
原因は、ChatGPTがハルシネーションしているからかもしれないし、自分の問いが曖昧だからかもしれないし、単に自分の知識が不足して理解できないからかもしれない。
それを炙り出すために、深掘りが必要だ。
深掘りをするために、深掘りのポイントを示して質問をする。
AIは、とてもスマートだが自分ではモノを考えていないので、丸投げしたらいい感じにしてくれる、ってことはない。ギチギチに詰めていっても、相手はAIだから怒らないので、詰めていってみよう。
問い:悪い例と良い例を比較できるように記述し、もっと詳細に述べてください。
この場合は、「例の比較」という具体的な回答方法の明示と、「もっと詳細」という前回の回答よりも詳しいものを、という注文をつけて、深掘りをしてもらう。
[memo] 「もっと詳細」という程度の曖昧さは、理解してくれるらしい。嬉しい。
悪い点を挙げて、それを比較して良い例を挙げ、良い例がなぜ良い例かを説明してくれている。とてもわかりやすい。
ここには回答例は記さないが、「中学生にもわかるように」など対象年齢を下げるようにすると「適切な回答」が「ぴったりな答え」などに、変化させることができる。
深掘りのステップ:範囲の限定
広い範囲の質問をすると、広く回答をしようとしてくれるので、回答はどうしても浅くなる。このため、回答をもらいたいトピックをうまく狭めたい。
これは、Chat GPTによると、インクルード (include/含める)とエクスクルード (exclude/除外する)という言葉で表している。これについての説明は、Chat GPTの回答をそのまま引用してみよう。
なお、これは「中学生に通じるような易しい書き方で記述してみてください」という注文をつけたものだ。「最適な」ではなく「ぴったり」という言い方になっていて、柔らかい言い回しになっていることがわかる。
深掘りのステップ:順を追ってきく
ChatGPTのweb版では、まだ、PDFなどのファイルをそのまま読み込ませて回答させることができない。回答の文章が長くなる場合、途中で回答が止まることもある。
量だけの問題ではない。人間側の指示が悪くて、明後日の回答が返ってきたら、それを修正するのが難しいので、時間がかかる。
このため、複雑な問いについては、分解した上で、順を追って質問をしていくことが必要だ。とはいえ、ウォーターフォールのように最初にガチガチに質問を設計して問うとなると、途中で食い違いが起きた時に、やはり修正が難しくなる。人間側に当意即妙な質問返しが必要となる。
ChatGPTはこれを、「ステップバイステップの手順」と「イテレーションによる改善」という二つの言葉で定義を分けていて、相互補完的に利用せよ、と記述してきた。内容をここに引用する。
ステップバイステップの手順は、受験勉強でよくある問題のような感じか。大問の中に、大問を順序よく解けるような小問を順番に行う感じ。
イテレーションについては、次項に述べる。
深掘りのステップ:イテレーション:問う、検証する、更に問う
項は改めるが、ハルシネーション対策は常に必要。このため、イテレーション段階でも、AIは必ずしも正しいことを回答するわけではない、ということを肝に銘じて、取り組む必要がある。
具体的な疑い方は、別項にて。
割と単純な内容に関する検索であれば、これでずいぶんいけるようになるのではないか、と思う。