> ## Documentation Index
> Fetch the complete documentation index at: https://arkor-92aeef0e-eng-716.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# クイックスタート

> Arkor プロジェクトを生成し、小さなオープンウェイト LLM をファインチューニングして、ローカル Studio からチャットしてみる。

数分でゼロからスタートし、ローカル Playground でチャットできるファインチューン済みモデルが得られます。学習本体は 7〜12 分。最初に流すジョブは、学習本体が始まる前に GPU の確保 (立ち上がり) を待つ時間が入ります。これは数分かかることがあり、ときどきそれ以上かかります。間が空いた後の最初のジョブだけに発生する待ちです。セットアップ時間は回線と既存のインストール状況に左右されます。

<Info>
  **Arkor が GPU をどう使い分けているか。** Arkor は GPU を 2 つのプールに分けて運用しています。

  * **推論 (Inference) 用 GPU。** 学習が終わったモデルで推論するための GPU です (Playground や本番の推論)。active worker 上に常駐させているので、いつでも warm な状態で即座に応答します。
  * **学習 (Training) 用 GPU。** ファインチューニング用の GPU です。コストを安定させるため warm 維持はしません。**Run training** を押すと、その時点で GPU を確保しに行きます。直前に他のジョブで使われた直後など、GPU がまだ warm な状態であれば確保は数秒で終わります。warm な GPU がなければ cold な状態 (プロビジョニング・コンテナイメージ取得・ベースモデルのロード。いわゆる cold start) から立ち上げる必要があり、これに数分かかります。

  GPU が確保できた後、学習本体自体はテンプレートにより約 7〜12 分です。Studio の Jobs 画面では両フェーズが可視化されます。
</Info>

## 前提条件

* **Node.js 22.22.0 以降。** Node 24 を推奨します。
* **パッケージマネージャー。** pnpm、npm、yarn、bun のいずれでも動きます。以下のスニペットはタブグループになっており、普段使う 1 つを選べばページ全体がそれに揃います。
* 動作するインターネット接続。学習は Arkor のマネージド GPU で実行されます。

アカウントもクレジットカードも、自分のマシーンの GPU も不要です。

## 1. プロジェクトを生成する

<CodeGroup>
  ```bash pnpm theme={null}
  pnpm create arkor my-arkor-app
  cd my-arkor-app
  ```

  ```bash npm theme={null}
  npm create arkor@latest my-arkor-app
  cd my-arkor-app
  ```

  ```bash yarn theme={null}
  yarn create arkor my-arkor-app
  cd my-arkor-app
  ```

  ```bash bun theme={null}
  bun create arkor my-arkor-app
  cd my-arkor-app
  ```
</CodeGroup>

プロジェクト生成ツールがどのテンプレートを使うか尋ねてきます。最終的に作りたいものに最も近いものを選んでください:

| テンプレート      | タスク        | 出力の形                                         | 学習本体 (GPU 確保時間を除く) |
| ----------- | ---------- | -------------------------------------------- | ------------------ |
| `triage`    | サポートのトリアージ | `{ category, urgency, summary, nextAction }` | 約 7 分              |
| `translate` | 9 言語の翻訳    | `{ translation, detectedLanguage }`          | 約 7 分              |
| `redaction` | 個人情報のマスク   | `{ redactedText, redactedCount, tags }`      | 約 12 分             |

いずれも同じ小型のオープンウェイトベース（`gemma-4-E4B-it`）と、HuggingFace 上の厳選された公開データセットを組み合わせたものです。学習は本物で、数分で終わるので、ループ全体をエンドツーエンドで体験できます。

プロンプトをスキップしたいとき:

<CodeGroup>
  ```bash pnpm theme={null}
  pnpm create arkor my-arkor-app --template triage
  ```

  ```bash npm theme={null}
  npm create arkor@latest my-arkor-app -- --template triage
  ```

  ```bash yarn theme={null}
  yarn create arkor my-arkor-app --template triage
  ```

  ```bash bun theme={null}
  bun create arkor my-arkor-app --template triage
  ```
</CodeGroup>

## 2. 生成されたものを眺める

```
my-arkor-app/
├── src/arkor/
│   ├── index.ts        # createArkor({ trainer })
│   └── trainer.ts      # createTrainer({ ... })
├── arkor.config.ts
├── .arkor/             # 状態 + ビルド成果物（gitignore 済み）
└── package.json        # dev / build / start
```

当面重要なのはこの 2 ファイルです:

* **`src/arkor/trainer.ts`** にトレーナー定義を置きます。モデル、データセット、LoRA 設定、ハイパーパラメーター（学習率や学習ステップ数など、学習の進み方を決める設定値。データから機械的には決められず、人が事前に与える必要があります）、ライフサイクルコールバックがすべてここに集まります。
* **`src/arkor/index.ts`** はエントリーポイントです。`createArkor({ trainer })` を呼ぶことで、CLI と Studio が何を実行すべきか発見できるようにします。

`trainer.ts` を開いてみてください。形はテンプレート間で同じで、データセット、出力スキーマ、サンプルプロンプトだけが異なります。

## 3. Studio を開いて学習を始める

<CodeGroup>
  ```bash pnpm theme={null}
  pnpm dev
  ```

  ```bash npm theme={null}
  npm run dev
  ```

  ```bash yarn theme={null}
  yarn dev
  ```

  ```bash bun theme={null}
  bun dev
  ```
</CodeGroup>

これは `arkor dev` を実行し、Studio を `http://localhost:4000` で起動します。Studio は UI で、`arkor dev` 自体は学習を開始することも、トレーナーファイルを監視することもしません。

ブラウザーで **Run training** をクリック。Studio はバックグラウンドでマネージドバックエンドにジョブを投入し、出力をページにストリーム表示します。何かを最初にトリガーした時に匿名ワークスペースが自動作成されます。サインアップもクレジットカードも不要です。

学習が進行中に重要なビューは 3 つあります:

* **Jobs。** 学習ジョブの一覧。クリックするとライブステータスが見られます。
* **Loss チャートとイベントログ。** マネージド GPU から進捗がストリームされるにつれて、Loss（学習中のモデルの誤差を示す数値で、低いほどモデルが正解に近づいているサイン）の曲線が更新され、ログのテールに学習イベントが表示されます。最初のジョブの最初のフェーズは GPU の確保で、その間ステータスは `Warming up GPU` と表示され、Loss チャートは `Waiting for GPU` のプレースホルダー、イベントログは空のままです。`training.started` イベントが届くとステータスが `Running` に変わり、曲線が更新を始めます。学習本体自体はテンプレートにより 7〜12 分かかります。
* **Playground。** ジョブが完了したら、最終アダプタをセレクタから選んでチャット。モード切替でベースモデルとアダプタを行き来できます。学習中に中間チェックポイントで推論を走らせたい場合は Studio ではなく `onCheckpoint` コールバックを使ってください。

学習の合間に `src/arkor/` を編集した場合は、Run training ページをリロード（または `arkor build` を実行）してから次のクリックをすると、新しいコードが動きます。

## 4. アカウントに紐づける（任意）

匿名ワークスペースは試行に便利ですが、作業はそのローカルマシーン上の匿名トークンに紐づき、別のマシーンや別のアカウントからは見えません。学習をアカウントの下に残したいなら、**次の学習を始める前に** OAuth でサインインしてください。

<CodeGroup>
  ```bash pnpm theme={null}
  pnpm arkor login --oauth
  ```

  ```bash npm theme={null}
  npm arkor login --oauth
  ```

  ```bash yarn theme={null}
  yarn arkor login --oauth
  ```

  ```bash yarn-berry theme={null}
  yarn run arkor login --oauth
  ```

  ```bash bun theme={null}
  bun arkor login --oauth
  ```
</CodeGroup>

これでループバックポート上で Arkor Cloud の OAuth（PKCE）フローが走り、ローカルの認証情報がアカウントに紐づきます。以降、このマシーンからの学習はどのデバイスからも当該アカウントの下に表示されます。

生成されたプロジェクトは `arkor` をローカル devDependency としてインストールするので、CLI をグローバルにインストールしていない限り、素の `arkor` ではなく利用しているパッケージマネージャーのローカル bin 実行コマンドを使ってください。生成される README には pnpm / npm / yarn / bun の各パッケージマネージャーでのセットアップ手順が並列で書かれています。

注意点として、`arkor login` をフラグなしで実行すると初期選択が `Anonymous` の対話ピッカーが出ます。これを受け入れると新しい匿名トークンが発行されて認証情報ファイルが上書きされ、それまでの匿名ワークスペースのジョブとは別の identity になります（OAuth に切り替えても同様で、過去の匿名作業はアカウント側へ自動で移行されません）。匿名で先に始めてしまった作業をあとからアカウントに統合する機能は将来的にサポート予定です。それまでは、アカウントに残したい学習はサインインを済ませてから開始してください。

## 5. 次に読むもの

* **コンセプト。** [Concepts](/ja/concepts/overview) を読み、`createArkor`、`createTrainer`、ライフサイクルコールバック、Studio のメンタルモデルを構築してください。
* **トレーナーをカスタマイズ。** `src/arkor/trainer.ts` を開き、`lora.r` や `maxSteps` を調整したり、コールバックを追加したり。Run training ページをリロード（または `arkor build`）してから次のクリックで反映されます。
* **別のテンプレートを試す。** プロジェクト生成ツールを別の `--template` で再実行して比較してみてください。
