← トップページ(目次)に戻る

3. ユーザー運用フロー

ユーザーがシステムを利用して自動化を実現する際のエンドツーエンドのフローです。

Phase 1
記録
ユーザー操作の学習 (Data Collection)
「解析モード」を開始し、通常通り業務操作を実施。アクション(クリック・キー入力)、スクリーンショット、座標、操作間隔がバックグラウンドで記録されます。
▼
Phase 2
解析・生成
マクロコードのAI生成 (Intelligence)
YOLO/OCRにより画面が構造化され、交差面積率(IoA)に基づく推論誤差を吸収した階層ツリーとして統合されます。ユーザーが確認後、「生成」を実行するとローカル実行用コードが出力されます。
▼
Phase 3
実行・最速化
自動追従と最速実行 (Execution)
生成したマクロを実行。記録時の操作スピードに縛られず、200ms周期の即時ポーリングにより、画面遷移完了後、最速で次のステップへ自動進行します。
▼
Phase 4
検証・修復
異常時の自律対応 (Recovery)
タイムアウト発生時、自動で修復フェーズへ移行します。座標のズレは自動補正され、UI変更時はAIがコードを動的再生成して処理を継続します。

3.1. テキスト入力の探索と確定文字抽出プロセス

マクロ記録および実行時における、入力中テキストフィールドの動的探索と、IME変換状態を考慮した確定文字の抽出プロセスは以下の通り進行します。

Step 1
検知・生成
入力状態の検知と検索文字列の生成 (Input Listener & Converter)
src/core/recorder/input_listener.py がキー入力を監視し、タイピングバッファを構築します[cite: 6]。この際、src/core/recorder/ime_detector.py のWindows APIを用いて現在のIME状態(全角/半角)を判定します[cite: 5, 6]。IMEが有効な場合は、src/core/recorder/romaji_converter.py によりローマ字バッファをひらがなに変換し、OCR用の検索文字列を生成します[cite: 6, 10]。
▼
Step 2
探索・取得
テキストフィールドの探索とキャプチャ (Field Discovery)
タイピング中に text_field_search イベントが発火すると、非同期での画面変化の取りこぼしを防ぐため、即座に同期で画面キャプチャを取得します[cite: 6]。取得した画像に対し、CVおよびOCRエンジンを適用し、生成した検索文字列に合致するテキストフィールドの領域(バウンディングボックス)を特定・クロップします。
▼
Step 3
確定・記録
確定文字の抽出とログ保存 (Event Processor)
IMEの変換確定時に text_candidate_confirm イベントを発火し、バッファをフラッシュします[cite: 6]。src/core/recorder/event_processor.py および src/core/recorder/state.py は、後段の変数化処理を阻害しないよう、探索用の内部イベント(text_field_search, text_candidate_confirm)を実際のログから除外します[cite: 4, 12]。最終的に確定したキー入力操作のみを、IMEのアクティブ状態フラグとともにシステムに記録します[cite: 4]。

4. システム構成と自己修復フロー(アーキテクチャ図)

【図1】 システムモジュール連携フロー
A. データ収集
・Event Logger
・Screen Capturer
・Context Manager
➔
B. 画像解析
・YOLO Engine
・OCR Engine
・座標マッピング
➔
C. 生成コア
・Log Integrator
・階層ツリー構築 (IoA判定)
・Code Generator
➔
D. 実行・検証
・ローカル実行
・多段階検証
・自律修復
【図2】 4段階・自己修復意思決定ツリー
マクロ実行 & 待機(ポーリング)
⬇
Stage 1: 完全一致検証 (Image Diff)
➔
OK: 次のStepへ
⬇
NG (画像差分が閾値超過)
Stage 2: YOLO/OCR 軽微ズレ補正
➔
OK: 座標上書き & 次へ
⬇
NG (対象UI要素が見つからない)
Stage 3: AI構成変化 動的再生成
➔
OK: コード再生成 & 再試行
⬇
NG (目的の画面・コンテキストにいない)
Stage 4: ワークフロー完全逸脱判定
➔
強制終了 (作り直し推奨)