Skip to main content
Quest

実行環境

Quest は Local や Worktree などの実行環境をサポートしています。この記事では、各環境の適用シナリオと構成について説明し、タスクを安全かつ効率的に分離して実行できるよう支援します。
環境挙動向いている用途
Local開いているワークスペースに直接変更を書き込む軽量タスク、迅速な検証
Worktreeメインとは別の Git worktree で作業し、適用・マージまで本流と分離中規模、Apply の反復、同一リポジトリで並列タスク
プランが許す範囲で並列タスクをサポートします。

Worktree

Worktree モードは Git worktree に基づいてバックグラウンドで独立したワークスペースのコピーを作成し、Agent が隔離された環境でタスクを実行できるようにします。メインのワークスペースはクリーンに保たれ、複数の Worktree を並行して実行できます。

適用シナリオ

シナリオ説明
並列マルチタスク複数の要件やリファクタリングを同時に処理し、各トラックを互いに干渉せず独立して進める
高リスクなリファクタリングAgent に大胆なアーキテクチャ変更や大規模なリネームを試させ、気に入らなければそのまま破棄でき、メインのワークスペースは無傷

使用方法

Worktree の作成

  1. チャットパネル上部の実行環境エリアで、現在のモード(「Local」など)をクリックします。
  2. ドロップダウンから Worktree を選択します。
  3. モードセレクターの横にあるブランチドロップダウンで、Agent が Worktree を作成する際の起点となるローカルブランチを選択します。
  4. タスクを入力して送信すると、Agent は独立した Worktree で作業を実行します。
メインのワークスペースにコミットされていない変更がある場合、パネルに Include uncommitted changes トグルが表示されます。オンにすると、作成時にそれらの変更が Worktree に同期され、Agent が最新のコード状態を確認できるようになります。

Move to local

Agent が Worktree での作業を完了したら、結果をメインのワークスペースに持ち帰って開発を続けることができます。 左側のタスクリストで対応する Worktree セッションを見つけ、そのセッションの Move to local 操作をクリックすると、worktree のブランチ状態とコミットされていない変更がローカルのメインワークスペースに移され、以降のタスクをそのままローカルで続行できます。
Move to local を実行する前に、ローカルのワークスペースはクリーンな状態(コミットされていない変更がない状態)である必要があります。先に現在の変更を commit または stash してください。

Review & Commit

変更をローカルに持ち帰る必要がない場合は、Worktree 内で直接コミットできます。セッション右側の Changes パネルを開いて、Agent が行ったすべてのファイル変更を確認します。問題がなければ、パネルで新しいブランチを作成してコードをコミットします。

起動スクリプト

Worktree の作成時に初期化操作(依存関係のインストールや環境変数ファイルのコピーなど)を自動的に実行する必要がある場合は、設定の Worktree configuration for local tasks で起動スクリプトを編集できます。

クリーンアップ

自動クリーンアップ

システムは古い Worktree を自動的にクリーンアップしてディスク容量を解放します。クリーンアップポリシーは管理パネル下部で設定できます。
  • 最大保持数: 各ワークスペースはデフォルトで 15 個の Worktree を保持します。

手動クリーンアップ

  • 左側のセッションリストで Worktree セッションを 削除 すると、対応する Worktree も一緒に削除されます。
  • 設定から、不要になった Worktree をまとめて管理・削除することもできます。

注意事項

  • Git リポジトリが必要: プロジェクトが Git リポジトリである場合にのみ、Worktree オプションが表示されます。
  • 移行前にワークスペースをクリーンに保つ: Move to local を実行する際、ローカルのワークスペースにコミットされていない変更があってはなりません。
  • ディスク使用量: 各 Worktree は独立したファイルのチェックアウトです。プロジェクトが大きい場合、複数の Worktree が相応のディスク容量を消費します。最大保持数を適切に設定し、容量不足を回避してください。