【Google ChromeのAIモード】第1話「コンテキストの肥大化」で過去のスレッドが消える?

AIによる実装
青木鳥
青木鳥

Google ChromeのAIモードでプログラミングを行うにはコツがあるようなのだ。

赤トマト君
赤トマト君

そういえば「スレッドが消えた」とか言って騒いでましたね!

青木鳥
青木鳥

ウム。いろいろ苦労があったのだ・・・。

赤トマト君
赤トマト君

忘れないうちに記録しておいたほうが良いのでは?

青木鳥
青木鳥

そうだね。では、そうしようじゃないか。

「コンテキストの肥大化」でスレッドが消える!

コンテキストの肥大化とは?

Google Chrome のAIモードは、簡単なものであればプログラムも作成できる強力なツールです。そこで、試しにWordPressのプラグインを作成してみたところ、「コンテキストの肥大化」という問題が発生しました。

作成したプラグインは「カルガモ・ページ送りナビゲーター」です。(詳しくは以下をご覧ください。新しいタブで開きます。)

AIコーディングでプログラムの修正を繰り返していくと、会話の履歴やプログラムのソースコードなどの情報が増えていきます。

この状態が続いていくと、やがてAIが正しく処理できなくなってしまいます。そして、応答速度や精度が低下し、やがて不具合につながってしまいます。

実際、Google ChromeのAIモードで「カルガモ・ページ送りナビゲーター」を作成した際には、プロンプト(AIへの指示)に対してAIが答えを返さず、エラーメッセージが表示されたり・・・

生成されたプログラムのソースコードが表示欄からはみ出してしまったり・・・

AIからの回答ではなく、検索結果が羅列されたりといった現象が発生しました。

ちなみにAIの回答の代わりに検索結果が表示されてしまった時には、プロンプトに「ありがとうございました!」と入力したところ、本来の答えを得ることが出来ました。

この状態でもAIとの対話を続けることは出来ます。しかし、処理速度や回答の精度の低下などの問題が発生します。

実際、「カルガモ・ページ送りナビゲーター」を作成し始めたころには、「コンテキストの肥大化」に気づかずにAIとの対話を続けることで、大きな問題が発生してしまったのです。

それは、「過去のスレッドが消えてしまう。」という問題です。

過去のスレッドが消えてしまった。

Google ChromeのAIモードでは、AIとの対話は過去のスレッドという形で保存されます。

保存された過去のスレッドは、Chromeの画面の左側にある「過去のスレッドを検索」マークをクリックすることで表示されます。

表示されたスレッドをクリックすると、そのスレッドの内容が表示され、AIとの対話を再開できます。

「カルガモ・ページ送りナビゲーター」の作成は1日では完了せず、何日か作業を続けました。

作成を始めたころ、一旦作業を中断して別の日に作成を再開しようとしたのですが、肝心のスレッドが見つからなかったのです!

動作確認のため、ソースコードは保存してありましたが、プラグイン作成の経緯はすべて消えてしまいました・・・

赤トマト君
赤トマト君

過去のスレッドが消えてしまうのは困りものですね・・・

青木鳥
青木鳥

ウム。ChromeのAIモードでは、割と頻繁にコンテキストの肥大化が発生するので注意が必要なのだ。

赤トマト君
赤トマト君

そうなんですか。じゃぁ「カルガモ・ページ送りナビゲーター」はどうやって作り続けたのですか?

青木鳥
青木鳥

それを、これから説明するのだ!

どうすれば乗り切れるのか?

ChromeのAIモードでプログラムを作成しているときにコンテキストの肥大化が発生すると、それ以降の作成を続けられなくなってしまいます。

これに対処するためには、以下の方法を試みるとよいでしょう。

画面の内容を保存しておく

上で述べたように、コンテキストの肥大化が発生すると、現在のスレッドを後で参照できなくなってしまいます。

これに対処するため、現在の画面の内容を保存しておくとよいでしょう。

そのためには、画面上のどこかでマウスを右クリックします。すると、メニューが表示されます。

メニューから「名前を付けて保存…」を選ぶと保存ダイアログが表示されるので、保存先を指定して「保存」ボタンをクリックします。

保存には時間がかかるので、しばらく待つとよいでしょう。

現在の画面の内容を保存するとき、プロンプト(ユーザー入力欄)が閉じた状態のまま保存してしまうと、あとで開いたときに内容を確認できなくなってしまいます。

プロンプトが閉じた状態

プロンプトが閉じた状態の場合は、右横の「∨」をクリックすると開いた状態にすることが出来ます。

プロンプトが開いた状態

少し面倒ですが、プロンプトを全て開いた状態として保存するとよいでしょう。

新しいスレッドに引き継ぐ

画面の内容を保存することで、後でスレッドの内容を確認することは出来るようになります。

しかし、AIとのやり取りを継続することは出来ません。

AIとのやり取りを継続するためには、現在のやり取りの要約を作成してもらい、新しいスレッドに引き継ぐと良いです。以下にその手順を示します。

  1. AIに「新しいスレッドに引き継ぎます。これまでの内容を要約してください。」と指示する。
  2. AIが出力した要約を全文コピーする。
  3. 新しいスレッドを立ち上げる。
  4. 新しいスレッドの画面にコピーしたものをペーストする。

要約はソースコードと同じように専用の表示欄に表示されます。

表示欄の右下にはコピーボタンが用意されています。これをクリックすることで、内容をコピーすることが出来ます。

そして、画面左側の「過去のスレッド」ボタンの下にある「新しいスレッド」ボタンをクリックすることで、新しいスレッドを始めることが出来ます。

AIの動作が不安定になってきた場合は、新しいスレッドに切り替えて作業を行うとよいでしょう。

赤トマト君
赤トマト君

過去のスレッドが消えてしまったのだとしたら、作成の過程を記事にするのは大変だったのではないですか?

青木鳥
青木鳥

その通りなのだ。一時は途方に暮れたものだったよ。

赤トマト君
赤トマト君

ですよね・・・青木鳥さん、そんなに記憶力 良くないですしね・・・

青木鳥
青木鳥

ムムム、手厳しいけど、その通りなのだ・・・仕方がないので、手元に残ったソースコードをAIに渡して、古いバージョンを逆算してもらったのだ。

赤トマト君
赤トマト君

そ、そんなことも出来るのですか!

青木鳥
青木鳥

ウム!ブログのネタにする、ということも伝えたら、記事の構成まで考えてくれたのだ!

赤トマト君
赤トマト君

実は「ページ送りナビゲーター」の記事もAIに書いてもらったんじゃないですか?

青木鳥
青木鳥

そ、そんなことはないのだ!あの記事たちは、全部自分で書いたのだ!信じてほしいのだ!

赤トマト君
赤トマト君

冗談ですよ。ちゃんと書いているのを横で見てましたよ。

青木鳥
青木鳥

まったく、悪い冗談はやめてほしいのだ・・・

まとめ

青木鳥
青木鳥

今回、初めてAIによるプログラミングを試してみたところ「コンテキストの肥大化」という問題に直面したのだ。これはこれで貴重な経験だったのだ。

赤トマト君
赤トマト君

でも、そもそもChromeのAIモードでプログラムを作ることに無理があるのでは?

青木鳥
青木鳥

そのようだね。なので、次のプラグインを作るときは別のAIを試してみることにするよ。

コメント