今回はChatGPTの連続チャットです.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS18.1
スポンサーリンク
あるにはあるが…
ブラウザでやれば、アプリでやればいいのは分かりきってることですが、これをなんとかショートカットでできないか…という話です.
ChatGPTの"Ask ChatGPT"のオプションに"Continuous chat"があるのでこれで切れ目なく対話することは可能です.
しかしこのオプションによる効果はレシピが停止するまでで、中断・停止したのちは別のチャット扱いになってしまいます.
ブラウザや公式アプリはともかく、ショートカットアクションでは今のところ特定のチャットを指定して対話を行うことはできないのでいくらこのオプションがあっても次回に引き継がれない状況が生まれます.
またプロンプトを入れた状態だとそのたびに同じプロンプトテキストが出てきて煩わしいことこの上ありません.
レシピを作る前に準備
というわけでこれらの問題を少しでも解決できないものかと考えてみました.
理屈は簡単で、それまでのやりとりをメモ帳などに溜め込んでおいて、質問の際それと今回行う問いを一緒に質問とすればいいのでは…というやり方です.
というわけでやりとりを溜め込む場所を用意します.
今回は標準のメモアプリにします.
レシピで検索しやすいよう、タグを入れたメモを用意します(スペルミスしてますがスルーしてください).
レシピ
「メモを検索」で先程用意したメモのみ出力するようにし、「入力を要求」で質問を入力するアクションを追加しておきます.
「Ask ChatGPT」を追加するのですが、プロンプト内は改行できず見た目が悪いので一旦「テキスト」アクションに諸々を書くと見た目が良いです.
過去のやり取りである「メモ」と、今回の質問内容である「入力を要求」をうまくChatGPTに伝えます.
ChatGPTに回答を求めた後のことを考え、今回は
- メモに追加→回答を表示→再質問
- メモに追加→回答を表示→終了
- メモに追加せず回答の表示のみ
の3つを考えます.
まず「メモに追加→回答を表示→再質問」の場合です.
前後のやり取りを区別できるよう仕切りを入れた状態で"Ask ChatGPT"の質問結果をメモに追加し、また"Ask ChatGPT"の回答自体を表示、最後にこのレシピ自身を実行します.
「メモに追加→回答を表示→終了」の場合の場合は先程の場合からレシピの実行を抜くだけです.
「メモに追加せず回答の表示のみ」の場合は"Ask ChatGPT"の結果を表示するだけです.
普通の質問→回答ですね.
実行
質問を入力し、"Ask ChatGPT"が働いてから各種選択肢が出てきます.
選択肢を早めたい場合は各々で"Ask ChatGPT"を追加する必要が出てきます.
このままだと文字数次第で途中で表示が切れるのがモヤッとしますね.
それはともかくこれでこのレシピを介したやりとりがメモに溜め込まれ、レシピを介するたびにそれを含んだ質問を送信することができます.
これによっていつ実行しても過去のやりとりを振り返ったり…
他の情報がごちゃまぜのままでも気にせずデータの分析してもらうこともできます.
〆
かなりの良策と思ったのですが、一度の質問に文字制限という致命的なデメリットがあります.
上に貼ったメモにもチラッと見える通り制限はないと言ってますがこれはチャット全体のことと(このときのChatGPTが)勘違いしており、別の質問では4000文字と言っていました.
その後何度か試行したところ実際には7000文字くらいまでなら大丈夫のようですが、それを超えるとエラーを吐いたり見当違いな回答を出してきます.
質問と回答を溜め込む今回のやり方ではほどほどのやりとりで満たしてしまう量です.
まあChatGPT側の負担とかを考えたら仕方ないんでしょうね.
この問題はChatGPT側の制限なので、溜め込み先をメモから他のアプリなどに変えても解決しないことになります.
一日単位でメモを作ってうまく拾い上げるのが次善策でしょうが希望の質問に応えられるにはレシピを組み直す必要がでてきますね.