ChatGPTで星占いを作ってみる
但し書き
ChatGPTや生成系AIについてものすごく詳しいわけでも、テクニックを知ってるわけでもなく、知るために書いてる記事なので間違えなどあれば教えていただけると幸いです
どうもヤマカンです。第2回目で、もっと触りたいなと思いつつ、あまりネタも思い浮かばず、なんだかんだ 結局あまり動けてない状況です。
ChatGPTの凄さが何かを勘がると、「対話型のインタフェース」にあると感じてますが、この対話って結構面倒なものでもあるなと感じてます。
良い対話をしないと結局想定外の方向に行ってしまうし、それだと何も得られない状況なので、そこを良い回答を得るために「プロンプトエンジニアリング」という分野ができてきたんですね。今日はプロンプトエンジニアリングって結局何かを体験することを目的に書いてます。
ちなみにプロンプトエンジニアリングを詳しく知りたい場合は、多分今はここがいいと思っています。( https://www.promptingguide.ai/jp )
プロンプトエンジニアリングって何?
わたからない時はとりあえず、ChatGPTに聞いてみるスタイルで行きます
今までの「検索」というインタフェースだと、自分が知りたいことを軸にキーワードを考えて、記事を読んでいいものを探してという流れでしたが、サクッと聞いて回答が来るのはいいですね。ただ、ChatGPTの現状の理解として、生成系AIは確率的な文章生成を行なってるものと理解してます。なので、前回の記事にも出したように、どうしても間違った答えもでてくるかと思います。でもこれって現状も変わらなくて、人と会話する時や記事を読む時には、それがファクト情報なのかどうかは実際にはサイトの信頼度であったり、記載者の背景だったりで判断する部分はあるので、まあ今も変わらないなという印象です。
ChatGPTに聞いた良いプロンプトの作り方
だいぶ話がそれましたが、プロンプトの作り方を聞いたものをざっくりまとめると以下なのですが、これはまあ通常のアプリケーション作るのも同じですね。前回試した通り目的やスコープを絞ることができれば適切な回答が得られるし、一方でふわっとしている質問すると一般論しか燃えないですよね。
目的を明確にする
想定ユーザを設定と期待値を把握する
目的を達成するのに必要な質問などを作成する
評価する
実際に作ってみる
目的と結果を伝える,実際に入力したものに加えてコメント部分は `#` で追記してます。
ということで、上記を入れると動くらしいので試してみました。
結果的には、これ入れるだけだと失敗して、実装を回答もらっちゃいます。Pythonコードを僕はもらったのですが、色々課題あるので割愛します
じゃあどうするか?
前回同様に、「ふるまい」や「制限」を入れていく
役割設定・目的・実行手順などを整理して入れてく必要がある。
また実行結果の総定例を入れていく。あとやらなくていいものを含めて書いておく必要はありそうです。
実際にやるとこんな感じです
日付入れれば、なんとかそれぽい回答をもらうことはできたなと思います。ただこれが何に役立つのかは不明です。。。
まとめ
今回は、プロンプトの勉強も兼ねて質問と回答を得るだけのものとして「星占い」をテーマに触ってみました。ただ、これが何に役立つかというとその辺の乱数スクリプトでもいいなというのがあるので悩ましいところですね。
一方で触っていくとわかるのは余計な質疑をさせないためのテクニックは必要になってくるので、プロンプトを作る上でポイントとしてどこかで整理したいと思いました。
役割や制約の明確化などは共通してるので、その辺フォーマット揃えてるものありそうだし、時間とって今度調べようと思います。
この記事が気に入ったらサポートをしてみませんか?