前回の研究では、ベクトル検索の問題点として、同じものが繰り返しヒットすることを指摘しました。これを解決するために、「過去に何を読んだか」を覚えておく実装が必要と考えました。しかし、「本当に一度読んだものは二度と読まなくていいのか?」という疑問もありました。その後、上書きモードマルチヘッドが実装され、コンテキストが異なれば新しいページを作ればいいという考え方に変わりました。これにより、既読管理はプロジェクトのスコープからページのスコープに変わりました。現在は、「使ったページのタイトル」をJSON形式にして、過去の出力のタイトルをすべて読むようにしています。

nishio.iconこの機能にいい名前をつけて gpt.iconページメモリ: 「ページ」が中心のこの機能に、メモリという要素を付け加えることで、過去の情報を「覚えている」というニュアンスを持たせます。

なるほどねnishio.icon image

  • 1: まず、初期の実装ではページとノートは区別されていなかった
  • 2: 手動でトリガーできる機能がついた時点で、日時での自動生成タイトルだと混乱するし、ページだらけになるからということで、同じページを使い続けるモードがついた
    • これが「上書きモード」と呼んでるやつ
    • これによって一つのページが複数のノートのつらなりになった
    • なのでページを全部読むことによってページ全体のスコープの変数を持つことができるようになった
      • これを今は既読管理だけに使っているけど本質的にはページ単位の名前空間なので、例えば目的を明示するとか、プロンプトに対するパラメータとかを置くことができる

話題のピン留め効果