エージェント
メモリとチャット履歴
AIエージェントが記憶する内容を制御する方法: 会話内のチャット履歴と、会話をまたぐメモリについて説明します。
エージェントが記憶できる方法は2つあります。チャット履歴は、現在の会話のうちエージェントが見ることのできる部分です。メモリは、会話をまたいで書き込みと読み取りができるノートの保管場所です。これらは別々の設定であり、どちらか一方だけを使うことも、両方を使うことも、どちらも使わないこともできます。
チャット履歴#
チャット履歴は、新しい質問それぞれと一緒にエージェントが受け取る、会話内の過去のメッセージの数を決定します。これがないと、エージェントはどのメッセージも最初のメッセージであるかのように回答します。
これは詳細設定タブのチャット履歴セクションにあります。セクション見出しのスイッチでオンまたはオフに切り替えます。新しいエージェントではオンになっています。セクション見出しには設定の概要が表示され、たとえば “Last 10 messages · 8000 tokens” のようになります。
スイッチをオンにすると、次の項目を設定できます:
- 履歴メッセージ数。 含める直近のメッセージ数。デフォルトは10で、1〜50の範囲から選択できます。
- 履歴の最大トークン数。 履歴から送信するテキストの最大量。デフォルトは8000で、100〜8000の範囲を100刻みで選択できます。
- メッセージタイプ。 どの種類のメッセージを対象にするか: ユーザーメッセージ、AIメッセージ、ツール呼び出し。デフォルトでは、エージェントはユーザーメッセージとAIメッセージを認識します。
履歴が長いほどエージェントはより多くのコンテキストを得られますが、同時に、メッセージごとにモデルへ送信されるテキストも増えることを意味します。
メモリ#
メモリを使うと、エージェントは1つの会話を超えて情報を保持できます。たとえば、顧客の好みや学習した事実などです。新しいエージェントではオフになっています。
これは環境設定タブのメモリセクションにあります。セクション見出しのスイッチをオンにしてから、次の項目を設定します:
- メモリカテゴリ。 エージェントが読み書きするメモリエントリのグループ。必ず1つ選択する必要があります。メモリがオンでカテゴリが選択されていない間、ビルダーは “Pick a category, or turn Memory off. The agent refuses to run while Memory is on with none picked.” と警告します。カテゴリはメモリで作成および管理します。
- アクセスモード。 読み取り専用では、エージェントはメモリを検索できます。読み取り/書き込みでは、エントリの追加と更新もできます。
- メモリ読み取りプロンプト。 読み取りツールをどのように、いつ使用するかをエージェントに指示する命令文。
- メモリ書き込みプロンプト。 書き込みツールをどのように、いつ使用するかについての命令文。読み取り/書き込みモードで重要になります。
- フロー入力のオフロード。 オンにすると、実行の入力が保存され、エージェントは後で
get_offloaded_memoryという名前のツールでそれを取得できます。デフォルトではオフです。
2つのプロンプトは、ほとんどのエージェントで機能するデフォルト値から始まります。エージェントが書き込みすぎたり、少なすぎたり、誤った内容を書き込んだりする場合は編集してください。
メモリはカテゴリに属します
エージェントは、選択したカテゴリを通じてエントリを保存および取得します。同じカテゴリを使用するエージェントは同じメモリで動作するため、2つのエージェントでノートを共有すべきでない場合は別々のカテゴリを使用してください。
どちらを使うべきか#
| 目的 | 使用する機能 |
|---|---|
| エージェントにやり取りのある会話を追わせたい | チャット履歴 |
| エージェントに昨日の会話の内容を覚えさせたい | メモリ |
| ドキュメントに基づく回答を得たい | 検索ツール。エージェントツールを参照 |
問題が発生した場合#
- メモリをオンにした後にエージェントが応答しなくなった場合は、カテゴリが選択されていることを確認してください。
- 2つ前のメッセージで言った内容を忘れる場合は、チャット履歴スイッチがオンで、ユーザーメッセージが選択されていることを確認してください。
- メモリに何も書き込まない場合は、アクセスモードが読み取り/書き込みになっていることを確認してください。