今最もエキサイティングなプログラミング言語『ChatGPT』の取扱説明証

こんにちは、ひろきです!

皆さんも、最近話題のChatGPTを試してみたことがあるでしょうか。使ってみて「あれ、あまり役に立たないかも」と感じたことはありませんか?私も最初はそのように感じていましたが、ChatGPTの使い方を調べるうちに大きく考えが変わりました。落合陽一さんの言葉が私の見方を大きく変えてくれました。

「今最もエキサイティングなプログラミング言語は『英語』」

「【落合陽一が実演:ChatGPTの賢い使い方】経営戦略、アイディア出し、要約、コーディングにフル活用/英語こそ最強のプログラミング言語/人間が鍛えるべきは「好奇心」/デジタル佐々木紀彦を生成」より

これは、言語ベースでプログラミングができるようになったことを意味しています。つまり、プログラミングのように、ChatGPTのプロンプトを記述するだけで、より使いやすくなります。

プログラミングと聞くと、難しく感じる方もいるかもしれませんが、今回はできるだけ分かりやすく説明してみました。MVCというプログラミングの考え方を、皆さんに理解しやすい形でまとめましたので、ぜひ参考にしてください。これを活用することで、ChatGPTをより効果的に使うことができるでしょう。


更新履歴:
 [2023-04-05 Wed] 初版

【第1章】 MVCモデルとは

MCVモデルの概要

大きなMVCモデルの流れは、次のようになります。エンジニアの方ならすぐにイメージが湧くと思います。

MVCモデル

MVCモデルとは、ソフトウェアの設計モデルの一つで、機能を「Model」(モデル)、「View」(ビュー)、「Controller」(コントローラ)の三つの役割に分離して実装し、それらが連携して処理を進める方式です。モデルはデータの管理や手続きを扱い、ビューは他の二要素からの指示を受けて利用者への表示・出力を行い、コントローラはユーザからの入力情報を受け取ってモデルとビューを制御する役割を担います。MVCモデルは、プログラムの処理を役割ごとに分けて開発を行う考え方で、Webシステム開発によく用いられています。

MVCモデルの例

まず、プログラミングの簡単な例を提示します。この例題は理解しやすく短いため、ぜひサクッと読んでみてください。


AさんからEさんまでの5人の中学生がいます。彼らの国語、数学、英語、社会、理科の各科目の点数が与えられています。今回は、Aさんの各科目の点数に対して評価を行います。評価基準は次のとおりです。

90点以上: S
80点以上: A
70点以上: B
60点以上: C
それ以外: 不合格

Aさんの各科目の点数に基づいて、評価を計算し、出力します。


この問題をMVCモデルに当てはめて表現するとどのようになるでしょうか。それぞれの要素を具体的に見ていくことにしましょう。

モデル

まず、モデル部分について考えます。5人分のデータがデータベースに格納されています。皆さんがExcelでデータを管理していますよね。この状況をExcelで認識してもらっても問題ありません。

名前    国語  数学  英語  社会  理科
Aさん  68   42   91   75   83
Bさん  80   88   56   90   72
Cさん  75   67   60   87   98
Dさん  92   71   83   65   54
Eさん  84   55   89   79   61

コントローラー

合否の判定ロジックについて考えてみましょう。これはコントローラーの役割を果たします。具体的には、点数(score)が90点以上(score >= 90)であれば、S評価(return "S")となるようなロジックです。この説明で理解しやすいでしょうか?

    if score >= 90:
        return "S"
    elif score >= 80:
        return "A"
    elif score >= 70:
        return "B"
    elif score >= 60:
        return "C"
    else:
        return "不合格"

ビュー

最後に、生徒に結果を返す部分を考えましょう。これはビューの役割になります。つまり、ビューではAさんの各科目の評価を計算し、その結果をわかりやすく表示して返すことが求められます。

Aさんの評価:
国語 :  C
数学 :  不合格
英語 :  S
社会 :  B
理科 :  A

これまでの内容を見ていただいて、日常業務でよくExcelを使って同様のことを行っていると感じた方も多いのではないでしょうか。実は、ChatGPTがやることも基本的には同じで、違いは「数値」ではなく「言葉」を扱っている点です。まだ具体的なイメージが湧かないかもしれませんが、次の章でその話を詳しく説明していきましょう!

【第2章】 ChatGPTにおけるMVCモデルとは?

MVCモデルを理解し、ChatGPTに適用するためには、以下の3つの観点を把握しておく必要があります。

①【Model】十分な量のデータの入力
②【Controller】適切な事前の設定と必要な条件
③【View】ブラックボックスの開放と追加情報の示唆

この3つのステップを正しく実行することで、ChatGPTをより効果的に活用できると考えられます。それでは、各ステップをどのように進めていくかについて具体的に検討してみましょう。

①【Model】十分な量のデータの入力

モデルの領域では、十分な量のデータを入力することで、モデルが正確な学習を行い、予測や回答の精度を向上させます。

確かに、ChatGPTは大量のデータをもとに学習されており、返される回答のほとんどは正確ですが、それらはあくまで一般的な範囲に限定されています。つまり、特定分野に特化した情報に対しては弱点があります。そのため、特化した情報を効果的に活用するには、まずその情報をChatGPTに提供することが重要です。

その目的を達成するための方法として、ここで2つのアプローチを紹介します。

  • WebChatGPTにより最新の情報を取得する

  • 自身のプロフィール・ブログ等の情報を入れる


WebChatGPTにより最新の情報を取得する

別の記事でも挙げていましたが、下記の例を改めて掲載しておきます。

下記は「東海オンエアのメンバーのプロフィールを教えてください。」という質問に対するChatGPTの回答です。ファンであれば、プロフィールが最初から間違っていることに気づくでしょう。YouTuberという特性からか、ウェブ上の文字情報が限られており、学習に適切な情報が不足している可能性があります。

東海オンエアは、日本の人気YouTuberグループで、6人のメンバーで構成されています。彼らは愛知県出身で、主にバラエティーやエンターテイメント系の動画を制作しています。以下は、東海オンエアのメンバーのプロフィールです。

タカ(たかし):
本名:高橋貴之(たかはし たかゆき)
生年月日:1991年7月26日
役割:リーダー
特技:一発ギャグ、ダンス

トシ(としみつ):
本名:木村利光(きむら としみつ)
・・・

ChatGPTの出力結果

それでは、WebChatGPTを使ってみましょう。ChatGPTの入力画面には、「Web access」というボタンが表示されます。これを利用すると、参照する記事の数、期間、言語、プロンプトを選択することができます。この機能を使って、もう一度先ほどの質問に挑戦してみましょう。

東海オンエアは、日本の愛知県岡崎市を拠点に活動する6人組のYouTuberグループです。メンバーはてつや、しばゆー、りょう、としみつ、ゆめまる、虫眼鏡の6人で構成されています[2]。彼らの活動は、2013年に始まりました[2]。最初の投稿はてつやさんが出演している『鼻からミルクティーを一気飲み』で、2013年10月15日にアップロードされました[1]。

東海オンエアが結成された理由は、ゆめまるさんがてつやさんにYouTubeの存在を教えたことがきっかけであるとされています[3]。虫眼鏡さんを除くメンバーは、同じ高校の同級生であり、てつやさん、りょうさん、ゆめまるさんは陸上部で活動していました[3]。

WebChatGPTを利用したChatGPTの出力結果

一目でわかりますね。さらに、参照した記事も明示されているため、正確な情報源を確認しながら、文章の正確性を評価することができます。


自身のプロフィール・ブログ等の情報を入れる

次は、落合陽一さんが使っていた方法です。

自分のプロフィールや過去に作成したブログ記事やnoteの文章を私に与えることで、その人がどのような考えを持っているかを学習することができます。

カスタマーサポートの分野では、お問い合わせへの返答例を複数提供することで、ChatGPTはそれらを学習し、お問い合わせ内容に適切な返答を生成する能力を身につけることができます。

さらに、寿司の具材を食べる順番を何度か教えることで、自分の気分に合わせてその日のおすすめの食べ順を提案することもできるかもしれません。


ここで重要なポイントは、次の言葉です。

(ChatGPTは) 次に来る言葉を確立で計算して繋げている

【GPT-4の使いこなし方②】AIの上手な活用方法は「入力が7割、調整が3割」より

ChatGPTの技術を少し理解することで、今回の話がより明確になります。

正確なことは分からないものの、東海オンエアの例を挙げてみると、「としみつ→本名」という入力の場合、一般的に「木村」さんという名前が確率的に高いため、そのような結果が出たと考えられます。そのため、事前に入力データを整理することで、自分が期待するアウトプットに沿った文章を生成してくれる確率を操作することができるのです。


②【Controller】適切な事前の設定と必要な条件

コントローラの領域では、適切な事前の設定と必要な条件を用意することが重要で、これによりモデルがより効果的な動作を実現します。ここで重要な概念が2つ出てきます。それらは、「擬人化」と「条件」です。


擬人化させること

次に取り組むべきは「擬人化」です。ここで考慮すべきは、「役割を与えること」と「憑依させること」の2つのアプローチがあります。


役割を与えるとは、具体的に「あなたは〇〇です」と指定することです。例えば、「ChatGPTは優秀なコンサルタントです」といった具合に、どのような専門家であるかを明示する使い方が効果的です。こうすることで、ChatGPTその役割になりきって回答を提供してくれるます。

中田敦彦さんも役割を与えることの重要性について言及していました。例えば、次のように、役割を与えることで、文章の形や回答の質が変わってくることがあります。

  • プロの編集者:文章力が高い

  • 小学校の先生:わかりやすい文章


憑依させること

次に、「憑依」についてです。これは、先ほどモデルで記載した通りプロフィールデータ等を、ChatGPTに取り込ませるという方法です。この点で最も驚かされたのは、デジタルヒューマンの存在でした。

生と死の境界線は、ほとんど失われた

「【落合陽一が実演:ChatGPTの賢い使い方】経営戦略、アイディア出し、要約、コーディングにフル活用/英語こそ最強のプログラミング言語/人間が鍛えるべきは「好奇心」/デジタル佐々木紀彦を生成」より

このような方法を使い、生前の文章を入力することにより、その人が話すであろう内容を再現できます。もちろん、多くの言葉を残している人ほど、再現性が高まる傾向があります。これはまさに、死者が蘇るかのような世界を創り出しています。

話を元に戻しますが、先ほども言及した通り、講演やセミナーだけでなく、自分専用のボットが作成できるかもしれません。

例えば、新入社員の方の中には、都度上司にレビューを依頼することが恐縮してしまう方もいるでしょう。そんな時に、上司が話している言葉を録音して文字起こしデータとしてChatGPTに入力すれば、それに近い回答を提供してくれるかもしれません。なので、上司がMTG中でも、常に適切なフィードバックを提供してくれる上司ボットができるかもしれません。

同様に、秘書や先生のような役割を持つボットも作成することができます。これにより、専門知識やアドバイスを提供するAIを活用して、日常の業務や学習を効率的に進めることができるようになります。


制約条件、前提条件、判定条件を示すこと

次に、どのような基準で考えてもらうかという点についても、プログラミングのif文のように言語を使って指定できます。

「制約条件」の一例として、「Twitterに投稿するために140文字で添削してください」という要求があります。また、箇条書きや表形式など、さまざまな条件を設定することができます。

「前提条件」については、皆さんも「何のために?」という問いは、仕事においても重要ですよね。ChatGPTにも、その前提を明確に伝えましょう。例えば、「来月の引っ越しのため」「営業先の資料参考のため」「来週のセミナー発表のため」など、目的をはっきり伝えることが大切です。また、誰に向けてという対象者を明確にするのも重要です。例えば、「小学生向け」「女性向け」「海外の人にも理解できる言葉」など、具体的に指定することができます。

さらに、「判定条件」については、面接の合否判定のような場合で使えます。採用要件を整理し言語化しておくことで、そのロジックに沿った形で判定を行ってくれます。


③【View】ブラックボックスの開放と追加情報の依頼

「ブラックボックスの開放」と「追加情報の依頼」により、モデルの内部動作や推論プロセスを可視化し、理解しやすくなります。


ブラックボックスの開放

これまでのAIの一つの課題は、説明性の部分にあったと言われています。つまり、なぜその結果が出たのかという説明が難しい点です。説明可能なAIという概念はすでに数年前から注目されていました。

そのため、ここでは、ChatGPTが提供した情報の根拠を尋ねることが重要です。例えば、「90点以上はSと表記します」という基準があれば理解しやすいですが、「熱意を感じたから採用」と言われると、「本当にそうなのかな?」と疑問が残ります。このような場合、以下のような質問を加えることが役立ちます。

・どのような文献を参考にしたのか教えてください
・その判断に至った背景を教えてください

これにより、ChatGPTから理由が返されます。その理由の妥当性を自分で判断できるため、問題がなければそのまま進めることができますし、情報源や判断基準に誤りがある場合は、それを修正することができます。


追加情報の依頼

ChatGPTの利点の一つは、チャットボットであることです。これにより、検索エンジンのような一方向のやり取りではなく、双方向のコミュニケーションが可能になります。情報が足りない場合も、遠慮なく質問してみてください。

ChatGPTは、提供されたインプットに基づいて最適な回答を生成しようと努力しますが、その範囲内でしか回答できません。例えば、「週末、暇なんだけど、何か面白いこと教えて」と質問すると、一般的な注目を集めていることが回答されるだけで、あなたにぴったり合ったものは提案されません。そのため、これまでの前提を考慮しながら、「それは、〇〇なので、自分の興味とは違います」といったやり取りを続けることが重要です。

新入社員に「わからないことがあったら聞いてね」と言うように、適切なインプットを提供して成果につなげることが、利用者としての役割です。

【第3章】 採用の領域が変わる

今回は1つの例を紹介します。この例の結果に私自身も驚きましたが、皆さんのChatGPTに対する考え方に影響を与え、理解が深まることを願って共有します。

ChatGPTは自然言語処理によって言語をプログラミングすることができます。これにより、以前は数値によって制御していた部分を言語で制御できるようになりました。

例として、採用面接でのChatGPTの利用を考えてみましょう。

採用に関する情報は、書類選考や面接、職務経歴書など、文字情報が多く存在する分野であるため、ChatGPTのような自然言語処理技術を活用することで、より正確な評価や公平性の確保が期待できます。例えば、一律の評価基準に基づいて、面接内容をChatGPTに分析してもらうことで、人間の主観的な評価によるバイアスを排除し、公正な採用判断を下すことができます。採用においては、言語情報を多く扱うため、ChatGPTのような自然言語処理技術を活用することが適していると考えられます。

ただし、選考終盤のカルチャーマッチや相性の面では、ChatGPTがまだ十分に対応できないため、その点を理解した上で試してください。また、リスクとして、企業の評判や個人情報の取り扱いに注意が必要です。AIを活用した事例として、リクナビさんのケースが挙げられますが、データの正しい活用が重要であることを認識しておくことが大切です。


人材要件の特定プロンプト

具体的な企業例を挙げると問題が起こりそうなので、ChatGPTに入力する質問を作成します。皆さんの方で、試してみてください。

あなたは、企業の採用を活性化するコンサルタントです。これからお願いすることを順序立てて整理して、企業に適した人材が採用できるように、質問に対して答えていただきたいと思います。なお、必要な情報があれば、私に聞き返してください。

次のような質問をWeb ChatGPTに入力して実行してみてください。ご自分の会社名を入力することで、情報の正確さを確認しやすくなるかもしれません。

株式会社xxxは、事業内容、VisionとMission、組織構成について、教えてください。

次は要件です。以下のように入力してみてください。

これまでの情報を踏まえて、新卒採用面接の合否判定を行うためのプロンプトを作成するにあたり、株式会社xxxに必要な人材を特定し、合否判定の条件を定めてください。また、その根拠とした参考文章も、直接引用してください。なお、情報に不足があれば、私に聞き返してください。

# 必要な人材像
# 合否判定条件
# 根拠とした参考文章

さて、皆さん、どのような文章が返ってきましたでしょうか?


面接の合否判定・背景説明のプロンプト

もしもご興味をお持ちいただけた場合は、下記にある連絡先にご連絡いただけますと幸いです。これまでの説明で、すでに皆さん自身で実践可能なところもあるかと思います。ぜひ、試してみてください!

再度お伝えいたしますが、採用に関する情報は、個人情報の取り扱いに関してリスクがあるため、くれぐれもご注意ください。個人情報が流出したり、評判に悪影響を与える可能性があるためです。

ご興味いただけた方へ

 ・キャリアの相談してみたいメンバーの方
 ・マネジメントで苦悩するマネージャーの方
 ・組織開発・人材開発でお悩みの経営・人事の方
TwitterのDM、Careenaやストアカと皆さんのご興味に合わせて連絡ください。是非、一度気軽にお話ししてみませんか?

Twitter:https://twitter.com/hsato0623
careena:https://careena.jp/users/28cdd9fc
ストアカ:https://www.street-academy.com/myclass/151665

\Twitterでは毎日Well-beingに関する情報を発信中!/
ぜひ、フォローをお願いします!
Twitter:https://twitter.com/hsato0623

参考記事

【落合陽一が実演:ChatGPTの賢い使い方】経営戦略、アイディア出し、要約、コーディングにフル活用/英語こそ最強のプログラミング言語/人間が鍛えるべきは「好奇心」/デジタル佐々木紀彦を生成
MVCモデル 【Model-View-Controller】
MVCモデルとは?基礎からメリット、デメリットまで解説
【5分でわかる】誰でもできるChatGPT活用術
WebChatGPT
リクナビ問題が大炎上した真相 “利用者不在”の人材ビジネスに潜む「構造的歪み」とは
【GPT-4の使いこなし方②】AIの上手な活用方法は「入力が7割、調整が3割」

この記事が気に入ったらサポートをしてみませんか?