AIエージェント メモリ

執筆:Ai Flowi · 公開日

AIエージェント メモリは、エージェントが後のやり取りやタスクのステップで利用できるように保持する情報です。会話のメッセージ、明示的なタスクメモ、別の知識ソースから取得した事実などが含まれます。それぞれの用途は異なり、テキストを保存したからといって、モデルがその内容を恒久的に学習したことにはなりません。

確認すべきなのは、次回どの情報を、誰が、いつまで利用できるかです。直近の会話履歴は追加の質問を解釈する助けになります。レビュー済みの資料は規程に関する質問への回答に役立ちます。ただし、どちらも未完了の作業を自動的に信頼できる形で記録するものではありません。

エージェントメモリで会話、タスクメモ、知識の違いは何ですか?

用途に応じた記録を選びます
記録役立つ内容利用する前に確認すること
直近のメッセージ質問、補足説明、過去の回答。正しいセッション、順序、取得するメッセージの範囲。
タスクメモ採用した事実、未解決の質問、現在の判断。出典と、メモの内容が現在も有効かどうか。
精選された知識会話とは独立した、承認済みの文書。アクセス権限、資料の版、検索結果の関連性。

メッセージには不正確な主張が含まれることがあり、精選された文書も古くなる可能性があります。そのため、メモリの設計には保存方法だけでなく、情報の由来と訂正のルールも必要です。履歴コンポーネントで取得できるという理由だけで、過去のモデルの回答を信頼できる情報源として扱わないでください。

関連情報:Zepメモリの使い方:AI Flowi Workflowでの連携。

メモリが後の回答に届くまで

まず、記録する情報を決めます。次に、意図した適用範囲で保存し、適切な一部を取得して、次のタスクのコンテキストに含めます。各処理は個別に失敗する可能性があります。メッセージが保存されていない場合、取得時に誤った記録が選ばれる場合、取得した内容が次のプロンプトに含まれない場合があります。

モデルが回答に使えるのは、受け取った情報か、別途利用可能な機能だけです。表に記録を残しても、次のモデル呼び出しがその表を読むとは限りません。追加の質問で内容を忘れたように見える場合は、取得結果と、組み立てられたプロンプトの両方を確認してください。

AI Flowi Workflowのメモリ関連コンポーネント

Message Historyのインターフェースでは、以下の演習で使う保存と取得のフィールドを説明しています。

取得した会話から、何が話されたかを確認できます。ただし、どの発言が現在も適用されるかを判断するには、別途訂正のルールが必要です。

保存処理については、カタログのMessage Storeを確認し、想起を評価する前に保存された記録を検証してください。

チャットから演習を始める場合は、Chat InputとChat Outputのリファレンスで、メッセージの保存設定を確認してください。

架空のデータで行う記憶と忘却の演習

個人情報を含まない架空の希望を使います。まず、レポートには箇条書きを使うよう会話で伝えます。その後、段落形式に変更するよう依頼します。最後に、現在どの形式を使うべきか質問します。この演習で期待する動作は、最新の明示的な訂正を採用し、別の希望を勝手に作り出さないことです。

設定例であり、記録されたテストではありません

Message History, retrieval node
mode: "Retrieve"
order: "Ascending"
n_messages: 4
session_id: synthetic-format-check

Message Store, storage node
message: supply each synthetic preference message
session_id: synthetic-format-check
sender: User

この件数は演習用に提案した設定値であり、文書化された上限や、実際に観測した取得結果ではありません。保存と取得は別々に確認してください。後続のモデル処理に接続する前に、messages_textとdataframeの内容を確認します。出力の型が一致するだけでは、選択順序やメッセージ範囲の意味を確認できません。

取得した会話テキストから後続のプロンプトを準備する際は、Language Modelのリファレンスを参照してください。

想起を評価する前に訂正を確認します

次の架空の発言を順番に使います。「レポートには箇条書きを使ってください」「訂正します。レポートには段落形式を使ってください」「付録だけには表を使ってください」、そして「レポートと付録にはどの形式を使いますか?」です。意図した回答は、両方の適用範囲を保ち、レポートには段落形式、付録には表を使うというものです。モデルに質問する前に、保存されたテキストと取得された範囲を確認してください。取得結果に訂正がなければ、問題はコンテキストの受け渡しにあります。両方の発言が含まれているのに箇条書きを選ぶ場合は、解釈に関する指示を確認します。

次に、無関係な架空の発言を追加し、同じ範囲設定でもう一度取得します。「直近4件のメッセージ」が「直近4件のユーザー指示」を意味すると決めつけず、どの訂正が引き続き利用できるかを記録してください。送信者による絞り込みと並び順は、有用なコンテキストに影響します。要約が単に「表を好む」となっていれば、元のメッセージがすべて保存されていても、付録に限定する条件が失われます。

忘却の確認では、付録に関する希望を撤回し、同じ質問をもう一度します。期待する結果は、付録の形式が未指定になることであり、古い推測に戻ることではありません。生の履歴だけでなく、保持している要約も確認してください。古い要約によって、撤回した希望が再び持ち込まれる可能性があります。選択したバックエンドで削除が可能なら、架空の記録を削除し、取得結果を再確認します。記録を省いた後に正しく回答できても、そのプロンプトで記録が使われなかったことしか証明できず、保存先からの削除は証明できません。

別途精選した知識を分けて扱います

別途精選した文書を検索する場合は、会話履歴を資料群として扱わず、RAGを参照してください。

会話で規程が変更されたと主張されても、承認済みの文書に異なる内容が残っている場合は、その会話を主張の報告として保持し、不一致を明示してください。会話は資料の見直しを促す材料にはなりますが、説明なく規程を置き換えるものではありません。質問がユーザーのレポート形式の希望だけに関するものなら、文書検索をしても根拠としての有用性は増しません。代わりに訂正履歴を確認してください。

保持と忘却の確認で証明すべきこと

  • 保存:取得に原因があると判断する前に、架空のメッセージが記録されたことを確認します。
  • 取得範囲:さらに架空の発言を追加し、どの過去の発言が利用できるかを観察します。実際の動作を文書に残してください。
  • 訂正:最新の明示的な希望が、それ以前の希望に優先することを確認します。
  • 分離:権限のある別のテストセッションを使い、最初のセッションのメッセージを取得できないことを確認します。識別子があるだけでは、分離の証拠になりません。
  • 削除:バックエンドが削除に対応している場合は、保存された記録と、その後の取得結果の両方を確認します。1つのプロンプトからメッセージを省くだけでは、保存先から削除されません。

このカタログは、保持期間、削除機能、恒久的な学習結果のいずれも実証していません。これらのメモリ関連コンポーネントはカタログに文書化されていますが、Ai Flowiによる本番環境でのテストは行われていません。モデルを使う追加のやり取りには、ご自身のプロバイダーアカウントとAPIキーが必要です。プロバイダーの料金はワークフロープランとは別に発生します。

よくある誤りと関連用語

過去の発言をすべて追加すると、現在の指示が埋もれ、不要な機密データが持ち込まれる可能性があります。無差別に要約すると、訂正や出典の限定条件が失われることがあります。タスクに必要なコンテキストだけを記録し、出典に裏付けられた事実と、モデルが以前に行った推測を区別できるようにしてください。

「AIエージェントの状態」のページでは、明示的な進捗と完了の記録を説明しています。自律型エージェントは行動の権限に関わり、マルチエージェントシステムでは、各参加者が何を閲覧できるかという引き継ぎ時の判断も加わります。ユースケース一覧には既存のMemory Chatbotの基本パターンへのリンクがありますが、このページで新たな実行結果を実証するものではありません。

ワークフローの使用量

プラン:Goは年払いで月額USD8から(月払いUSD10)、Plusは月額USD16から(月払いUSD20)、Pro 100は月額USD80から(月払いUSD100)、Pro 200は月額USD160から(月払いUSD200)、Pro 500は月額USD400から(月払いUSD500)。毎月5,000~250,000 Flowi Tokensが含まれ、追加購入も可能です。ノード実行1回につき1トークン。サードパーティのAPIとモデルの利用料金は含まれません。