fladdict 先生とは?
noteとか THE GUILD とかの偉い人。筆者にとっては flashの凄い人(大昔の話)
楽介もはまっている(色々使っている)ChatGPT の話をなさるということで、YouTube 配信を聞いて参りました。
いや~やっぱり凄い方ですね(次くらいの記事でまたChatGPTで遊んで見た記事を出しますが、この配信を見る前の実験の話となります)。
ChatGPT の(正確ではないかもしれないけど)大体の動作と面白くない答えの原因
ネット上や様々な文字媒体から5兆語ほど学習したGPT-3 で、確率的に「ありそうな」単語、文章を繋げて回答を生成する AI.
セッションで出ていた例は「昔々」といえば、「あるところに」、「おじいさんとおばあさんが」と続くというような動作です。
そのため、「リンゴについて教えて」とだけ言うと、如何にも Wikipedia から引っ張ってきたような面白みのない回答が生成されてしまうとのことでした。
では、面白い答えを探すとしたらどうするか? というと、「リンゴの宗教上の意味について教えて」といった、回答の幅、可能性空間を狭めてあげると面白い答えが出てくる、とのことでした。
他にも「リンゴの栄養学の利点を教えて」とか、「おやつの材料としての利点を教えて」などなど、様々な可能性空間がありますね。
楽介(経営コンサル)的には、切り口という表現が一般的に伝わりやすいのかな? と思います。
深津先生の言う可能性空間とは?
ChatGPTが自由に確率のサイコロを転がせる範囲のことで、制約条件とも言えます。実際の機械学習・深層学習の用語としては間違っているかもしれない、とのことでした。筆者もちょっとこの厳密な定義は分からないです。
面白いなと思った例えが、セッションの締めに「人間に残される仕事は?」という問いに対して深津先生の出した例の、
全て大理石の塊の中には予め像が内包されているのだ。彫刻家の仕事はそれを発見する事
というミケランジェロの言葉でした。人間の仕事は「それを発見すること」なので、ChatGPT 内の学習データから導き出される大きな大理石という塊を、いい感じに求める姿に狭めていくことで、望む回答が得られやすくなる、ということです。
プログラムが書けるのは、ソースコードに書かれたコメントと、表記揺れが非常に少ないといった要素が影響しているのかな、と思います(動かないのもザラに出ますが)。
深津式プロンプト・システム
ロール(役割)を明確にする
例えば、「あなたはプロの編集者です」と、ChatGPTの役割を定義すると、その人っぽい答えが帰ってくるとのことです。これ、例えば、プログラムだったら「あなたは凄腕のオープンソース開発者です」としたらコードの品質が上がったりするんでしょうか……?(GitHubのコードを学習していたらありそうですが)
この役割を与えるというのが面白いなと思ったのが、「6つの帽子思考法」とかあるいは単に「役割の帽子」とかいうファシリテーションや会議の手法があってそれにとても似ているなという点があります。
人間でも、「この帽子をかぶっている間は、こういう発言をすべき(賛成の意見、反対の意見を言う役割)」と指定することで議論を円滑に進められるようになるという技法です。また、別の効能として「自分は今からこの立場で話します」と相手に伝えてからだと、伝えやすいといった効果があります。
もちろんChatGPTにはそういった感情はないですが、似たような技法が使えるというところが興味深いです。
制約条件を与える
- 文字数は300文字以内
- 小学生でも分かるように
- バズるように
といった具体的な制約を与えれば与えるほど、ChatGPTが自由に思考できる可能性空間が破壊されるため、ありきたりで辞書的でない回答が得られやすいとのことです。
入力から出力を作ることを明確にする
そもそも、ChatGPT は「ありそうな言葉」を続けるため、「正確な答え」を期待するものではありません。
ですので、「この入力に対して、君のデータベースの中からこんな方針に従った答えを作り出せ」ということを明確にする必要がある、とのことです。
何を出力するかを明確にする
プログラムを書いてほしいのか、ブログ記事なのか。ブログのタイトルなのか、といったことを明確にします。
マークアップ言語を用いて、本文でない部分を明確にする
マークアップといいつつ、スライドではマークダウンでしたが、例えば、マークダウンでは行頭の # は見出しをあらわします。これを用いて、
# 役割
君は一流の編集者だ。
# 制約条件
といった具合に、見出しをつけていました。
命令を箇条書きで明快にする
制約条件で言えば、
# 制約条件
30文字以内
ネットでバズりそうなタイトル
といった感じでしょうか。読み方によって意味を誤解するような文章を避けるためにも、箇条書きがいいのだと思います(小説の続きを書いて、とかだとまた別かと思いますが)。
さまざまなワードで、AIの出力しうる空間を、積極的に狭く
「自由に考えてね!」ではなくて、「この材料を使って」と狭くすることで回答が狭くなり、結果的に精度が上がったように見える、ピンポイントに尖った解が得られるということです。
プロンプトシステムになかったこと
英語はやっぱり強い
「刺さる見出し」とかでは、英語で入出力するわけにはいきませんが、それ以外であれば英語の方がどうしても学習されている文章・単語の量が多いため精度の高い回答が得られやすくなります。
これは、Perlexity と同様ですね。
AIと対話するために英語を学ぶことで、レバレッジを得やすくなる時代が、少なくともしばらくは続くと思われます。
ベストプラクティスを聞いてからベストプラクティス通りにやれ、と書く
これはスライドにない内容だったのですが、例えば、
「見出しを考える上で、重要な点を5点あげて」
とChatGPTに命令すると、一般的なベストプラクティスを5点回答します。その後、同じチャット内で、
「それを踏まえて、ChatGPTの記事の見出しを5パターン作って」と言うと、単に同じ質問をしたときよりも精度の高い解が生成される率が上がるそうです(仕組み上、チャット内の文脈を参照するため)。
これも面白いなと思ったのが、社員教育や安全研修などで、基本事項を復唱させてから作業をすると学習の精度があがったり、事故防止につながったりということが人間でも発生します。
私自身はあまり朝礼で唱和といったことは好きではないので実践はあまりしませんが、マーケティングを指示する際に「実際に書かなくてもいいから、バリュープロポジションキャンバスを書くつもりでやって」といってベストプラクティスを思い出させて指示する場合があります。
これも「ロールの設定」と同様に人間と似たような指示によって精度があがるので非常に興味深いと思いました。
大事なこと
- ChatGPTには質問しない
- ChatGPTには作業を命令する
とにかく、検索エンジンの代わりとして使うと、精度が充分でなく、本物の知性を有しているわけではないので使い物にならないという判定になりがちです。
ですが、自分の代わりになにかをさせる、秘書のように使うのがコツです。
終わりに
深津先生のベストプラクティスのプロンプト、非常に興味深かったので、是非使って見ようと思います。
その他に興味深いのはやはり、ファシリテーションやコーチングのような、「人間の能力を引き出す、人間的な能力」が効果を及ぼす可能性が見えたのが面白かったです。もちろん、感情面などは一切影響しませんし(ないので)、効果が出るメカニズムは異なると思います。
にも関わらず、似たようなアプローチが効果を及ぼすというのは、有効であるか否かより、単に面白いと感じました。
以上、速報ブログでした。