> ## Documentation Index
> Fetch the complete documentation index at: https://docs.therefrain.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 仕組み

> 3フェーズパイプライン（生成・実行・自動修復）の全体像を解説します。

## 概要

Refrain は、3フェーズのパイプラインでブラウザ操作を自動化します。

1. **生成** — AI が Web アプリを探索し、手順書を構築します。
2. **実行** — 手順書を決定論的に再生します。AI コストはゼロです。
3. **自動修復** — UI が変わったとき、AI が障害を診断し修正を提案します。

各フェーズは独立しています。一度生成すれば無制限に実行でき、自動修復は問題が発生したときだけ使います。

## フェーズ 1: 生成

`generate` コマンドは URL とゴールを受け取り、AI が Web アプリを探索して手順書を構築します。

<Steps>
  <Step title="AI がブラウザを開く">
    開始 URL に移動し、ページのスナップショットを取得します。
  </Step>

  <Step title="AI がページを探索">
    ゴールとページの状態に基づいて実行するアクション（クリック、入力、ナビゲーションなど）を決定します。各アクションはステップとして記録されます。
  </Step>

  <Step title="停滞検出">
    AI がループにはまったり進捗がなくなった場合、ユーザーにガイダンスを求めます。探索中いつでも手動で介入することもできます。
  </Step>

  <Step title="AI がステップをレビュー">
    ゴール達成後、AI が全記録ステップをレビューし、不要なステップを除去、リスクのあるアクションに承認フラグを付与します。
  </Step>

  <Step title="手順書を出力">
    全ステップ、セレクタ、変数、設定を含む構造化された手順書ファイルが出力されます。
  </Step>
</Steps>

## フェーズ 2: 実行

`execute` コマンドは生成された手順書を再生します。セレクタは決定論的に解決されるため、**再実行時に AI トークンは消費されません**（フォールバック時は除く）。

<Steps>
  <Step title="手順書を読み込み変数を解決">
    変数はシークレット、コンテキスト、環境変数、対話プロンプトから解決されます。
  </Step>

  <Step title="各ステップを実行">
    各ステップで[多層的なセレクタ解決](/ja/concepts/selector-resolution)を使い要素を特定し、アクション（クリック、入力、ナビゲーションなど）を実行します。
  </Step>

  <Step title="承認を処理">
    承認が必要とマークされたステップでは実行を一時停止し、CLI、Slack、Teams、または Discord での確認を待ちます。
  </Step>

  <Step title="結果をレポート">
    各ステップの成功/失敗を表示するサマリーが出力されます。スクリーンショットや通知もオプションで利用可能です。
  </Step>
</Steps>

## フェーズ 3: 自動修復

操作対象アプリの UI が変わってステップが失敗するようになったら、`--self-heal` で AI による診断を有効にします。

<Steps>
  <Step title="強化された実行">
    自動修復モードでは、アグレッシブなリトライ戦略、セレクタキャッシュ、Agent Fallback、Vision Fallback が自動的に有効になります。
  </Step>

  <Step title="エラー分類">
    各失敗が [6つのカテゴリ](/ja/concepts/error-classification)のいずれかに分類され、修復戦略の方向性が決まります。
  </Step>

  <Step title="AI による修正提案">
    AI が失敗ステップを分析し、2種類の提案を生成します：手順書修正（セレクタ変更、ステップ追加）とコンテキスト修正（ページ構造変更の記録）。
  </Step>

  <Step title="修正を適用">
    `fix-runbook` コマンドで AI の提案をレビューし、手順書に適用します。
  </Step>
</Steps>

## 主要な設計原則

* **再現性** — 同じ手順書は毎回同じ結果を生み出します。
* **再実行コストゼロ** — 決定論的な実行により、再実行時の AI トークンはゼロです。
* **ヒューマン・イン・ザ・ループ** — 承認ワークフローにより、リスクのある操作を人が確認できます。
* **自己維持** — UI が変わっても AI が手順書を自動メンテナンスします。

## 次のステップ

<CardGroup cols={2}>
  <Card title="手順書を生成する" icon="wand-magic-sparkles" href="/ja/guides/generate-runbook">
    手順書生成のステップバイステップガイド。
  </Card>

  <Card title="手順書を実行する" icon="play" href="/ja/guides/execute-runbook">
    生成した手順書の実行方法。
  </Card>

  <Card title="自動修復モード" icon="wrench" href="/ja/guides/self-heal">
    壊れた手順書を自動的に診断・修正。
  </Card>
</CardGroup>
