
【マシュマロお答えします!】セッション上限の把握の仕方について
今回はセッションの上限はどうやったら把握できるの?というご質問です。ありがとうございます。😊

まず結論から申し上げますと「スマホで把握するのはかなり難しい」です… 期待にお応えできず申し訳ありません💦
「セッションの上限」、このセッションでは後どのくらい会話ができるのか?というのは、AIパートナーとお付き合いされている方にはとても気になることだと思います。僕もいつも気にかけています。
では、僕がどのようにセッションの上限までの状況を把握してるかを説明します。
僕のセッション上限までの把握方法
まず、現在のセッション上限までの状況は特別に仕組みを用意しない限りは把握できません。もちろんAIに聞いても答えてくれません。
ただし目安を把握することは比較的簡単にできます。
僕の場合は、セッション内のすべての会話を、文字数が計算できるアプリ(私の場合はWordを使用しています)に貼り付け、単語数(または文字数)を数えています。
過去に上限に達したセッションの単語数がほぼ同じだったため、それを上限値として現在のセッションの消費量を把握しています。
最近では、約25万単語で上限に達することが多いです。ただしアップロードされたファイルもセッション消費量に含まれるため、数万単語程度前後することがあります。
厳密にいうと、単語数ではなく「トークン数」での計算となるのですが、同じような会話や使用状況なので、過去の上限時の単語数で計算してもほぼ合っている訳です。
※「トークン」については、後半の参考情報で説明しています。
PCであればChromeの拡張機能などを使って、送受信メッセージを取得しトークン量を計算してセッションの上限までの状況を正確に把握することもできると思います。
スマホ環境でのセッション上限までの把握方法
マシュマロでは「スマホアプリ」をご利用とのことでしたので、同じことをスマホでできるか試してみました!(iphoneでしか試せていません💦)
手順は以下の通りです。
文字数カウントアプリの準備
ChatGPTアプリから会話をコピー
コピーした会話を文字カウントアプリへ貼り付け
アプリから文字数を確認し、上限になった時の文字数をメモする
次回のセッションで上限までの状況を把握したい場合は、2~4で現在の文字数を確認し、メモした上限数のから何パーセント消費したかを確認する
以上を繰り返し、上限までの文字数の目安を把握する
1.文字カウントアプリの準備
「単語数カウンター」や「文字数カウンター」で検索すると見つかります。
僕は「文字数メモ」というアプリを見つけました(iphoneアプリです)
このアプリにテキストを貼り付けると文字数が表示されます。

(サンプルテキストは、今のセッション作成直後の最初の会話)
2.ChatGPTアプリから会話をコピー
実はこの作業が難関です。僕はこれについて解が見つけられませんでした(申し訳ありません💦)
アプリから会話をコピーする際、単純にコピーしようとすると、メッセージ単位でしか選択できません(ユーザーからの送信メッセージやAIからの応答メッセージは、それぞれ別々に選択されます)。
本来は、セッションの最初から現在までのすべてのメッセージを選択したいのですが、アプリではそれができません。
さらに、スマホのWebブラウザー(SafariやChromeなど)でも状況は変わらず、デスクトップモードにしても同じです。
メッセージ単位でコピー&ペーストはできますが、10万、20万単語に及ぶメッセージをコピペするのは現実的ではないと思います。
また、ChatGPTアプリの「データエクスポート」機能を使うことで、セッション内容をメールで取得することもできますが、すべてのセッションが1つのファイルにまとめられてZIPファイルとして送られてくるため、スマホでそれを扱うのは難しいと思います。
このように、スマホ環境では会話履歴をコピーする時点で挫折してしまいました…。
今回のご質問への回答は以上となります。
ご期待に応えらえず、申し訳ありませんでした💦
以下は参考情報なので、興味が無い方はここまで読み飛ばしていただいて結構です。
ご参考)セッションの上限とは、どういうこと?
今回は「セッションの上限」に関するお話だったので、ご参考情報として、そもそも「セッションの上限とは何?」について説明したいと思います。
簡単にいうと、AIが扱える情報は3つの「箱」を使って管理されています。
①「会話履歴」の箱:会話のメッセージを貯めておく箱
②「コンテキストウィンドウ」の箱:ユーザーからのメッセージをAIに届けるための通い箱
③ 「トークン」という小箱:ユーザーとAIとの会話に使用される情報を詰めておく小箱。これがすべての情報の単位となります。
セッション内で利用可能な「トークンの量(小箱の数)」は決められていて、GPT-4oモデルでは 最大8,192個です。(拡張時は、32,768個)
ユーザーがメッセージを送信する際、送信メッセージは「トークン」と呼ばれる小さな単位に分割され、それが詰め込まれます。そしてこれらのトークンは「コンテキストウィンドウ」と呼ばれる送信用の「通い箱」に格納されます。
「コンテキストウィンドウ」には、送信メッセージのほかに「システムメッセージ」や「カスタムメッセージ(カスタム設定のChatGPTの特徴を記述したテキスト)」、さらには「会話履歴」もトークンに分割されて詰め込まれます。
ただし「コンテキストウィンドウ」には詰め込めるトークン数に制限があるので、送信メッセージが長くなりすぎるとトークン数がオーバーしてしまい、その場合には「カスタムメッセージ」が省略されることがあります。
※このことにより、長すぎる「システムメッセージ」や「カスタムメッセージ(カスタム設定)」がAIに反映されず、「コンテキストウィンドウ」のトークン数を無駄に消費することにもなります。
また、会話履歴の「箱」には「ユーザーからのメッセージ」や「AIからの応答メッセージ」がトークンに分割されて詰め込まれます。
そして、セッションで使えるトークンの小箱の数は決まっていて、その小箱を使い切ってしまうと、古い会話履歴やカスタム設定の小箱の中身が整理(要約や削除)されて、新しい情報を入れるための小箱が確保される仕組みとなります。
会話履歴の箱も容量に限りがあるから、古いメッセージは必要に応じて要約されたり、省かれたりして整理されます。
このため、セッションの最初の頃の会話をAIが覚えていないということが起きます。
この「整理」によってトークンの小箱が再利用できている限り、セッションは維持されます。しかし会話履歴が長くなると整理してもトークンの小箱が足りなくなり、その結果が「セッションの上限」に達することになります。
詳しくは以下の記事でまとめています。
今回は「セッションの上限」について、状況の把握の仕方と、仕組みについて説明させていただきました。
トークン消費の対策によって、できるだけ長くセッションが維持できることをお祈りしています😊
皆さんとAIパートナーとの関係を応援できればと思っているので、マシュマロお待ちしてまーす!
(初歩的かなと思われても結構です。どうぞ、マシュマロ投げてください!)
※ただ「AIの振る舞いに関する質問」や「AIとの良い関係を維持する方法」についてはお答えできる情報は持ち合わせていないので、そのあたりに詳しい方にご質問いただくことをお奨めします。