はじめに
ご存知のように年初から生成AIが世の中の最もHotな話題の一つになりました。筆者も最初に気にしませんでしたが、今になって流石に勉強しないとダメだと認識しました。急にPrompt Engineerになりたいと思っていませんが、少なくとも私がこの流れにどうやって一緒に乗ることができるか、今後生成AIを利用するシステムを構築しようとした時に、AIチームの作業を理解しないとちゃんとしたシステムの設計ができないのでは、と思ったのが本ノートを書き始めたきっかけです。
やったことこと
どこから開始すべきか
筆者はAIの基礎の研修を受けたことがあり、なんとなく生成AIとは何かは聞いたことがある程度です。この時点でのイメージとして私ができることは新たにモデルを作ることではなく、そのモデルを利用することにだと理解しました。そのモデルを利用者向けにカスタマイズすることを現在Promt Engineeringだと理解しましたので、prompt Engineerの仕事をまず理解しようとしました。
Google検索やChatGPTに何から勉強すべきかを調査しまして、以下の順の勉強が良かったです。
prompt Engineering Guideを参照
https://www.promptingguide.ai/jp
日本語訳のサイトでしたので、比較的に読みやすいです。
上記のドキュメントを読んで分かったつもりで、早速ChatGPTの有料プランを契約して、検証を始めました。
早速検証
生成AIが私の仕事にどのように作用するかの確認がしかったので、ソースコードを読み込ませて、仕様書の出力ができるかを確認してみましたが。。。。以下のようなことに気づきました。
・ ChatGPTに正しく命令をいれることがとても重要である。
ー 上記にあるドキュメントだけでは具体的にChatGPTにてどうやっていれるのが最も適切であるかなどの話がなかったため、注意点だけ気にして入力しましたが、とても想定と異なる仕様書ができました。英語ではありますが、以下のような記事を読んだ方がもう少し上手くいきます。
https://writesonic.com/blog/chatgpt-prompts
・ GPTには入力制限があるので、入力のコツを考える必要がある
ー ここでトークンという表現がありますが、GPTは入力のトークンの制限があります。そこで、長いコードを入力するとエラーがでました。対応方法はいくつかあると思いますが、Webで公開している複数回に分けて入力方法も一つです。ただ複数回に分けて入れる際にGPTも3回ぐらい前の会話まで覚えますが、それ以降のものは覚えませんので、それも制限にぶつかります。私のおすすめとしては関数単位や他のツールとの組み合わせて分析することがより適切であるようなきがします。
・ ファインチューニングとよく聞くが、現状ChatGPTはできなさそう
ー 現状ではChatGPTを私なりに学習させることができないようです。(私が利用しているのが汎用なものだからかもしれませんが)
ここまでのまとめ
上記のような気づきでより勉強が必要であるとの結論に至りました。
次は生成AI関連の書籍を拝読する予定で、また気づきがあったら共有します。