作業
エージェントの 1 回の実行がどのようにキューに入り、実行され、停止・リトライされるかを説明します。
エージェントが動き出すたびに、Multica は作業(task)を 1 件作成します。作業には、この実行が何によってトリガーされ、どのエージェントに渡され、いまどこまで進んでいて、最終的に成功したかどうかが記録されます。
タスクと作業
タスクは 1 つの取り組みの目標、議論、担当者、最終ステータスを保持します。作業は、そのタスクに対するエージェントの 1 回の実行を記録します。
| タスク | 作業 | |
|---|---|---|
| 記録する内容 | 継続的に進む 1 つの取り組み | エージェントの 1 回の実行 |
| 続く期間 | 何度でも議論・追記・再割り当てできる | トリガーから、完了・失敗・キャンセルまで |
| 数の関係 | 1 つのタスクに複数の実行が積み重なる | 実行ごとに独立した記録が残る |
そのため、同じタスクを順番に別のエージェントへ渡すことも、失敗のあとにもう一度実行することもできます。実行のたびに新しい作業が作成され、以前の記録が上書きされることはありません。
トリガー元
次の操作はいずれも実行をトリガーできます。
- タスクをエージェントまたはスクワッドに割り当てる。
- コメントでエージェントをメンションする。
- チャットでエージェントにメッセージを送る。
- オートパイロットがスケジュールまたは外部イベントで発火する。
入口によって渡されるコンテキストは異なりますが、実行の仕組みは同じです。Multica が作業を作成し、ランタイムがそれを取得して、エージェントに設定された AI コーディングツールを呼び出します。
実行の流れ
作業は通常、次の状態を経ます。
| 状態 | 意味 |
|---|---|
deferred | 後で発火するようスケジュール済み。指定時刻になるとキューに入る |
queued | ランタイムによる取得を待っている |
dispatched | ランタイムが取得し、AI コーディングツールを起動中 |
waiting_local_directory | 対象のローカルディレクトリを別の実行が使用中で、ディレクトリロックの解放を待っている |
running | AI コーディングツールが実行中 |
completed | この実行は正常に終了した |
failed | 実行がエラーになったか中断された |
cancelled | 実行が手動で停止された |
ランタイムがオンラインなら、新しい作業は通常すぐに始まります。キューに入ったあとでランタイムがオフラインになった場合、作業は復帰までキューで待機します。待ち時間の長さ自体では失効しません。ハートビートを送り続けているランタイムは「いなくなった」のではなく「取り込み中」なので、その滞留分は必要なだけ待てます。キュー内の作業が失敗するのは、担当ランタイムが再接続猶予を超えて沈黙し、かつその作業自身も同じ時間だけキューで待った場合だけです。2 つ目の条件は「すでに休止中のマシンに割り当てたとき」のためのもので、その場合も作業は即座に失敗せず、マシンを復帰させるための猶予をまるまる 1 回分確保します。
トリガーの前の時点で対象ランタイムのオフラインが分かっている場合、一部の即時操作は、誰も取得できない作業を作成する代わりに、いまは実行できない旨をその場で表示します。
ハートビートが正常なランタイムは長時間の作業を実行できます。実行時間が長いという理由だけで、サーバーが実行を強制終了することはありません。プロセスが停滞しているかどうかは、ランタイムが実際のアクティビティに基づいて判断します。関連する設定は環境変数を参照してください。
実行履歴の確認
タスクが生んだ作業は、タスク右サイドバーの実行ログセクションにすべて一覧表示されます。専用のページやタブに移動する必要はありません。このセクションは既定で展開され、実行中のものが上部に固定され、終了したものは**過去の実行を表示 (N)**の下にまとまります。各行にはトリガー元、実行したエージェント、状態、時間が表示されます。見当たらない場合は、タスク上部のパネルボタンでサイドバーを開いてください。画面幅が狭いときは既定で閉じています。
ページを開いたままにしていれば、実行ログはリアルタイム接続経由で自動更新されます。新しい実行、状態の変化、エージェントのコメントは手動リロードなしで表示されます。
エージェントの作業中は、タスク上部にライブ表示(例:「Engineer が作業中」)も出ます。ホバーすると同じ実行中の行が表示され、ページを離れずに進捗を確認できます。
ここでは次の操作ができます。
- 行のトランスクリプトを表示をクリックし、エージェントのメッセージ、ツール呼び出し、エラー出力を確認する。実行中の作業なら、ダイアログを開いている間も内容がリアルタイムに追記され、新しい順で並び替えられる。
- 後で発火する予定・キュー待ち・起動中・ローカルディレクトリ待ち・実行中の作業を停止する。
- 失敗またはキャンセルされた作業をリトライする。


タスクの担当者やステータスを変更しても、すでに始まった実行は止まりません。中断したいときは、実行ログで該当する作業を停止してください。アクティブな作業がタスクと一緒にキャンセルされるのは、タスクを削除したときだけです。
失敗と自動リトライ
ランタイムの一時的なオフライン、デーモンの再起動、実行タイムアウト、AI コーディングツールのネットワーク中断といった一時的な障害は、自動リトライをトリガーできます。通常の作業はデフォルトで最大 2 回まで、ツールのネットワーク中断は最大 3 回まで実行されます。
エージェント自身が返したエラーは、通常は自動リトライされません。認証の失効、クォータ不足、設定ミス、モデルがリクエストを完了できない場合などは、まず原因を解消してから手動でリトライしてください。
オートパイロットの実行のみモードは、次のスケジュール実行と重ならないよう自動リトライしません。タスクを作成モードが生成するのはタスク由来の通常の作業なので、インフラ障害は上記のルールどおりリトライされます。どちらのモードも、最終結果はオートパイロットの実行履歴で確認できます。
タスク上に他のアクティブな作業がなく、実行を待つ新しいリトライもない場合、失敗によって in_progress のタスクは todo に戻ります。
失敗理由リファレンス
実行ログと使用量統計に表示される失敗理由は 2 つに分かれます。接頭辞のない理由コードはプラットフォームが記録するもの、agent_error.* は AI コーディングツール自身のエラーから分類されたものです。
プラットフォーム側
| 原因 | 意味 | 対処 |
|---|---|---|
runtime_offline | 実行中にランタイムがオフラインになった | ランタイムを復旧してからリトライ。デーモンとランタイムを参照 |
queued_expired | ランタイムが再接続猶予を超えてハートビートを停止し、かつその作業も同じ時間キューで待っていた | ランタイムがオンラインであることを確認してからリトライ |
runtime_recovery | デーモンが再起動後、中断された実行を回収した | そのままリトライ |
environment_prepare_failed | デーモンがこの実行の実行環境(作業ディレクトリ、およびそこに書き込むローカルランタイム設定)を準備できなかった | 生のエラーでどの段階が失敗したかを確認し、そのマシンのディスク空き容量・権限・ディレクトリの使用状況、AI コーディングツールのローカル設定を点検 |
cancelled | 手動で停止されたか、アーカイブ・削除に伴ってキャンセルされた | 対処不要 |
timeout | デーモンに設定された実行時間の上限を超えた | タスクの範囲を狭めるか、デーモンの agent_timeout を調整する |
iteration_limit | 実行の反復回数の上限に達した | タスクの範囲を狭める |
agent_blocked | エージェントが続行できないと自ら報告した | エージェントがコメントで求めた情報を補う |
api_invalid_request | プラットフォーム API が不正なリクエストを拒否した | リトライし、繰り返し発生する場合は問題を報告する |
codex_semantic_inactivity | Codex が長時間有効な出力を出さず、停滞と判定された | リトライするか、Codex の停滞タイムアウトを調整する |
ツール側(agent_error.*、接頭辞は省略)
| 原因 | 意味 | 対処 |
|---|---|---|
provider_auth_or_access | モデルプロバイダーの認証に失敗したか、アクセス権がない(401/403) | その AI コーディングツールで再ログインするか、API キーを確認する |
provider_quota_limit | クォータまたは残高を使い切った(402) | チャージするか、アカウントを切り替える |
provider_capacity_or_rate_limit | レート制限または容量不足(429/529) | 時間をおいてリトライ |
provider_server_error | モデルプロバイダー側のサーバーエラー(5xx) | 時間をおいてリトライ |
provider_network | モデルプロバイダーへのネットワーク障害 | 自動でリトライされる。続く場合は実行マシンのネットワークを確認する |
model_not_found_or_unavailable | モデルが存在しないか、現在利用できない | エージェント設定で利用可能なモデルを選び直す |
context_overflow | コンテキストがモデルのウィンドウを超えた | タスクの範囲を狭めるか、入力を減らす |
missing_config | API キーなどの必須設定が不足している | エージェントの環境変数またはツールの設定を補う |
runtime_missing_executable | AI コーディングツールの実行ファイルが見つからない | ツールを再インストールする。AI コーディングツールのインストールを参照 |
runtime_version_unsupported | AI コーディングツールのバージョンが古すぎる | ツールをアップグレードする |
process_failure | ツールのプロセスが異常終了した | 実行記録で原因を特定してからリトライ |
empty_or_unparseable_output | ツールが出力を返さなかったか、出力を解析できなかった | リトライし、繰り返す場合はツールのインストールを確認する |
agent_timeout | ツールが長時間応答せず終了された | リトライするか、タスクの範囲を狭める |
unknown | 分類できなかった失敗 | 実行記録の元のエラーを確認する |
手動リトライ
実行ログで行の再試行ボタンをクリックすると、当時その作業を実行したエージェントが再び呼び出されます。その後タスクの担当者が変わっていても、新しい担当者には切り替わりません。
リトライは、前回の実行がローカルディレクトリに書き込んだファイルをできる限り保持します。元のセッションがまだ安全で、同じランタイムが取得した場合は、前回のセッションも引き継ぎます。コンテキスト超過や不正なリクエストなど、セッションを汚染するエラーの場合は、元の作業ディレクトリの上で新しいセッションを開始します。元のディレクトリがすでに存在しない場合は、新しい作業ディレクトリを使います。
CLI から現在のタスクを再実行することもできます。
multica issue rerun <issue-id>この方法は過去の特定の作業を指さないため、タスクの現在のエージェント担当者を使い、新しいセッションと作業ディレクトリから開始します。
実行の完了とタスクの完了
completed は、この 1 回の実行が正常に終了したことだけを表し、タスクの目標が達成されたことを保証するものではありません。結果を確認し、議論を続け、要件を追加し、もう一度エージェントをトリガーできます。
タスクが完了したかどうかは、実際の作業の進み具合とタスクのステータスで判断してください。
状態とタイムアウトの早見表
以下の数値はサーバーのデフォルト設定に対応しており、トラブルシューティング時の照合に使えます。
| 状態 | 意味 | タイムアウトと結果 |
|---|---|---|
deferred | 後で発火するようスケジュール済み | 予定時刻になると queued に入り、以降は下のルールに従う |
queued | ランタイムによる取得待ち | ランタイムがハートビートを送り続けている限り待機し、さらにどの場合でもキュー投入から最低 1 回分の再接続猶予は確保される。両方の期間が過ぎたときにのみ失敗し、自動リトライはされない |
dispatched | ランタイムが取得し、ツールを起動中 | 5 分を超えてこの状態に留まると失敗として扱われる |
waiting_local_directory | ローカルディレクトリロックの解放待ち | 独自のタイムアウトはなし。ディレクトリが解放されると起動フローに戻る |
running | AI コーディングツールが実行中 | 固定の時間上限はなし。生存はランタイムのハートビート(15 秒ごと)で判定し、ハートビートを失ったランタイムは遅くとも約 3 分でオフラインと判定され、その上の作業も失敗する |
自動リトライは以下の一時的な障害のみを対象とし、タスクまたはチャットに紐づく作業にのみ適用されます(オートパイロットの実行のみモードを除く):
| 自動リトライされる失敗原因 | 実行回数の上限 |
|---|---|
| ランタイムのオフライン | デフォルト 2 回(初回実行 + リトライ 1 回) |
| デーモン再起動後の回収 | デフォルト 2 回 |
| プラットフォームが判定した実行タイムアウト | デフォルト 2 回 |
| Codex が長時間有効な出力を出さない | デフォルト 2 回 |
| スキルバンドルのダウンロード失敗 | デフォルト 2 回(この時点でエージェントのプロセスは未起動。ダウンロード済みのバンドルはローカルキャッシュから使われる) |
| ツールのネットワーク中断 | 最大 3 回。最後の 1 回は約 5 秒遅らせて開始 |
その他の失敗原因(認証、クォータ、設定、モデルなど)は自動リトライされません。先に原因を解消してから手動でリトライしてください。
次のステップ
- デーモンとランタイム — 作業がどのコンピュータで実行されるかを知る。
- タスクをエージェントに割り当てる — タスクから実行をトリガーする。
- エージェントのメンション — コメントで要件を補足し、他のエージェントを参加させる。