サブエージェント
サブエージェントは、エージェントが自分のターンの間に、プロバイダー自身のサブエージェント機能やタスク機能を使って起動するヘルパーです。コードベースの検索、1 つのファイルのレビュー、別のモデルでの副次的な作業などを担います。タスクの一部を処理し、結果をエージェントに返します。OAR はサブエージェントを 1 つずつトランスクリプトに表示し、その作業内容を残すので、エージェントがどのように答えにたどり着いたかを確認できます。
これはエージェントセッションとは別のものです。サブエージェントは 1 つの会話の 1 つのターンの中だけに存在し、自分の会話を持ちません。エージェントセッションは会話リストにある独立した会話で、エージェントが relay_ で開始します。
トランスクリプトでの表示 #
ターンの実行中、サブエージェントはそれぞれ、ターンのライブのバブルの中に自分のバブルを持ちます。別のサブエージェントを起動したサブエージェントは、それを自分のバブルの中に入れ子にして表示します。バブルのヘッダーには次のものが表示されます。
| 部分 | 内容 |
|---|---|
| 名前 | プロバイダーが報告するサブエージェントの名前または説明です |
| 最新のステップ | バブルが折りたたまれている間に表示される 1 行です。ステップの数と最新のステップを 3 steps · 🛠️ Tool (Read): index. のように表示し、まだステップがないときはテキストの末尾を表示します。ファイルパスはファイル名だけに短縮されます |
| 状態 | 作業中は ● Running(実行中)、その後は終わり方を表示します:Completed(完了)、Failed(失敗)、または自分で停止したサブエージェントでは Cancelled(キャンセル済み) |
| Stop(停止) | このサブエージェントを停止します。サブエージェントが終了すると消えます。サブエージェントの停止を参照してください |
0.9.6 で追加 バブルは最初、このヘッダーだけに折りたたまれた状態で表示されるので、サブエージェントの多いターンでもスクロールの量が少なく済みます。ヘッダーのどこかをクリックまたはタップすると開き、サブエージェントの思考、ステップ、テキストが表示されます。もう一度クリックすると折りたたまれます。手動で選んだ状態は、バブルがある間はそのまま保たれます。
ターンが終わると、バブルは完成した返信に置き換わります。返信の下には、そのターンのサブエージェントが起動した順に行として一覧になります。別のサブエージェントが起動したサブエージェントはそこには載らず、親の記録の中にあります。行には次のものが表示されます。
- サブエージェントの名前。クリックするとその記録が開きます。
- 状態:Running、Starting(起動中)、✓ Completed、✗ Failed、■ Stopped(停止済み)。該当する場合は in the background(バックグラウンドで)と record cut(記録を省略)も表示されます。
- モデル、種類、使用したトークン、実行時間。種類は
Exploreなどで、指定がない場合は Subagent(サブエージェント)です。
モデル、種類、トークンを報告するのは Claude と DeepSeek だけです。ほかのプロバイダーでは、行に Subagent と表示され、モデルとトークンは表示されません。ライブのバブルで Cancelled と表示されたサブエージェントは、行では ■ Stopped と表示されます。どちらも同じ意味です。
サブエージェントビューアー #
0.9.10 で追加 ビューアーは、1 つのサブエージェントの記録全体を表示します。何を考えたか、どのツールをどんな入力で呼び出し何が返ってきたか、書いたテキスト、自分で起動したサブエージェントが、起きた順に並びます。
開き方 #
サブエージェントの名前をクリックします。場所は次のとおりです。
- 完成した返信の下にある行。
- 入力欄の上にあるタスクパネル。バックグラウンドで作業する Claude または DeepSeek のサブエージェントの場合です(バックグラウンドタスクを参照)。
- 別のサブエージェントの記録の中にある子の行。
ライブのターンの中にあるサブエージェントのバブルからは、ビューアーは開きません。Claude または DeepSeek のサブエージェントがタスクパネルに載っていればそこから開くか、完成した返信に一覧が表示されるのを待ってください。
0.9.11 で追加 読み取り専用の共有ビューでも、サブエージェントの行からその記録が開きます。読み取り専用で Stop はなく、リレーのホストのパスは共有のほかの部分と同じように伏せられます。0.9.10 では、そこにある名前はただのテキストでした。
表示される内容 #
ヘッダーには、名前、サブエージェントの実行中は Stop ボタン、そしてモデル、種類、状態、該当する場合は background(バックグラウンド)、トークン、時間を示す 1 行があります。その下に、記録が先頭から並びます。
| エントリ | 表示のされ方 |
|---|---|
| 💭 思考 | 最初の 1 行です。書き込み中の思考は開いた状態で、テキストが届くまで Thinking…(思考中…)と表示されます |
| ツール呼び出し | アイコン、ツールの名前、コマンドやファイルなどの 1 行の要約です。要約より多くの内容がある場合は、クリックすると入力全体が表示されます |
| 結果 | Result(結果)または Error(エラー)、そのサイズ、そして短縮された場合は cut from(短縮前のサイズ)として元のサイズです(制限を参照)。クリックするとテキストを読めます |
| 返信テキスト | サブエージェント自身のテキストで、整形された Markdown として表示されます。届いている間は Writing…(書き込み中…)と表示されます |
| 子エージェント | 返信の下にあるものと同じような行です。名前をクリックすると開きます |
| 注記 | リレー自身が書く 1 行で、たとえば記録が省略されたことを伝えるものです |
実行中の記録はライブで伸びていき、末尾を追います。上にスクロールすると、ビューアーはその位置にとどまり、New entries ↓(新しいエントリ)ボタンで下に戻れます。終了した記録は先頭から開きます。開いた折りたたみは、エントリが変わっても開いたままです。
伸びていく記録を受け取るのは、ビューアーを開いているページだけです。遅い接続でまとまった更新を取りこぼしたり、接続が切れたりした場合は、ビューアーが足りない分を自動で取得します。
まだ何も記録されていないときは Nothing recorded yet. Entries appear as the agent works.(まだ記録はありません。エージェントの作業に合わせて表示されます。)と表示されます。記録のない終了済みのサブエージェントでは Nothing was recorded for this agent.(このエージェントの記録はありません。)と表示されます。リレーが読み込めなかった記録には This agent's record could not be loaded.(このエージェントの記録を読み込めませんでした。)と表示されます。
サブエージェント間の移動と閉じ方 #
子の行はその場で開きます。左上のボタン(例:‹ Review agent)は親の名前を示し、親に戻ります。ビューアーを閉じると、以下のどの方法でも、親ではなく会話に戻ります。
閉じるには、× を押す、Escape キーを押す、ウィンドウの外側をクリックする、またはブラウザーやスマートフォンの戻る操作を使います。スマートフォンでは画面いっぱいに表示されます。
制限 #
| 対象 | 制限 |
|---|---|
| ツールの結果 | 最初の 4 KB が保持されます。エントリには元のサイズが示されます |
| 1 つの記録のエントリ | 2000 件です。それを超えると記録は注記で終わり、ヘッダーに record cut at its limit(上限で記録を省略)と表示されます |
| 古い記録 | ビューアーができる前に作られた記録は、保存されていた内容から再構成され、recorded before the full record existed(完全な記録の導入前に記録)と表示されます。内容は短くなります |
0.9.10 に更新したときにすでに実行中だった Claude のセッションは、そのワーカーが再起動するまで、サブエージェントの完全な記録を残しません。アイドル状態のセッションで ☠️ Kill session(セッションを強制終了)を使えば十分です。次のメッセージで新しいワーカーが起動します。
ツール出力の保持期間 #
0.9.10 で追加 サブエージェントのツールの入力と結果は大きくなることがあるため、リレーは古い記録からそれらを削除します。記録そのものが削除されることはなく、サブエージェントも一覧に残ります。
Settings → General → Keep sub-agent tool output(設定 → 一般 → サブエージェントのツール出力を保持)で、入力と結果を残す期間を設定します。選択肢は 7 days(7 日)、14 days(14 日)、30 days(30 日)、90 days(90 日)、Always(無期限)です。既定は 90 days です。Settings(設定)も参照してください。
リレーは起動の少し後と、その後 1 日に 1 回、もう実行中でないサブエージェントの中で、最後に書き込まれてからその日数より長くたったツール呼び出しとツールの結果を処理します。
- ツール呼び出しは 1 行の要約を残し、Input removed after 90 days(入力は 90 日後に削除済み)(選んだ日数で表示)と表示されます。入力全体は削除されます。
- ツールの結果やエラーはサイズを残し、たとえば Result · 3.2 KB · output removed after 90 days(結果 · 3.2 KB · 出力は 90 日後に削除済み)と表示されます。テキストは削除されます。
- 思考、サブエージェントのテキスト、注記、子エージェントはそのまま残ります。
まだ実行中のサブエージェントは、どれだけ古くてもすべてを残します。Always にするとこの整理は行われません。設定を保存すると、約 5 秒後に整理が始まります。削除された入力や結果は、日数を増やしても戻りません。
バックグラウンドでの実行 #
サブエージェントはバックグラウンドで実行でき、エージェントが返信した後も作業を続けます。その場合は入力欄の上にあるタスクパネルにも行として表示され、専用の Stop ボタンが付きます。Claude と DeepSeek では、パネルにあるその名前からビューアーが開きます。Copilot の SDK エンジンのバックグラウンドエージェントはパネルにあるだけで、記録はありません。パネルの仕組み、バックグラウンドタスクを終わらせるもの、タイムアウトについてはバックグラウンドタスクにあります。Claude または DeepSeek のサブエージェントの行には in the background と表示され、ビューアーのヘッダーには background と表示されます。その記録はターンとターンの間も伸び続けます。0.9.12 で追加 タスクパネルにあるサブエージェントの行は、折りたたまれたバブルと同じように、22 steps のようにステップ(ツール呼び出し)の数を数えます。Claude、DeepSeek、Copilot の SDK エンジンで表示されます。
サブエージェントの停止 #
Stop は 2 か所にあります。ターンの実行中のサブエージェントのバブルと、ビューアーのヘッダーです。どちらも、どのプロバイダーでも、実行中のサブエージェントであれば、そのサブエージェントを実際に停止できるかどうかにかかわらず表示されます。バックグラウンドのサブエージェントは、タスクパネルからも停止できます。
単独で停止できるもの:
- Claude または DeepSeek の background のサブエージェントと、Copilot の SDK エンジンのバックグラウンドエージェント(タスクパネルから)。
- それ以外は確認されていません。Claude や DeepSeek でターンの中で動くサブエージェントは単独では停止できず、Claude Cloud、Cursor、Grok のサブエージェントはどれも単独では停止できません。
サブエージェントを停止できないときは、クリックは拒否で終わります。バブルのボタンは Stop unavailable(停止できません)に変わり、サブエージェントのステップの中に System note: Could not stop this subagent(システムメモ:このサブエージェントを停止できませんでした)で始まる行が表示されます。ビューアーでは、ボタンは最大 15 秒間 Stopping…(停止中…)と表示された後、Stop に戻ります。Stop unavailable には変わりません。代わりにターン全体の Stop を使ってください。ターンの実行中を参照してください。
停止できた場合、サブエージェントは行とビューアーでは Stopped、ライブのバブルでは Cancelled と表示されます。
プロバイダー別 #
| プロバイダー | ビューアーに表示される内容 | サブエージェント 1 つの停止 |
|---|---|---|
| Claude | すべて:思考、入力と結果付きのすべてのツール呼び出し、テキスト、子エージェント、モデル、種類、トークン | バックグラウンドのもの |
| DeepSeek 0.9.17 で追加 | Claude と同じです。表示されるモデルは、サブエージェントが実行された DeepSeek のモデル、チャットのモデル、または haiku として要求されたものでは DeepSeek Flash です。DeepSeek を参照してください |
バックグラウンドのもの |
| GitHub Copilot と OpenAI、SDK エンジン | ターンの中で動くサブエージェント:思考、ステップ、テキスト、1 階層のみ(子エージェントなし)、モデルとトークンなし。バックグラウンドエージェントには記録がなく、タスクパネルの行だけです | バックグラウンドエージェント(タスクパネルから) |
| GitHub Copilot と OpenAI、拡張機能エンジン | 拡張機能が報告する内容です。記録に抜けがあることがあります | 確認されていません |
| Claude Cloud | 思考とステップ、子エージェント付き。サブエージェント自身のテキストは公開されません | いいえ |
| Cursor | 思考、ステップ、テキスト、1 階層のみ(子エージェントなし)。ツールの結果は報告されません | いいえ |
| Grok | サブエージェントが起動したことと、どのように終わったかだけです。ビューアーに独自に表示するものはありません | いいえ |
| OpenAI Image | 該当しません | 該当しません |
機能の対応表の全体はプロバイダーの概要にあります。