> For the complete documentation index, see [llms.txt](https://help.genesis.autify.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.genesis.autify.com/features-ja/workflow/workflow-creation.md).

# ワークフローの作成・編集

本記事では、Autify Genesis のワークフロー機能について説明します。ワークフローを使用すると、AI エージェントを組み合わせて QA 業務を自動化できます。

## ワークフロー一覧の確認と管理

ワークフロー一覧では、ワークフローの名前・説明・ラベル・実行回数・最終実行日時とステータスを一覧で確認できます。ワークスペースを開くと、最初に **ワークフロー** タブが表示されます。

各ワークフローの行から以下の操作を実行できます。

| 操作    | 内容                            |
| ----- | ----------------------------- |
| 実行    | ワークフローを実行する                   |
| 複製    | 既存のワークフローをコピーして新しいワークフローを作成する |
| アーカイブ | 不要になったワークフローを一覧から非表示にする       |

{% hint style="info" %}
アーカイブしたワークフローは削除されません。実行履歴も保持されます。
{% endhint %}

{% hint style="warning" %}
プリセットワークフロー（テンプレート）はアーカイブできません。カスタマイズするには **複製** してください。
{% endhint %}

ワークスペースにまだワークフローがない場合、一覧にはテンプレートギャラリーと **ゼロから作成** カードが表示されます。ギャラリーには、バグトリアージ、探索的テストチャーター、回帰テスト計画、欠陥分析、リリースノート作成、テスト計画作成などのスターターテンプレートが並びます。

### ワークフローを検索する

一覧画面上部の検索バーにキーワードを入力すると、ワークフローの名前や説明などで絞り込みができます。**ラベル** から同じラベルが付いたワークフローだけに絞り込むこともできます。

## ワークフローを作成する

ワークフローは、ゼロから作成する方法、YAML ファイルまたは `.genesisworkflow` バンドルからインポートする方法、テンプレートから作成する方法に対応しています。

### 新しいワークフローを作成する

1. ワークフロー一覧画面右上の **新規ワークフロー** をクリックします。
2. 作成方法を選択します。

| 作成方法       | 内容                                                      |
| ---------- | ------------------------------------------------------- |
| ゼロから作成     | 空のワークフローを作成し、ブロックを追加しながら構築します                           |
| インポート      | YAML ファイルまたは `.genesisworkflow` バンドルからワークフロー定義をインポートします |
| テンプレートから開始 | 既存のテンプレートを複製して作成します                                     |

<figure><img src="/files/5VDTGNxnOOX93XC2LJHn" alt="ワークフローの作成方法のスクリーンショット"><figcaption><p>ワークフローの作成方法</p></figcaption></figure>

{% hint style="info" %}
ワークフロー作成ダイアログのプロンプト欄にやりたいことを入力すると、新しく開いたワークフローの **AIビルダー** に自動入力され、AI が空のキャンバスからワークフローの構築を開始します。空のワークフローには既定の名前も自動で付き、あとから自由に変更できます。
{% endhint %}

チャットでワークフロー作成アクションが利用できる場合は、ワークフロー一覧を開かなくてもチャットから同じ作成フローを始められます。アクションを選ぶと新しいワークフローが開くので、そのまま名前の確認や編集を通常のエディターで続けられます。

### ファイルからインポートする

1. **新規ワークフロー** をクリックします。
2. **インポート** をクリックします。
3. `.yaml`、`.yml`、または `.genesisworkflow` ファイルを選択します。ファイルをドラッグ&ドロップして読み込むこともできます。

`.genesisworkflow` バンドルをインポートすると、ワークフロー定義だけでなく、ワークフロー内で参照しているファイルも一緒に移行できます。

## ワークフローを編集する

ワークフロー名をクリックするとエディター画面が開きます。エディターはヘッダー、中央のキャンバス、右側の **AIビルダー** サイドパネルで構成されています。ブロックの設定はキャンバス上にフローティングパネルで開くため、キャンバスを見たまま編集できます。

<figure><img src="/files/O3uz86AnjYuSxPZNIbM6" alt="ワークフローエディターの画面構成のスクリーンショット"><figcaption><p>ワークフローエディターの画面構成</p></figcaption></figure>

### ワークフローの詳細を変更する

ヘッダーのワークフロー名横の編集アイコンをクリックすると **ワークフローの詳細** ダイアログが開きます。

| 項目   | 内容                             |
| ---- | ------------------------------ |
| 名前   | ワークフローの表示名                     |
| 説明   | ワークフローの説明文                     |
| アイコン | 一覧に表示されるアイコン                   |
| ラベル  | ワークフローを整理・検索しやすくするラベル。複数設定できます |

### キャンバスを操作する

キャンバス下のツールバーから以下の操作を実行できます。

| 操作          | 内容                         |
| ----------- | -------------------------- |
| ブロックを追加     | ブロック選択パネルを開く               |
| プレビュー       | ワークフロー全体をプレビュー実行する         |
| ズームアウト      | キャンバスを縮小する                 |
| ズームイン       | キャンバスを拡大する                 |
| キャンバスを中央に配置 | すべてのブロックが画面内に収まるように表示を調整する |
| 元に戻す        | 直前の操作を取り消す                 |
| やり直す        | 取り消した操作をやり直す               |

### AIビルダーを使う

右側の **AIビルダー** に、作成または変更したい内容を自然言語で入力すると、AI がワークフローを自動で構築または編集します。

{% hint style="success" %}
複数のブロックを選択した状態で入力すると、選択中のブロックに対して操作を絞り込めます。
{% endhint %}

<figure><img src="/files/tJUWKFDR3E5TzOh4a1yD" alt="AIビルダーのスクリーンショット"><figcaption><p>AIビルダー</p></figcaption></figure>

### ブロックを追加する

ワークフローはブロックを連結して構築します。キャンバス上の **ブロックを追加** をクリックするとブロック選択パネルが開きます。

追加できるブロックの種類は以下のとおりです。

| ブロックタイプ    | 内容                                                                               |
| ---------- | -------------------------------------------------------------------------------- |
| AIエージェント   | LLM を使用してテキストや構造化された出力を生成します。 **AIエージェントテンプレート** から、用途に合った AI エージェントを追加することもできます |
| 条件分岐       | 条件を使用して実行を分岐します                                                                  |
| ワークフロー呼び出し | 別のワークフローをステップとして実行します                                                            |

<figure><img src="/files/deCR4rLlTyww3cVFTApv" alt="ブロック選択パネルのスクリーンショット"><figcaption><p>ブロック選択パネル</p></figcaption></figure>

AI エージェントブロックの設定方法については、[AIエージェントブロック](/features-ja/workflow/ai-agent-block.md) を参照してください。

接続した上流ブロックの出力は、AI エージェントブロックに自動でコンテキストとして渡されます。ユーザー入力や明示的に設定した入力を参照したい場合は、`{{変数名}}` を使用します。

ワークフローの途中にブロックを挿入するには、挿入したい箇所の **ブロックを追加** をクリックします。

ブロックの設定を編集するときは、ブロックを選択してノードまたは選択状態から **ブロック設定** をクリックします。設定パネルはキャンバス上に開きます。

### 条件分岐ブロックを設定する

| 設定項目     | 内容                                                 |
| -------- | -------------------------------------------------- |
| 名前       | ブロックの表示名                                           |
| 説明       | ブロックの説明文                                           |
| 条件モード    | AI（LLM で評価）または式（JQ 式で評価）を選択します                     |
| 条件プロンプト  | AI モードの場合に、AI が true または false で評価する条件を記述します       |
| 条件モデル    | 条件分岐ブロックで true または false を判定するために使用する AI モデルを選択します |
| 推論の深さ    | 対応する推論モデルで、AI モードの内部的な推論量を調整します                    |
| JQ 式     | 式モードの場合に、入力に対して true または false を評価する JQ 式を入力します    |
| Thenブロック | 条件が true の場合に実行するブロックを指定します                        |
| Elseブロック | 条件が false の場合に実行するブロックを指定します（任意）                   |
| 最大ループ回数  | 分岐先が上流ブロックの場合に、代替分岐へ切り替えるまでの最大繰り返し回数を設定します         |

条件分岐ブロックでは、AI モードで接続した上流ブロックの出力が自動でコンテキストとして渡されます。式モードでは、上流ブロックが 1 つなら `.input`、複数ある場合は各上流ブロックの ID をもとにした `.review_result` のような変数名で出力を参照できます。ブロック ID に `-` や `.` を含む場合は `_` に置き換えて扱われます。

選択したモデルが対応している場合は、 **推論の深さ** を調整して応答速度と推論の丁寧さのバランスを選べます。 **デフォルト** のままにすると、モデルの推奨設定が使われます。

**JQ 式について**

JQ 式は、ブロックの出力（JSON 形式のデータ）から値を取り出したり、条件を判定したりするための記述方式です。先頭の `.` は「このデータの」を意味し、その後ろにフィールド名を続けることで特定の値を参照できます。

| 書き方の例             | 内容                                |
| ----------------- | --------------------------------- |
| `.status == "完了"` | status フィールドの値が「完了」と一致するかどうかを判定する |
| `.count > 0`      | count フィールドの値が 0 より大きいかどうかを判定する   |
| \`.items          | length > 0\`                      |
| `.result != null` | result フィールドが空ではないかどうかを判定する       |

{% hint style="warning" %}
式モードで使用する JQ 式は、必ず true または false のどちらかを返す内容にしてください。
{% endhint %}

### ワークフロー呼び出しブロックを設定する

ワークフロー呼び出しブロックを選択し、ブロック設定パネルの **詳細** タブで以下を設定します。

| 設定項目   | 内容                         |
| ------ | -------------------------- |
| 名前     | ブロックの表示名                   |
| 説明     | ブロックの説明                    |
| ワークフロー | 子ワークフローとして実行するワークフローを選択します |

{% hint style="warning" %}
子ワークフローとして選択したワークフローがアーカイブまたは削除された場合、このブロックに検証エラーが表示されます。別のワークフローを選択し直してください。
{% endhint %}

子ワークフローにユーザー入力がある場合は、同じ **詳細** タブの **入力** で呼び出しごとの値も設定できます。各入力には子ワークフローに保存されている値が最初から入り、そのままなら保存値が使われます。この呼び出しだけ別の値を使いたい場合は上書きし、元に戻したい場合は **ワークフローの保存値に戻す** を選択してください。

### ユーザー入力を設定する

ユーザー入力は、ワークフロー実行時にユーザーが都度変更できる動的な値です。

1. ヘッダーの **ユーザー入力** をクリックします。
2. **ユーザー入力を追加** をクリックして入力項目を追加します。
3. 各入力項目のタイプ（テキスト / 数値 / ファイル）を設定します。

追加したユーザー入力は、プロンプト内で `{{変数名}}` の形式で参照できます。

<figure><img src="/files/6KCafyBLn03ySxPj8r8T" alt="ユーザー入力の設定のスクリーンショット"><figcaption><p>ユーザー入力の設定</p></figcaption></figure>

### ブロックを操作する

キャンバス上でブロックを右クリックすると、以下の操作を実行できます。複数のブロックを選択した状態で操作することもできます。

ブロックを右クリックすると、そのブロックが選択された状態でメニューが開きます。メニューの先頭には、選択中のブロック名、または複数選択時の選択数が表示されます。何もないキャンバス部分を右クリックすると選択が解除され、 **貼り付け** などのキャンバス操作を開けます。

| 操作        | 内容                           |
| --------- | ---------------------------- |
| コピー       | 選択したブロックをクリップボードにコピーする       |
| 切り取り      | 選択したブロックを切り取る                |
| 貼り付け      | コピーまたは切り取りしたブロックをキャンバスに貼り付ける |
| 削除        | 選択したブロックを削除する                |
| 新しいワークフロー | 選択したブロックを新しいワークフローとして分割する    |

{% hint style="warning" %}
ワークフローには少なくとも 1 つのブロックが必要です。最後の 1 つのブロックを切り取ることはできません。
{% endhint %}

### ワークフローを保存する

変更内容はヘッダーの **保存** をクリックすると保存されます。未保存の変更がある場合、画面を離れる際にダイアログが表示され、保存するかどうかを選択できます。

{% hint style="info" %}
検証エラーがある状態でも保存は可能です。ただし、エラーをすべて修正するまでワークフローを実行することはできません。
{% endhint %}

### ワークフローをエクスポートする

エディター右上の **その他のアクション** から **エクスポート** をクリックすると、ワークフローを `.genesisworkflow` バンドルとしてダウンロードできます。プロンプト内で参照しているファイルがある場合は、それらのファイルもワークフロー定義と一緒に含まれます。

### ワークフロートリガーを設定する

ワークフロートリガーは、手動で実行ボタンを押すことなく、外部システム（API）、定期スケジュール、GitHub のイベント（push、Pull Request など）からワークフローを自動実行するための設定です。

詳細については、[ワークフローの実行](https://help.genesis.autify.com/features-ja/workflow/pages/CDGuFs0Dpr5AdGaNQqTc#トリガーの設定) を参照してください。

## レビュー機能

ブロック設定パネルの **レビュー必須** を有効にすると、そのブロックの実行後に処理が一時停止し、人によるレビューを待ちます。レビュアーは以下の操作を選択できます。

{% hint style="info" %}
レビュー必須は AI エージェントブロックで利用できます。
{% endhint %}

| 操作    | 内容                          |
| ----- | --------------------------- |
| 承認    | 出力をそのまま次のブロックへ渡して処理を再開する    |
| 変更を承認 | 出力を修正したうえで次のブロックへ渡して処理を再開する |
| 却下    | ワークフローの実行を停止する              |

{% hint style="info" %}
レビュー待ちの実行は、承認または却下の操作が行われるまで処理が止まります。
{% endhint %}

## トラブルシューティング

### 検証エラー

| 状況                            | 原因                             | 対処方法                                     |
| ----------------------------- | ------------------------------ | ---------------------------------------- |
| ワークフローを実行できない                 | 検証エラーが残っている                    | ヘッダーに表示されるエラー件数をクリックしてエラー内容を確認し、修正してください |
| 「循環依存関係を検出しました」               | ブロックが自身に依存するよう接続されている          | ブロックの接続を見直し、循環しないよう修正してください              |
| 「存在しないブロックに依存しています」           | 参照先のブロックが削除されている               | 入力の参照先を再設定してください                         |
| 「条件分岐ブロックの Then／Else ブロックが同じ」 | Then と Else に同じブロックが指定されている    | 異なるブロックを指定してください                         |
| 「子ワークフローを選択してください」            | ワークフロー呼び出しブロックにワークフローが設定されていない | ブロック設定パネルでワークフローを選択してください                |
| 「選択した子ワークフローは利用できなくなりました」     | 設定したワークフローがアーカイブまたは削除されている     | 別のワークフローを選択し直してください                      |

### モデルエラー

| 状況                | 原因                         | 対処方法           |
| ----------------- | -------------------------- | -------------- |
| 「選択中のモデルは利用できません」 | 選択したモデルが有効なプロバイダーで提供されていない | 別のモデルを選択してください |
