Glenelg開発メモ/チャットコマンドと応用

2014-09-16 (火) 20:37:27
お名前:

Glenelgの機能についてのメモ。
自分のための覚書でもあり、利用者のための豆知識でもあり、他AI開発者のための参考情報でもあり。

Glenelg は、冬物語の人がライブラリを提供している チャットコマンドという仕組みをサポートしています。
どんなものかというと、ROクライアント上で /savechat することで保存される チャットログを解析し、そこにある言葉を『命令』として処理する仕組み。
例えばチャット窓で『回復!』と発言して /savechat すると、 バニルがカオシックベネディクションを唱える、というような感じ。

(ショートカットによる簡易化はある程度可能ですが) 『発言→savechat』という入力の手間がかかる分、 従来のALT+右クリックなどに比べるとやや手間ですが。
それでも、ROにおける限られた『ホムAIへの指示手段』に対する 大きなメリットをもたらすものです。

で、実はこれ、ちょっとトリッキーな要素が含まれるもの、といえます。

この機能の出発点は「RO にある savechat によって生成されたテキストファイルを解析」ですが。
テキストファイルをどのアプリが作ったか、なんてのはAIからは判断できません。
つまり、もし外部アプリが『適切にテキストを作成できれば』、 ROクライアント外からホムに対してチャットコマンドを発行できることになります。
例えば前述の『回復!』発言後 savechatでカオシックの仕組みがあるなら。
外部から『回復!』を含むテキストを生成することができれば、 ROでの操作一切なしで、ホムにカオシックを使わせることができる。

もちろんホムAI上に記載した、ホムAIでできる範囲に限られますし。
ROクライアント上で取得した情報を外部プログラムで解析判定することは 課題も大きいので、完全に外部でAIを動かすことは厳しそうですが。

# 論理的には簡単ですが、リアルタイム性の課題がある。

# PC/記憶装置負荷とか、ROクライアントと外部アプリの同期とか。

とりあえず Glenelgでは、 専用の外部アプリ GlenelgWatchとの連携用に 使用するようにしています。
GlenelgWatchでiniファイル書き換え
→ GlenelgWatchからチャットコマンドで『iniファイル再読み込み』指示
→ AIがチャットコマンド解釈して、iniファイル読み込み。
・・・という感じ。


参考。

http://silica.seesaa.net/article/113055415.html