AI に送られるコンテキストには何が入りますか?
AIについて
コンテキストとは、Questsmith で次の行動を生成する際に考慮される、AI 言語モデルへ送信されるデータのことです。
Questsmith のコンテキストは多くの要素で構成されており、この説明では各 AI 呼び出しでそれらがどのように組み合わされるかを解説します。
冒険内のコンテキストが、Plot Essentials、Story Cards、その他の入力をすべて収めるのに足りない場合、一部は自動的に切り詰められるか除外されます。
コンテキストは 2 つの区分で構成されます
コンテキストが上限を超える場合、Questsmith は Required と Dynamic の 2 区分を使用します。
Required 要素には、Instructions、Plot Essentials、Story Summary、Author's Note、スクリプト用 Front Memory、そして最後に行われた Last Action(最後の行動が Continue action の場合は直前の AI 出力)が含まれます。基本的には、Required 要素が存在する場合は可能な限り全文を含める方針です。
Required 要素の合計がコンテキストサイズの 70% を超える場合、最重要セクションから先に含め、残りは 70% のトークン上限に収まるように切り詰めるか除外します。Front Memory と Last Action は常に全文が含まれます。上限に達するまで、優先順位に従って Author's Note、Plot Essentials、AI Instructions、Story Summary を含めます。あるセクションが残りトークンに収まらない場合は末尾を切り詰めて収めます。優先度の低い要素は含まれません。
Dynamic 要素には、Story Cards、Memory Bank、Story History(過去の行動)が含まれます。こちらはより柔軟なルールで扱われます。
Dynamic 要素は、Required 要素の後に残ったトークンを使って埋められます。残りトークンの約 25% は一致した Story Cards、約 50% は History、Memory Bank が無効な場合は History に最大 75%、そして約 25% は Memory Bank に割り当てられます。
Story Cards は、トリガーがどれだけ最近・どれだけ頻繁に使われたかに基づいて含められます。これらの基準で並べ替えて優先順位を付け、利用可能な領域に収まるだけ含めます。
システムが履歴を優先する方法
一致を評価する際、トリガー検出では少なくとも 4 件の行動を対象にします。ただし Story Cards に 500 トークン超の空きがある場合は、利用可能トークン数を 100 で割った件数を使います。たとえば 900 トークンの空きがあれば、直近 9 件の行動をトリガー照合に使います。含まれる Story Cards の数は、一致の関連性と各 Story Card の長さに依存します。
私たちは冒険の履歴をできるだけ多く使うようにしています。最新の行動(これは常に含まれます)から始め、利用可能な領域が埋まるか履歴全体を含め終えるまで、1 件ずつ過去の行動をコンテキストに追加します。一般的には、これは Required 要素の後に利用可能なトークンの約 50% で、Memory Bank が無効な場合は 75% です。
その後 Memory Bank は、History の後に残ったトークンを使います。通常は Required 要素を含めた後に残るトークンの約 25% です。Memory Bank は最新の行動との関連性でランク付けされた記憶を取得し、利用可能トークン内で収まる限り一致した記憶を追加します。