【ITニュース解説】The Hard Part Was Making My Agent Remember
2026年09月30日に「Dev.to」が公開したITニュース「The Hard Part Was Making My Agent Remember」について初心者にもわかりやすく解説しています。
ITニュース概要
AIサポートが過去の顧客との会話を記憶できない問題を解決するため、「MEMORA」というシステムを開発した。これはHindsightを使い、以前のやり取りを覚えて必要な時に活用し、顧客が同じ問題を繰り返さず、より良いサポートを受けられるようにする。
ITニュース解説
現代のAIチャットボットによる顧客サポートは、顧客からの問い合わせに対して即座に適切な回答を生成できるまでに進化してきた。しかし、顧客サポートにおける重要な課題の一つは、AIエージェントが過去の会話の内容を忘れてしまうことだ。初めての問い合わせには対応できても、同じ顧客が後日、同じ問題や関連する問題で再度連絡してきた際、エージェントが以前の経緯を全く覚えていない状態から会話が始まってしまう。これは顧客にとって、同じ情報を繰り返し説明しなければならず、非常にストレスに感じる体験となる。
このような「記憶の欠落」という課題を解決するために開発されたのが「MEMORA」という顧客サポートエージェントである。MEMORAは、顧客サポートエージェントが以前の会話から有用な情報を記憶し、それを将来の対応に活用できるようにすることを目指している。その核心にあるのは、「リピーターの顧客が同じ問題を二度説明する必要がない」というシンプルな目標だ。
従来のサポートエージェントの課題を具体的に見てみよう。例えば、顧客が「Proへのアップグレード中に支払いが失敗しました。Androidを使っています」と連絡してきた場合、エージェントは一般的なトラブルシューティング手順を提示できる。しかし、後日同じ顧客が「また支払い問題が起きています」とだけ言った場合、記憶を持たないエージェントは以前の文脈を全く知らないため、「何が起きたのか」「どのデバイスを使っているのか」「何を試したのか」「以前は何か解決策があったのか」といった質問を顧客に改めて問い直すことになる。このやり取りは、顧客にとって非常に無駄で繰り返しの多いものに感じられるだろう。
MEMORAはこのような状況でこそ真価を発揮する。もし以前の会話で、顧客がAndroidを使用しており、ウェブサイト経由でのチェックアウトが解決策として機能したことが判明していたとすれば、次の会話ではその情報を活用できるべきだ。これがMEMORAの核となる設計原則であり、サポートエージェントは現在の会話だけでなく、有用な経験を記憶すべきであるという考え方に基づいている。
この記憶機能を実現するために、「Hindsight」というシステムがMEMORAのバックエンドの記憶レイヤーとして採用されている。MEMORAのアーキテクチャは意図的にシンプルに保たれており、顧客からの現在のメッセージが送られると、まずHindsightに対して関連する記憶を「Recall(呼び出し)」する。Hindsightから得られた過去の文脈情報は、MEMORAサポートエージェントが個別の応答を生成するために利用される。そして、エージェントが応答を生成した後、現在のやり取りから有用な情報が再びHindsightに「Retain(保持)」され、将来の会話で活用される。このRecallとRetainという二つの操作が、記憶ループの鍵となる。
このアプローチは、単に会話履歴全体をプロンプトとしてAIモデルに渡す方法とは根本的に異なる。会話履歴全体を渡す方法では、情報が蓄積するにつれてプロンプトが長大になりすぎたり、モデルが本当に必要な情報を見つけるのが困難になったりする問題がある。Hindsightのような専用の記憶システムは、アプリケーションが将来有用になる情報を専用の場所に効率的に保存・管理し、必要なときに正確に呼び出すための構造を提供する。
具体的な実装では、HindsightのJavaScriptクライアントが利用されている。APIキーなどの機密情報は環境変数として管理され、コードリポジトリに直接書き込まれることはない。
Recallステップでは、顧客から送られてきた現在のメッセージがクエリとして使用され、Hindsightに対して関連する記憶を検索する。例えば「また支払い問題が起きています」というメッセージは、顧客の以前の支払い問題に関連する記憶を呼び出すトリガーとなる。このとき、MEMORAのインターフェースには呼び出された記憶が表示されるように設計されている。これは、エージェントが実際に有用な情報を呼び出しているかどうかを確認できるため、開発者にとってデバッグを格段に容易にする。記憶システムが「ブラックボックス」ではなく、可視化されていることは非常に価値がある。
エージェントの応答生成は、Recallで得られた文脈情報とHindsightの推論能力を利用して行われる。エージェントには「あなたはMEMORAという役立つ顧客サポートエージェントです。関連する場合は顧客の以前のやり取りを使用してください。以前の解決策が機能した場合は、自然に言及してください。記憶にない顧客履歴を捏造しないでください」といった明確な指示が与えられる。特に重要なのは「記憶にない顧客履歴を捏造しない」というルールである。永続的な記憶が有用であるためには、呼び出された情報が信頼できるものでなければならない。エージェントがすべてを知っているかのように振る舞うのではなく、実際に記憶している情報のみを適切に利用することが目標だ。
応答が生成された後、現在のやり取りから「顧客が言ったこと」と「MEMORAが応答したこと」がHindsightに保持される。これにより、現在のやり取りが将来の会話の文脈として利用可能になる。この「顧客メッセージ → RECALL → エージェント応答 → RETAIN → 将来のやり取り → RECALL」という記憶のループこそが、MEMORAを興味深いシステムにしている。MEMORAは単に独立した回答を生成するだけでなく、それぞれの有用なやり取りが、エージェントが後の会話で知っていることに貢献していく。
実際にMEMORAをテストしたシナリオでは、その効果が明確に示された。顧客が最初に「Proへのアップグレード中に支払いが失敗しました。Androidを使っています」と問い合わせた際、MEMORAは支払い問題を処理し、ウェブサイト経由でのチェックアウトを提案する。このやり取りはHindsightに保持される。その後、顧客が「また支払い問題が起きています」と再度問い合わせると、MEMORAは以前の支払い問題と提案された解決策をRecallする。これにより、エージェントは「また支払い問題が発生して申し訳ありません。以前にも確認したように、Androidでの問題にはウェブサイト経由でのチェックアウトが確実な回避策です」といった形で、過去の経験を自然に参照した応答ができる。同時に、Hindsightの記憶パネルには関連する呼び出し情報が表示される。これにより、顧客は同じ情報を繰り返す必要がなくなり、サポート体験が格段に向上する。
なぜ単にチャット履歴全体を送り続けるだけでは不十分なのか。会話が短いうちは機能するかもしれないが、やり取りが蓄積するにつれて、アプリケーションは「どの情報を記憶する価値があるか」「どの以前の情報が今関連しているか」「この特定のやり取りのために何を呼び出すべきか」「有用な経験を一つの会話を超えてどう保持するか」といった判断を下す必要が生じる。そのため、記憶は独立したレイヤーとして設計されるべきだと考えられたのだ。
MEMORAを構築する過程で、いくつかの重要な学びがあった。第一に、単に情報を保存するだけでは不十分だということだ。記憶は、以前保存された情報が有用な形で将来の応答を変えるときに初めて価値を持つ。保存されたかどうかではなく、記憶が次のやり取りをより良くしたかどうかが本当の評価基準となる。第二に、記憶は可視化されるべきだ。MEMORAのインターフェースで呼び出された記憶を表示できたことは、デバッグやシステムの理解に非常に役立った。第三に、エージェントは記憶を捏造すべきではない。永続的な記憶はエージェントを個人的なものに感じさせるが、誤った記憶は信頼を損なう。実際に存在する文脈のみを使用することが重要だ。第四に、一つの明確なワークフローから始めることの利点だ。顧客サポートという具体的な問題に焦点を絞ることで、「記憶は何を改善すべきか」という問いへの答えが明確になった。最後に、記憶ループそのものが、ユーザーが見るチャットインターフェース以上に重要だということだ。RECALL → RESPOND → RETAIN → RECALLという循環こそが、以前のやり取りが将来に影響を与えることを可能にする。
MEMORAのアーキテクチャは、支払いシナリオのようなシンプルな例にとどまらず、より複雑なサポートワークフローにも拡張できる。例えば、エージェントは定期的に発生する顧客の問題、使用デバイスや環境情報、既に試されたトラブルシューティング手順、以前機能した解決策、製品の好み、未解決の問題、そして以前のサポートやり取りからの関連文脈などを記憶できるようになるだろう。
しかし、同時に「どのような情報が長期記憶に値するか」「古い情報はいつ無視すべきか」「矛盾する記憶はどのように処理すべきか」「エージェントが何を記憶するかについて、ユーザーにどのように可視性や制御を与えるか」といった重要なエンジニアリング上の課題も存在する。これらの問題は、エージェントが単一の会話からユーザーとのより長期的な関係へと移行するにつれて、ますます重要になってくる。
MEMORAの構築から得られた最大の教訓は、AIエージェントの価値は、今現在の質問に答える能力だけでなく、次回のために何を記憶できるかにもあるという、驚くほどシンプルなものだ。顧客は同じ問題を繰り返し説明する必要がなく、サポートエージェントは以前の有用なやり取りから学び、それが再び関連する際にその経験を適用できるべきだ。Hindsightを利用することで、この永続的な記憶ループ、つまり「重要なことを呼び出し、文脈を持って応答し、後で重要になるかもしれないことを保持する」という実践的な方法を実現できた。そして、顧客が戻ってきたとき、ゼロから始める必要はないのだ。