DeepSeek Harnessとは?導入と仕組みの完全ガイド
Updated August 16, 2026 · first published August 16, 2026
DeepSeek Harness(パッケージ名 dsh)は、DeepSeek AI が MIT ライセンスで公開したオープンソースのエージェントハーネスです。本稿は前提知識なしで読める版として、それが何であり、どう動かし、どう組み立てられているか、そして気にかける価値があるかを扱います。
エージェントハーネスとは何か
モデルが行うのはテキストとツール呼び出しの生成だけです。エージェントを有用にしているそれ以外のすべて——プロンプトの組み立て、要求されたツールの実際の実行、許可範囲の強制、発生した事象の記録、モデルを再度呼ぶか判断するループ、子エージェントへの委譲——はハーネスの領分です。
この区別は何より先に腹落ちさせる価値があります。エージェントの出来不出来の大半は、モデルの挙動ではなくハーネスの挙動だからです。同一のモデルを動かす二つのチームがまるで違う結果とまるで違う請求額を得るとき、その差はここに宿ります。
DeepSeek Harness が担うこと
コーディングと自動化のエージェントを実行します。実務上、エージェントはファイルを読み書きし、シェルコマンドを実行し、コードベースを検索し、サブエージェントへ委譲し、作業を計画し、有効な権限ポリシーに従って確認を求めます。ブラウザ UI、単発実行向けのヘッドレスモード、標準入出力で JSON-RPC を話す自動化サーバーが用意されています。
設計上の唯一の要点:すべてがプラグイン
本ハーネスは Cordis というプラグインランタイム上で動きます。プラグインは共有コンテキストへサービス、型付きイベント、可逆な効果を提供します。特権的なコアは存在しません。モデルアダプタもプラグイン、ツールレジストリもプラグイン、セッションログもプラグイン、エージェントループ自体もプラグインです。
多くの拡張可能なシステムは固定コアとフックの組み合わせを提供します。観察と装飾はできても差し替えはできず、差し替えるにはフォークが必要です。プラグインランタイムはこれを反転させ、最も差し替えたい部分をそのまま合成の単位にします。
起動する
最短経路
npx @deepseek-ai/dsh web
http://127.0.0.1:3080 でローカルの Web UI が立ち上がります。
ソースから
git clone https://github.com/deepseek-ai/deepseek-harness
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
要件は Node 22.19 以降(CI は 22.19、24、26 を対象)、Git 2.26 以降、Corepack で固定した pnpm です。DeepSeek の API キーはインストール時には任意ですが、実用には必要です。環境変数からでも、リポジトリ直下の gitignore された .env からでも読み込めます。
見落とされがちな二つの手順
- Settings → Models。 API キーを入力します。再起動不要で即座に有効化されます。
- ワークスペースの選択。 プロジェクトのディレクトリを追加して有効化します。ワークスペースが有効になるまでセッションのコンポーザーは使えません。新規インストールが壊れて見える原因はたいていこれです。
ヘッドレス
pnpm dsh --profile headless "summarize this workspace"
自動化で効いてくるのはこのモードです。対話でしか動かないハーネスは CI に載せられず、CI に載らないものは定期的に計測できません。
ドキュメントを読むための語彙
| 用語 | 意味 |
|---|---|
| ステップ | 1 回のモデル要求と、そこから生じるツール呼び出し |
| ターン | 入力を消化しきる単位。モデルが停止するかポリシーが介入すると終了 |
| ラウンド | ターンの上位にある外側のポリシー反復。目標への再挑戦など |
| セッション | 型付きイベントの追記専用ログ。実行に関する唯一の真実の source |
| ケイパビリティシーム | 複数の実装を差し替えられるサービスインターフェース |
| プロファイル | 名前付きの構成。プラグインバンドルの順序付きリストとユーザーのパッチ |
| スコープ | ツール、プロンプト、制限をエージェント単位で登録する単位 |
設定は四層で解決され、後のものが勝ちます。プロファイルのバンドル、プロファイルのパッチ、home レベルのパッチ、コマンドラインのオーバーレイの順です。この順序を知っていれば、「なぜそのモデルが使われているのか」は調査ではなく参照で済みます。
見るに値する理由
- モデルを差し替えられる。 モデルサービスは複数のバックエンドを備えたインターフェースで、そのひとつは記録済みセッションを再生し、推論費用を再び支払いません。エージェントループはベンダー中立なストリームを消費し、どのバックエンドが動いているかを知りません。
- 記録が構造的に完全。 指針は「モデルから見えるものは記録される」です。ログが実行を再構成できねばならないからです。トークン使用量は、それを生じさせた出力に付随して運ばれます。
- 強制点が明示されている。 モデル要求の送出前に一つ、その判断は権威あるものとして文書化されています。もう一つは任意のツール本体の実行前です。権限ガードは拒否か棄権はできても許可はできず、応答不能な承認要求は拒否になります。
- ヘッドレスで動く。 つまりスクリプト化でき、スケジュールでき、計測できます。
プラグインという主張は位置づけだけの話ではありません。同梱デモのひとつは自己言及的で、稼働中の自身のプラグインランタイムを検査し変更します。これは偽装の難しい種類の証拠です。
使うべき場面、使うべきでない場面
使うべきなのは、評価、試作、そしてすでに運用しているエージェント基盤に対する具体的な基準として用いる場合です。自社システムに持ち帰るべき五つの問いは、モデルを差し替えられるか、使用量が付随した完全なセッション記録があるか、モデル呼び出し前とツール実行前に強制点があるか、ヘッドレスで動くか、設定の階層は文書化されているか、です。
今四半期に標準化すべきではありません。 本プロジェクトは自らを developer preview と称し、互換性を壊す変更があると明言しています。ビルド対象のバージョンは固定し、プレビュー API の上に本番移行を計画しないでください。
運用費用
ハーネス自体は MIT ライセンスで無料です。推論はそうではありません。DeepSeek の API キーを用意するか、モデルシームを別のプロバイダーへ向けます。実務上の含意は、請求額がターンあたりのステップ数、カタログ内のツール数、委譲の深さ、そして終わりの定まらない目標が回せるラウンド数の関数になるということです。いずれもハーネス層の判断であり、交渉したトークン単価ではありません。
Related
Want this applied to your own LLM spend? FinOps LLM runs a free audit of your AI costs and shows where the savings are. Book free audit →