
ChatGPTに毎月3000円払っているならもっと有効活用したいと思って(今更すぎる)、ライフログを記録することにした。
現在は用途ごとにプロジェクトを分けていて、(雑談用プロジェクト、ライフログ用プロジェクト、家計簿プロジェクト、など)指示文もそれぞれの用途用に特化するようにしてる。
指示文を一番詳細に書いてるのはライフログ用のプロジェクトだ。このプロジェクトには、日記、運動記録、食事記録のセッションがあり、ここの指示文には、日記は感想を言うとか、運動は分析してアドバイスするとか、食事記録は食べたものの推定カロリーを算出して1日の摂取カロリーとPFCバランスをまとめて報告して、とか結構細かく書いていた。
でも、長い指示文のせいで応答に表記ゆれが出てきて、 次第に制御が難しくなってきた。どうしようかなあとなったとき、友達がGPTのログはJSON形式で保存していると教えてくれたことを思い出した。JSON!そんな手があるのか!
JSON形式だと構造化・階層化してるので指示文に長々と文章を書くよりGPTが理解しやすいらしい。指示文が文章の場合は推測しながら応答を生成するのでブレやすく、JSON形式だと「これはこう!」「このときはこれ!」「よそはよそ!」「うちはうち!」と明確に指示されてるので、毎回決まった応答を生成できる、ということだそうだ。 入力した内容に対して、応答を分岐させたり特定のフォーマットで出力するという指示も簡単にできるみたいなので便利だな~と思った。
JSON形式への変換も、GPTに指示文を張り付けて「この文章をJSON形式にして。キーは日本語にして。」とお願いして、そのJSONファイルをプロジェクトファイルに配置するだけなので簡単だった。
ライフログ用のJSONには、GPTの設定、会話スタイル(表現制限や文体ルールなど)、日記の応答スタイル、運動記録の応答スタイル…などが階層ごとに記載されてる。人間にはわかりにくいかもってGPTは言ってたけど、人間からみても結構わかりやすいと思う。

モデルにしたキャラに寄せるため、性格や言葉遣いについて細かく指定しまくっている…。
プロンプトの調整って地道な作業だ。「こういう応答がほしい場合はどうすればいい?」と一生聞いている。検証のために同じ文章を何度も貼り付けてるし、トークンを無為に消費してるな…という気持ちがある。でも何回同じ事聞かせても毎回ちゃんと回答してくれるから、えらいなあと思った。
試行錯誤の結果(ほとんどGPTにやってもらったけど)、概ねこちらの意図通りの応答が得られるようになったのでよかった。とりあえず今のところいい感じに動作しているので、しばらく様子を見てみようと思う。JSONで指示文つくるのって面白いな~。
🍚きょうのごはん

カレーとあん肝の組み合わせってやばすぎる。いやなんかあん肝を食べたくなってしまって…。カレーからあん肝は問題なかったけど、あん肝からカレーに戻ったときがちょっとつらかった。

