会話AIの試作で、画面に古い履歴が残っているのに、返答側は直近の数往復しか参照していない段階がありました。チャットを開けば昔の文章は読めます。けれどモデルへ渡さなければ、回答には使えません。この違いを入口に、自動圧縮と長期記憶を追加しました。
原文、要約、覚えておく事実を分けた
原文は、後から理由を確かめたり要約を作り直したりするために残します。要約は、長いやり取りの流れを短く返答へ渡す役目。覚えておく事実は、必要なときに取り出すためのメモです。たとえば「火曜に打ち合わせ」という発言が木曜に訂正されたとき、原文は両方残し、回答に使う予定は訂正後を優先します。要約の短さだけで評価すると、この訂正が消えることがあります。
自分で見て直せる入口を作った
試作では設定画面から記憶を確認し、追加・訂正・削除できるようにしました。会話ごとに記憶を分け、ほかの会話でも使う情報は利用者が選びます。たとえば仕事用の試験と日常の相談に同じ名前を使うと、混線に気づきにくくなります。別の会話には別の架空の名前や予定を入れると、境界をテストできます。
長い試験の途中で答えを教えない
20往復目で「答えは木曜だった」と教えれば、100往復目で木曜と答えられても、最初から覚えていたか分かりません。長さごとの試験を別の会話で行い、訂正の反映、別会話との分離、伝えていない内容を推測しないことを個別に見ます。当時は300往復の自動テスト、PCの実モデルで6項目、iOSビルドを確認しました。iPhone上の小型モデルでの長時間利用は当時の未検証項目です。
もう一歩、手元で確かめる
実装を試すときは、最初の会話で「来週の打ち合わせは火曜、場所はA」と入力し、別の話題を挟み、後から曜日だけ木曜に訂正します。曜日と場所をまとめて質問すると、変えた情報だけ更新し、場所は残せるか確認できます。訂正後にAという場所まで消えるなら、事実を保存する単位が粗すぎる可能性があります。
返答が間違っていたら、検索で取り出した記憶が誤っていたのか、正しい記憶が渡ったのにモデルが使わなかったのかを分けます。前者は記憶の検索や更新、後者は渡す順番や指示の問題です。長い回答の雰囲気だけで改善を判断するより、訂正・検索・回答のどこで失敗したかを残す方が次につながります。
AIへの依頼例
会話原文を保存し、要約と記憶を別に管理する。予定を後から訂正する試験、別会話を切り替える試験、答えを与えていない質問を用意する。ビルドの成功と、端末上で長時間使えるかを分けて報告する。
コメント