# ウィザードで実行を開始する

> タスクからコントラクトチェックまで、送信ウィザードの各ステップ。

送信ウィザードは、実行を設定して開始します。ウィザードには **タスク**、**入力**、**オプティマイザー**、**メトリクスと実行** の 4 つのステップがあります。各ステップには 1 つ以上の画面があります。このガイドでは、タスクからコントラクトチェック、実行の開始まで、各画面を説明します。

> [!NOTE]
> ウィザードに表示される設定の量は、経験レベル（**ガイド付き**、**標準**、**エキスパート**）によって異なります。既定はガイド付きです。レベルは **設定 → アカウント** の **表示する内容の量** で変更します。ガイド付きレベルでは、一部のラベルがよりシンプルになります。このガイドでは標準とエキスパートのラベルを使い、ガイド付きのラベルが異なる場合は括弧内に示します。

## ステップ 1: タスク

### 何を最適化しますか？

**タスクインタビュー** のチャットで、アシスタントにタスクを説明します。アシスタントは、次の 2 つのフィールドを書いてくれます。

- **目的**（ガイド付き: **目標**）: 最適化されたアーティファクトがうまくこなすべきこと。
- **背景**（ガイド付き: **補足情報**）: 文脈、制約、良い結果とはどのようなものか。

どちらのフィールドも編集できます。アシスタントがあなたの編集を上書きすることはありません。

### 最適化されるもの

**アーティファクトの種類** を選択します。

| アーティファクトの種類 | 変更される内容                                         |
| ---------------------- | ------------------------------------------------------ |
| プロンプト             | 言語モデルに送られる指示                               |
| コード                 | プログラムのソース                                     |
| DSPy プログラム        | DSPy モジュールの predictor の指示文                   |
| テキスト               | その他のテキスト（ドキュメントやテンプレートなど）     |

次に、**開始バージョン**（ガイド付き: **出発点**）を指定します。現在のバージョンを貼り付けるか、アシスタントに下書きを書かせます。

### リポジトリを最適化する

リポジトリ内のコードを最適化することもできます。次のフィールドを設定します。

- **リポジトリ**: リポジトリを選ぶか、`owner/name` の形式で入力します。
- **コミット**: 40 文字の SHA。空のままにすると、ブランチの最新コミットを使います。
- **オプティマイザーが変更できるパス**: 1 行に 1 つのファイルまたはフォルダー。ドットはリポジトリ全体を意味します。
- **セットアップコマンド**: 採点の前に、新しくチェックアウトするたびに実行されます。空のままにすると、Skynet がコマンドを見つけます。

## ステップ 2: 入力

### データ

実行のケースを追加します。次のことができます。

- CSV、JSON、または Excel ファイルをアップロードする。
- ライブラリからデータセットを選ぶ。

[データセットと分割](/docs/ja/concepts/datasets) と [データセットを準備する](/docs/ja/guides/datasets) をお読みください。

### データの読み取り方

アシスタントがデータを読み取り、使い方を提案します。その選択を確認してください。

- 各列を、入力、期待される出力、または無視するものとしてマークします。
- 出力列がない場合、Skynet は最初の行を 1 つの入力として使います。
- 学習・検証・テストのセットへの分割を設定します。分割の合計は 1 である必要があります。

> [!WARNING]
> **入力** ステップに問題がある間は、後のステップを開けません。ウィザードが示す問題を修正してから続行してください。

## ステップ 3: オプティマイザー

標準レベルでは、このステップには 1 つの画面があります。オプティマイザー、予算、および必要に応じてモデルが表示されます。ガイド付きとエキスパートのレベルでは、このステップには **オプティマイザー**、**モデル**、**予算** の 3 つの画面があります。

### オプティマイザー

ウィザードには、タスクと入力に合うオプティマイザーだけが表示されます。**Auto** があらかじめ選択されています。必要に応じて、別のオプティマイザーを選択してください。[エンジン](/docs/ja/concepts/engines) と [最適化の仕組み](/docs/ja/concepts/optimization) をお読みください。

### モデル

- **タスクモデル**: 実行コードが呼び出すモデル。実行コードがモデルを呼び出さない場合は空のままにします。DSPy プログラムにはタスクモデルが必要です。
- **リフレクションモデル**: スコアとフィードバックを読み、次の候補を書くモデル。コーディングエージェント型のオプティマイザーでは、これがエージェントのモデルになります。

### 予算

実行が試行を続けられる長さと、支出できる金額を設定します。

- **最大スコアラー実行回数**（ガイド付き: **最大試行回数**）: Skynet が採点する候補の最大数。オプティマイザーによっては最小数が必要です。
- **停止スコア**（ガイド付き: **スコアがこの値に達したら早めに停止**）: バージョンがこのスコアに達すると、実行が停止します。
- **最大反復回数**（ガイド付き: **最大ラウンド数**）: 対応するオプティマイザーで表示されます。
- **支出上限**: 実行が支出できる最大額。既定値は $5、または **開始に必要な額** のほうが大きい場合はその金額です。**上限なし** を選ぶこともできます。

上限または残高が開始に必要な金額を下回っている場合、ウィザードでは先に進めません。[予算と請求](/docs/ja/concepts/billing) をお読みください。

## ステップ 4: メトリクスと実行

### コードとメトリクス

2 つのファイルを書きます。

- `run.py`: 1 つのケースでアーティファクトを実行する実行コード。
- `metric.py`: 出力を採点し、フィードバックを書くメトリクス。

**コーディングエージェント** は、どのファイルでも書いたり変更したりできます。自分のコードをチェックし、失敗した箇所を修正します。追加のファイルは 20 個まで追加できます。[メトリクスとスコアラー](/docs/ja/concepts/scorers) をお読みください。

メトリクスが `llm()` を呼び出す場合は、**メトリクスのモデル** を設定します。既定ではリフレクションモデルを使います。

### コントラクトチェック

**コントラクトチェック**（ガイド付き: **テスト実行**）は、サンドボックス内で 3 つのサンプルケースに対してコードとメトリクスを実行します。次の項目をチェックします。

- 実行コードのシグネチャ
- メトリクスのシグネチャ
- メトリクスのモデル
- サンプルでの実行コード
- メトリクスの戻り値

**チェック**（ガイド付き: **テストする**）を選択します。チェックに合格するまで、実行は開始できません。合格後にコードや設定を変更した場合は、再度チェックを実行してください。

> [!TIP]
> 各サンプルを開いて、入力、出力、フィードバックを確認してください。良いフィードバックは、スコアだけよりも多くの手がかりをオプティマイザーに与えます。

### スケジュール実行

最適化が成功した後、スケジュールに従って再度実行できます。既定値は **オフ** です。

### 実行の準備

最後の画面には、**全般**、**データ**、**モデル**、**予算**、**報酬** の 5 つのタブでサマリーが表示されます。設定を確認してから、最適化を開始します。

サマリーには、実行の公開範囲も表示されます。新しい実行は既定で公開です。後から実行ページの **共有とプライバシー** ダイアログで変更できます。[共有と公開](/docs/ja/guides/sharing) をお読みください。

> [!NOTE]
> リポジトリの実行では、このステップには **コードとメトリクス** 画面とサマリーだけがあります。Skynet は、実行を開始するときに、リポジトリに対して設定をチェックします。

## 開始した後

実行ページが開きます。[実行](/docs/ja/concepts/runs) と [結果を読む](/docs/ja/guides/results) をお読みください。

---

Source: https://staging.skynetml.com/docs/ja/guides/submit
