DSH サブエージェント(Subagent)実践ガイド

スクリーンショットで検証した 8 ステップ:spec への役割定義から、サブエージェント部隊の並列実行、レポートの読み方、モデル指定まで。

最終更新: 2026-09-15

DeepSeek Harness のサブエージェントとは、メインチャットが内蔵の subagent ツールで生み出す子エージェントです。自分専用のコンテキストウィンドウでバックグラウンドに 1 つの割り当てタスクを処理し、呼び出し元のエージェントに結果を報告します。この分担があるからこそ、コミュニティでは「Agent Teams」「マルチエージェント」と呼ばれる使い方が生まれています。メインエージェントが計画ととりまとめを担い、安価で特定用途に絞った子エージェントが読み書きと検証をこなします。

このガイドでは実際の録画(出典はページ末)に沿って操作を追います。検証役サブエージェントを 2 つ定義した spec で小さなブックマークアプリを構築し、何もしない 5 つのサブエージェントで仕組みを確認し、さらに子エージェントごとのモデル指定まで試します。すべてのスクリーンショットは動画と照合済みで、撮影した秒数へ直接リンクしています。

8 ステップで DSH サブエージェントを動かす

  1. 1

    サブエージェントの役割を spec に書く

    vault/spec.md に subagents セクションを追加し、各サブエージェントの名前と担当を書きます。動画では 2 つ追加しています。Chromium で見た目と UX を確認する mobile verifier と、各機能を自主チェックする verifier です。同じ spec では機能ごとに 2 つのチェックボックス(初期実装用と、独立したサブエージェント検証用)を求めています。これで各サブエージェントは自分のタスクに集中でき、メインチャットと干渉しません。

    Obsidian で DSH の vault/spec.md を編集中。subagents セクションに Chromium 確認用 mobile verifier と機能別 verifier が並ぶ。
    サブエージェントの役割は spec の数行のメモから始まります。誰が何をどう検証するか。30:48 の場面を見る
  2. 2

    メインエージェントに契約型へ整えさせる

    DSH にサブエージェントの整理とシンプル化を依頼します。DSH はメモを契約駆動のエージェント定義へ書き換えます。verifier は純関数のユニットテスト、API 起動、全エンドポイント契約、docker exec psql での DB 状態確認を行い PASS か FAIL を報告。UI verifier は Playwright でモバイルビューポート、ダークモード、ドラッグ&ドロップの永続化を確認します。この段階で DSH はスタック選定やドラッグ実装方式など確認質問も投げてきます。以降はメインエージェントがサブエージェントを起動し、レポートを取りまとめます。

    DeepSeek Harness が契約駆動サブエージェントを返答。テスト・API・psql・Playwright の verifier と確認カードが見える。
    DSH は大まかな役割を PASS/FAIL 付きの契約へ変え、書き始める前に確認質問も投げます。31:48 の場面を見る
  3. 3

    実装可能な spec を生成し、引き継ぐ

    一般的なサブエージェントでも実装できるよう、spec を可能な限り詳細に作るよう指示します。返ってくるのは 11 項目に固定された計画です。スタック、前提条件、リポジトリ構成、環境とコマンド、データモデル、API 契約、(機能ごとの実装/検証チェックボックス付き)フロントエンド挙動、純ロジック、検証、ビルド順序、完了定義。動画で繰り返される型は、会話と spec と計画に強いモデルを使い、機械的な作業は安価で検証しやすいサブエージェントに委ねる、というものです。

    $commit, then implement with subagents
    11 項目の spec を要約する DeepSeek Harness のメッセージ。入力欄には commit, then implement with subagents とある。
    spec は実装可能な水準に到達。決定事項はすべて固定済みで、安価なサブエージェントはそのまま実行するだけです。36:40 の場面を見る
  4. 4

    空転部隊で subagent ツールを理解する

    本番の前に、一度きりのプロンプトで仕組みを確認します。メインチャットは subagent ツールを 5 回連続で呼び出し(子 1 個につき 1 回)、全員がバックグラウンドで動きます(ここでは sleep 60)。各子には固有のサブエージェント ID が付きます。チャットにはステータス表が出力されます。5 つが並列実行中、ポーリング不要、各完了時にランタイムがメインエージェントへ通知します。

    $Create 5 subagents that all have to wait 60 seconds
    subagent ツールの接続を説明する DeepSeek Harness。create 5 subagents that all have to wait 60 seconds のプロンプトと初期の呼び出し。
    プロンプト 1 件、subagent ツール呼び出し 5 回。各子は自分のタスクを持ってバックグラウンドで起動します。34:35 の場面を見る
    5 つのサブエージェント全員が並列実行中であることを示す DeepSeek Harness のステータス表。各子の ID と 60 秒待機のステータス、ヘッダーのサブエージェントカウンターが見える。
    子 5 個、ID 5 件、ステータス表 1 枚。並列実行でポーリングは不要です。34:42 の場面を見る
  5. 5

    セッションヘッダーで部隊を監視する

    子エージェントの実行中、セッションヘッダーにサブエージェントカウンターが現れます。開くと各子の名前、プロンプト、それぞれのトークン消費、経過時間が分かります。コストのトレードオフもここで明白です。サブエージェントごとに個別課金ですが、それぞれコンテキストが汚れず、メインチャットは集中でき、トークン総量はむしろ削減できることが動画の結論です。

    DeepSeek Harness のセッションヘッダーでサブエージェントのドロップダウンが開かれ、wait-60s サブエージェント 5 件が各々約 9.6K tok のトークン消費と 1m02s の経過時間付きで並ぶ。
    トークンは子ごとに課金されます。ヘッダーのドロップダウンから 1 件ずつ確認できます。34:52 の場面を見る
  6. 6

    返ってきたレポートを読む

    完了した子は subagent-report のコンテキスト注入として呼び出し元のメインエージェントに報告し、チャットが結果をまとめます。デモでは 5 つのサブエージェント全員が 60 秒の待機を終了コード 0 で完了。ヘッダーのドロップダウンから任意の子を開けば、与えられた入力と報告内容を確認できます。実行記録全体を見たいときはセッションの Trajectory タブへ。

    5 つのサブエージェント全員が 60 秒の待機を終了コード 0 で完了したことを確認する DeepSeek Harness のチャット。要約の合間に subagent-report のコンテキスト注入が並ぶ。
    完了した子は subagent-report 注入としてメインエージェントへ報告し、チャットがとりまとめます。35:05 の場面を見る
  7. 7

    サブエージェントごとにモデルを指定する

    既定では子はセッションのプロバイダーとモデルを引き継ぎます。subagent ツール自体には呼び出しごとのモデル指定パラメータがないためです。動画が Claude Opus とローカル Ollama の Qwen 3 で 2 つのサブエージェントを求めると、DSH は選択肢を示します。推奨はモデル上書き対応の workflow ツールで、agent() フックが子ごとに独立した provider/model を受け付けます。ほかには、設定にモデル別の subagent ツールインスタンスを追加して再起動するか、両方とも継承モデルのままにする方法があります。

    $Create two subagents both waiting 1 minute. One using opus, one using qwen3
    モデル指定の選択肢カードを表示する DeepSeek Harness。workflow 上書き、モデル別 subagent ツール、継承モデルの 3 択。
    片方の子を Opus で、もう片方をローカル Qwen で動かしたいなら、workflow ツールの子ごとのモデル上書きが DSH の推奨です。42:10 の場面を見る
  8. 8

    実行サマリーを読む — 成果を確認する

    長時間の自律ビルドは outcome カードで締まります。spec → ビルド → 検証のパイプラインをバックグラウンドのサブエージェントが一気通貫で実行し、動く検証済みアプリを産出した、というものです。Express + Prisma + Postgres のバックエンド子、Vite + React のフロントエンド子、チェックリストを実行する検証子が働き、ツリーはコミット済みでクリーン。あとは動画の通り、チームが構築したアプリを実際に操作して spec の機能を確認しましょう。

    何をしたかを列挙する DeepSeek Harness の outcome サマリー。spec、Express と Prisma のバックエンド子、Vite と React のフロントエンド子、検証子と、各ステップの検証方法が示される。
    まとめのカード。spec からビルド、検証までをバックグラウンドのサブエージェントが end-to-end で遂行しました。43:32 の場面を見る
    DeepSeek Harness のサブエージェントが構築した Favorite Websites アプリ。ブックマークカードと Edit bookmark モーダル。
    チームの成果物。実際に操作して確認できる動くブックマークアプリです。44:13 の場面を見る

DSH サブエージェント FAQ

サブエージェントのコスト、モデル、監視に関するよくある質問。

DSH のサブエージェントとは何ですか?

メインチャットが内蔵の subagent ツールで生み出す子エージェントです。自分専用のコンテキストウィンドウでバックグラウンドに割り当てタスクを 1 つ処理し、呼び出し元のメインエージェントに報告します。起動と報告のとりまとめは、常にメインエージェントの役割です。

サブエージェントはトークンが余計にかかりますか?

かかります。各サブエージェントは固有のトークン消費を持ち(ヘッダーのドロップダウンで 1 件ずつ確認できます)、5 つのサブエージェントなら 5 件の個別課金です。引き換えにコンテキストは大きくきれいになります。メインチャットが受け取るのは中間工程ではなく各子の報告だけで、動画の結論では結果の品質が上がり、トークン総量はむしろ削減できます。

サブエージェントごとに別のモデルを使えますか?

素の subagent ツールではできません。パラメータに呼び出しごとのモデル指定がなく、子はセッションのプロバイダーとモデルを引き継ぎます。正規の方法はモデル上書き対応の workflow ツールで、agent() フックが子ごとに独立した provider/model を受け付けます。設定にモデル別の subagent ツールインスタンスを追加して再起動する方法もあります。

サブエージェントを使う前に spec は必須ですか?

必須ではありません。「60 秒待つサブエージェントを 5 つ作って」のような 1 行でも実験できます。spec が効くのは実際の作業です。検証役と実装/検証チェックボックスを vault/spec.md に書いておけば、動画のように一発で検証済みの成果物を得られます。

並列で動かせるサブエージェントの数に上限はありますか?

デモでは 5 件を並列実行していますが、動画内で上限の言及はありません。実質的な上限はプロバイダーのレート制限と、タスク同士の独立性です。テストや UI チェックのような検証系サブエージェントは並列化に向きますが、依存が深い工程はメインチャットに残すほうが安全です。

各サブエージェントが何をしたかはどこで見られますか?

3 か所あります。セッションヘッダーのドロップダウンには各子のプロンプト、トークン消費、経過時間が並びます。各子の結果は subagent-report 注入としてチャットに届きます。そして Trajectory タブにセッション全体の実行記録が残ります。

関連する DeepSeek Harness ガイド

プリセット、計画、そのほかのハーネス活用を、1 記事ずつ。

出典とクレジット

本ページのスクリーンショットは以下の動画から撮影したもので、著作権は各制作者に帰属します。各画像は元動画の該当秒へリンクしています。中国語の Agent Teams 実測動画は事実確認のソースとして使用したのみで、フレームは使用していません。

DSH Plugins は DeepSeek Harness プラグインの独立したコミュニティ ディレクトリです。DeepSeek との提携・公認はありません。サードパーティ製プラグインはセキュリティ監査を受けていません。インストール前にソースコードをご確認ください。

DeepSeek Harnessの新着プラグインを毎週お届け。スパムはありません。