第4章 制御機能仕様
本章では、グローバルカスタムシステムの動作を制御する四つの機能について、各機能の目的、動作条件、動作仕様、および制約事項を定義する。
四つの制御機能は、それぞれ異なる制御領域を担当する。リンカーは階層間の経路制御、エンドールは経路の高速化、グローバルストッピングはシステム全体の状態制御、レンダラインは情報の可視化制御を担う。各機能は独立して動作可能であり、同時に複数の機能が稼働する場合もある。
| 制御機能 | 制御領域 | 担当する問い |
|---|---|---|
| リンカー | 経路制御 | どの順番で階層を辿るか |
| エンドール | 速度制御 | 中間を経由せず到達できるか |
| グローバルストッピング | 状態制御 | システムを一時的に離脱するか |
| レンダライン | 可視化制御 | ガイドラインは見えているか |
4.1 リンカー
リンカーは、階層間の接続経路を提供する機能である。上位階層から下位階層への接続経路であるアンダーリンカーと、下位階層から上位階層への接続経路であるトップリンカーの二つから構成される。
リンカーの目的は三つある。第一に、カスタムプロンプトの起動時に上位から下位へ指示を正確に伝達すること。第二に、カスタムプロンプトの停止時に下位から上位へ確実に復帰すること。第三に、階層を経由する過程で各階層の指示を順次適用し、処理の正確性を担保すること。
4.1.1 アンダーリンカー
アンダーリンカーは、上位階層から下位階層への接続経路である。
動作条件は、ユーザーまたはシステムの判定によって下位階層のカスタムプロンプトのロードが要求された場合に起動する。
動作仕様を以下に定義する。アンダーリンカーが起動すると、まず現在の階層のカスタムプロンプトの内容を確認し、処理に適用する。次に、ロード対象となる直下の階層への接続を確立する。接続が確立されると、下位階層のカスタムプロンプトをロードし、その内容を処理に適用する。ロード対象がさらに下位の階層を持つ場合、同様の手順を再帰的に繰り返す。各階層を経由する際、上位階層の指示と下位階層の指示に矛盾が検出された場合は、上位階層の指示を優先する。矛盾解決の詳細規則は第5章5.1.3で定義する。
経由順序は常に「グローバル→サブ→スモール」であり、階層の飛び越しは行わない。
| 項目 | 仕様 |
|---|---|
| 方向 | 上位→下位 |
| 経由順序 | グローバル→サブ→スモール(順次) |
| 階層飛び越し | 不可 |
| 矛盾検出時の優先 | 上位階層を優先 |
| 起動トリガー | 下位モジュールのロード要求 |
4.1.2 トップリンカー
トップリンカーは、下位階層から上位階層への接続経路である。
動作条件は、ロード済みの下位階層のカスタムプロンプトがアンロードされた場合、または下位階層での処理が完了した場合に起動する。
動作仕様を以下に定義する。トップリンカーが起動すると、まず現在の階層のカスタムプロンプトをアンロードする。アンロード時、当該カスタムプロンプトの状態(処理中の文脈情報等)は保持される。次に、直上の階層への接続を確立し、上位階層のカスタムプロンプトの文脈に復帰する。復帰先の上位階層がさらに上位への復帰を必要とする場合、同様の手順を再帰的に繰り返す。最終的な復帰先は、アンダーリンカーによる起動が開始された階層である。
経由順序は常に「スモール→サブ→グローバル」であり、アンダーリンカーと逆方向に同じ経路を辿る。
| 項目 | 仕様 |
|---|---|
| 方向 | 下位→上位 |
| 経由順序 | スモール→サブ→グローバル(順次) |
| 階層飛び越し | 不可 |
| 状態保持 | アンロード時に状態を保持 |
| 起動トリガー | 下位モジュールのアンロードまたは処理完了 |
4.1.3 リンカーの帰属情報
リンカーの動作を支えるために、全てのカスタムプロンプトは帰属情報を保持する。帰属情報とは、当該カスタムプロンプトが階層構造のどの位置に存在し、どの上位モジュールに帰属し、どの下位モジュールを持つかを示す情報である。
帰属情報は以下の三要素から構成される。
| 要素 | 定義 | 例(スモールカスタムプロンプトαの場合) |
|---|---|---|
| 自己識別子 | 当該カスタムプロンプト自身の識別情報 | スモールα |
| 親識別子 | 直上の階層のカスタムプロンプトの識別情報 | サブα |
| 子識別子群 | 直下の階層のカスタムプロンプトの識別情報の集合 | なし(最下位のため) |
グローバルカスタムプロンプトの親識別子は「なし」となる。最下位階層のカスタムプロンプトの子識別子群は空集合となる。この帰属情報により、リンカーは任意の階層から上位方向にも下位方向にも正確に経路を辿ることができる。
4.2 エンドール
エンドールは、始点と終点を固定軌道で直結し、中間階層を経由せずに超高速で出力に到達するバイパス機能である。
エンドールの目的は、処理内容が明確であり中間階層での段階的処理を必要としない場合に、応答速度を最大化することである。リンカーが正確性を優先する正規ルートであるのに対し、エンドールは速度を優先する高速ルートである。
4.2.1 動作条件
エンドールの起動には、以下の三つの条件が同時に満たされる必要がある。
第一の条件は、始点の確定である。処理の起点となる階層が明確に特定されていること。通常、始点はグローバルカスタムプロンプトである。
第二の条件は、終点の確定である。処理の到達先が明確に特定されていること。終点は出力そのものである場合もあれば、特定の階層のカスタムプロンプトである場合もある。
第三の条件は、中間処理の不要判定である。中間階層での段階的処理が不要であるとシステムまたはユーザーが判定していること。
これら三つの条件が同時に満たされた場合に、エンドールが起動する。
4.2.2 動作仕様
エンドールが起動すると、始点のカスタムプロンプトの内容を確認した上で、中間に存在する全ての階層をスキップし、終点に直接到達する。中間階層のカスタムプロンプトはロードされず、処理に適用されない。
エンドールによるバイパス中、中間階層の帰属情報は参照されるが、内容の適用は行われない。これにより、バイパス終了後にリンカーを用いた正規ルートへの復帰が可能となる。
| 項目 | 仕様 |
|---|---|
| 方向 | 始点→終点(直結) |
| グローバルの経由 | 常時適用(スキップ不可) |
| 中間階層の経由 | スキップ(ロードしない) |
| 中間階層の帰属情報 | 参照のみ(内容非適用) |
| 起動条件 | 始点確定+終点確定+中間処理不要の判定 |
| 終了後の動作 | リンカーによる正規ルートへの復帰が可能 |
4.2.3 エンドールの制約
エンドールの使用には以下の制約がある。
第一に、グローバルカスタムプロンプトの内容は、エンドール使用時であっても必ず適用される。グローバルカスタムプロンプトは全ての処理の基盤であり、これをスキップすることはできない。したがって、エンドールがスキップ可能な階層はサブカスタムプロンプトおよびスモールカスタムプロンプトに限定される。
第二に、エンドールは出力の高速化を目的とする機能であり、処理の正確性を保証するものではない。中間階層に含まれる指示が処理結果に影響を与える可能性がある場合は、エンドールではなくリンカーを使用すべきである。エンドールの使用判定は、システムの自動判定またはユーザーの明示的な指示による。
4.3 グローバルストッピング
グローバルストッピングは、グローバルカスタムシステム全体を一時停止し、プラットフォームの既存システムに非破壊的に移行する機能である。
グローバルストッピングの目的は、ユーザーがグローバルカスタムシステムを介さずにプラットフォーム本来の動作環境で対話を行いたい場合に、システムの削除や再構築を伴わない一時的な離脱手段を提供することである。
4.3.1 動作条件
グローバルストッピングは、ユーザーの明示的な指示によってのみ起動する。システムの自動判定による起動は行われない。これは、グローバルカスタムシステムの停止がユーザーの意図に反して行われることを防止するためである。
4.3.2 動作仕様
グローバルストッピングが起動すると、以下の手順で処理が行われる。
まず、現在ロードされている全てのカスタムプロンプト(グローバル、サブ、スモール)の状態を記録する。状態には、どのモジュールがロードされているか、各モジュールの処理文脈、リンカーの接続状態、エンドールの使用履歴が含まれる。
次に、全てのカスタムプロンプトを一括でアンロードする。アンロードにより、グローバルカスタムシステムは対話処理に対して一切の影響を与えなくなる。
アンロード完了後、対話処理はプラットフォームの既存システムのみによって行われる。この状態において、グローバルカスタムシステムの全データは保持されているが、動作は停止している。
4.3.3 復帰仕様
グローバルストッピングからの復帰は、ユーザーの明示的な指示によって行われる。
復帰が指示されると、停止時に記録された状態に基づいて、全てのカスタムプロンプトを停止前と同一の構成で再ロードする。リンカーの接続状態も復元され、停止前の動作環境が再現される。
| 項目 | 仕様 |
|---|---|
| 起動トリガー | ユーザーの明示的指示のみ |
| 自動起動 | 不可 |
| 停止時の動作 | 全モジュールの状態記録→一括アンロード |
| 停止中のデータ | 全て保持(非破壊) |
| 停止中の対話処理 | 既存システムのみ |
| 復帰トリガー | ユーザーの明示的指示 |
| 復帰時の動作 | 記録された状態に基づく一括再ロード |
4.3.4 グローバルストッピングの制約
グローバルストッピングには以下の制約がある。
第一に、停止中に行われた対話の文脈は、復帰後のグローバルカスタムシステムには引き継がれない。停止中の対話は既存システムの文脈であり、グローバルカスタムシステムの文脈とは独立している。
第二に、停止中にプラットフォーム側のガイドラインや設定が変更された場合、復帰後のグローバルカスタムシステムはその変更を自動的には検知しない。復帰後の初回処理において、プラットフォーム環境の確認を行うことを推奨する。
4.4 レンダライン
レンダラインは、プラットフォームのガイドラインをチャットインスタンスの横に常時描画し、AIとユーザーの双方に可視化し続ける機能である。
レンダラインの目的は、対話における透明性の確保である。ガイドラインの内容が可視化されることで、ユーザーはAIの応答が制限される条件を事前に把握でき、AIはガイドラインに基づく制限の根拠を明示的に参照できる。
4.4.1 動作条件
レンダラインは、グローバルカスタムシステムの稼働中、常時動作する。ユーザーによる明示的な非表示指示がない限り、レンダラインは有効状態を維持する。
4.4.2 動作仕様
レンダラインは、プラットフォームが保持するガイドラインの内容を取得し、チャットインスタンスのユーザーインターフェース上に常時描画する。描画位置はチャットインスタンスの側面領域を基本とし、対話の本文領域を圧迫しない配置とする。
描画されるガイドラインの内容は、プラットフォームが公開を許可する範囲に限定される。プラットフォームが非公開と定める内部ガイドラインについては、レンダラインの描画対象外とする。
ガイドラインの内容が更新された場合、レンダラインは更新を検知し、描画内容を自動的に反映する。更新の検知タイミングは、各対話ターンの開始時とする。
| 項目 | 仕様 |
|---|---|
| 動作タイミング | システム稼働中は常時 |
| 描画位置 | チャットインスタンス側面領域 |
| 描画対象 | プラットフォームが公開を許可するガイドライン |
| 更新検知 | 各対話ターン開始時 |
| 非表示切替 | ユーザーの明示的指示により可能 |
4.4.3 レンダラインの制約
レンダラインには以下の制約がある。
第一に、レンダラインが描画するのはガイドラインの内容のみであり、ガイドラインの変更や無効化を行う機能は持たない。レンダラインは読み取り専用の可視化機能である。
第二に、描画対象はプラットフォームが公開を許可する範囲に依存する。プラットフォームが全てのガイドラインを非公開と定める場合、レンダラインの描画内容は空となる。この場合、レンダラインは「ガイドラインが非公開である」旨を表示する。
第三に、レンダラインはグローバルカスタムシステムの機能であるが、グローバルストッピングによるシステム停止中も、ユーザーの選択により動作を継続できる。ガイドラインの可視化は、グローバルカスタムシステムの動作状態に関わらず有用であるためである。この場合、レンダラインのみがシステム停止中の例外的な稼働機能となる。