しくみ
LP では省いた、実際の道具立ての話です。 AI に何を渡していて、何を渡していないのか。 組んだものを走らせる前に、どうやって安全に確かめるのか。
前提
Kawarin の自動化は 1 つのファイルに収まっています。 AI はそのファイルを書き、画面を測り、保存した画面で試すことができます。 開いている Kawarin の画面を AI が直接操作することはありません — 出来上がったファイルを、あなたが開いて確かめてから走らせます。
頼む → AI がファイルを書く → 開いて見る → 保存画面で試す → 直す → 走らせる
守りは 2 枚あります。実画面ではなく保存しておいた画面を見せること、 そして入力を送る関数そのものを外すこと。 外へ触る口はクリック・キー入力・文字入力・音・ウィンドウ前面化の 5 つしかないので、 そこを塞げば数え漏らしが起きません。 待ち時間は仮想時計で進めるため、判定の回数と分岐は本番と同じまま、実時間だけ使いません。
道具が返すのはファイルのパスと数字だけで、撮った画面そのものは送りません。
撮影先の captures/ は保存先に残るだけです。
AI に画面を見せたいときは、あなたが明示的に読ませることになります。
しきい値
画像検出がうまくいかないとき、しきい値を勘で下げると、
当たらない原因を残したまま誤検出だけが増えます。
probe がしきい値未満でも一致度を返すのは、
「ある画面」と「ない画面」の両側を測って間を取るためです。
目印 ◀ の一致度分布(実測)
片側だけ見て決めると、この取り違えに気付けません。 「本物の最小」と「偽物の最大」を並べて、間を取るのが確実です。
道具
いずれも読める文章で返します。次に決めたいのは「しきい値をいくつにするか」なので、 生の JSON より材料を並べた文章の方が早いためです。
| 道具 | 返すもの |
|---|---|
node_defs | 使えるノード・ポート・設定値の一覧。AI が語彙を推測せずに済む |
dry_run | 保存画面にグラフを通し、押すつもりだった座標とログを返す |
capture | 画面を撮って保存。対象が隠れていれば警告する |
cut_template | 撮った画面から目印を切り出す |
probe | 一致度と座標。しきい値未満でも数字を返す |
probe_all | 目印 × 画面の総当たり。しきい値決めの分布取り |
list_windows | 開いている窓の名前と位置 |
probe / probe_all は画像検出を使うため Pro が要ります。
それ以外は無料版でも動きます。
限界
capture は隠れている割合を見て警告を出します。