Tracks
コーディングエージェントの比較は、速度、価格、ツール数、ベンチマークスコアの勝負になりがちです。しかし、この2つを分ける問いは別にあります。開発者はエージェントのランタイムをどこまで差し替えられるのか、という点です。
DeepSeek Harness と Claude Code は、その問いに異なるレイヤーで答えます。Harness はモデルアダプタ、ストレージ、サンドボックス、エージェントループをプラグインとして公開します。Claude Code は Claude を中心としたビルトインのループをパッケージ化し、ワークフローに拡張ポイントを追加します。この境界は、DeepSeek と Claude をモデルとして比較する以上に重要です。
私は両ツールに同じ壊れたリポジトリと同じ Claude モデルを与え、ランタイムが何を変えるかを確かめました。単一のケーススタディで優劣はつけられませんが、ハーネスが背景の細部ではない理由は示せます。ここでは、モデル選択、セットアップ、検証、ログ、コストの違いに焦点を当てます。
TL;DR
- ランタイム自体が作業の一部なら: Harness はモデルアダプタ、ストレージ、サンドボックス、エージェントループを交換可能なプラグインとして公開し、複数のモデルプロバイダに対応します。
- 主な仕事がアプリケーションコードなら: Claude Code はランタイムの多くをパッケージ化し、Skills、フック、MCP などでワークフローを拡張します。
- 同一モデルのテスト: どちらもバイト単位で同一のパッチを生成し、元のスイートに合格しました。この Windows 実行では、Claude Code が 55.0 秒、Harness は 3 回の承認後に 125.4 秒を記録しました。
- コスト: DeepSeek Harness 自体にライセンス料はありません。モデル利用は選択したプロバイダに従って課金され、必要に応じてインフラコストが発生します。Claude Code は有料の Claude プランに含まれます。
- すぐ使うならの目安: 日常的なアプリ開発には Claude Code。ランタイムの変更や観察がタスクの一部なら Harness。
DeepSeek Harness と Claude Code:クイック比較
|
観点 |
DeepSeek Harness |
Claude Code |
|---|---|---|
|
概要 |
交換可能な部品を持つエージェントランタイム |
パッケージ化されたコーディングエージェント |
|
ライセンスとステータス |
MIT、開発者プレビュー、安定版なし |
プロプライエタリ、本番製品 |
|
モデル |
DeepSeek、Anthropic、OpenAI、Bedrock、Vertex、Azure、ローカル |
Claude(直接または Bedrock と Vertex 経由) |
|
ループの差し替え |
可、上書き可能なプラグインエントリ |
不可、拡張はループの外側に接続 |
|
拡張単位 |
Cordis プラグイン(任意のランタイム機能) |
スキル、フック、エージェント、MCP を束ねるプラグイン |
|
実行履歴 |
追記専用の型付きイベントログ(リプレイ可能) |
JSONL 文字起こし、チェックポイント、OpenTelemetry |
|
利用面 |
ローカル Web UI、ヘッドレス CLI、Python SDK |
ターミナル、IDE、デスクトップ、Web、Slack、CI |
|
セットアップ |
プロバイダ設定とプロファイルの把握が必要 |
デフォルトの導入負担は小さめ。任意で権限、フック、MCP、プロジェクト設定 |
DeepSeek Harness とは?
DeepSeek Harness は現在開発者プレビュー中のオープンソースのエージェントハーネスです。モデルがツールやコンテキストを利用するランタイムを提供し、DeepSeek 以外のプロバイダのモデルも実行できます。README には、更新で既存のセットアップが壊れる可能性があると警告があります。
試してみたい場合は、まず DeepSeek Harness チュートリアルから始めることをおすすめします。
DeepSeek Harness の仕組み
エージェントループはプラグインとして実装されています。Harness は Cordis を用いて、モデルアダプタ、ツール、セッション、ストレージ、サンドボックス、ループを構成します。
Cordis により、プラグインはサービスを探索し、イベントをやり取りできます。依存関係の変更でプラグインがロード/アンロードされ、ホットリロードで古いリスナーやバックグラウンドジョブが解放されます。
デフォルトのプロファイルでは、ループが設定として表れます。 dsh --profile headless --dump-default-config には次のエントリが含まれます。
- id: agent-loop
name: '@deepseek-ai/dsh-agent-loop'
config:
agents: []
このエントリは cordis.patch.yml で置き換え可能です。つまり、ループ自体は固定ではありません。
ランタイムの構成要素を示すプラグインパネル。動画:著者作成。
4 つのランタイムモード
DeepSeek Harness は 4 種類のランタイムモードを提供します。
- Standard: フル機能のコーディングエージェントモード
- PTC/Code: 複数のツール呼び出しを 1 つの TypeScript プログラムに統合
- Minimal: 持続的な bash と str_replace_editor のみを保持
- Creator: ランタイムの検査とテスト向け
DeepSeek のベンチマークは Minimal モードで実施されました。
Claude Code とは?
Claude Code は、ターミナル、IDE、デスクトップ、Web、Slack、CI でローカルまたはマネージドに利用できる、Anthropic のプロプライエタリなコーディングエージェント兼エージェントハーネスです。
CLI はプロジェクトディレクトリ内で claude から開始します。そのディレクトリがデフォルトのファイルスコープとなり、セッションは CLAUDE.md からプロジェクト指示を読み込みます。ファイルアクセスの拡張や外部サービスの追加は後から可能です。
Anthropic は、これらのインターフェースを Claude Code へのアクセス手段として提示しています。ローカルセッションは手元のマシンで、クラウドセッションはマネージド環境または組織運用のサーバーで動作します。Remote Control は、実行をローカルに保ったままブラウザで操作できます。
最適な始め方は、Claude Code チュートリアルとClaude Code ベストプラクティスガイドです。
ビルトインのループと拡張
Anthropic は Claude Code を Claude を取り巻くエージェントハーネスとして説明しており、繰り返されるコンテキスト、アクション、検証のループを備えています。ユーザーは実行中にそれを操作できます。
Claude Code はセッションをローカルに保存し、ウィンドウが埋まると古いコンテキストを圧縮します。 CLAUDE.md と自動メモリにより、選択した指示やプロジェクト情報がセッションをまたいで保持されます。サブエージェントは別のコンテキストウィンドウを使い、親セッションに要約を返します。
Claude Code の拡張レイヤーの仕組み
Claude Code は複数の拡張メカニズムをサポートします。 CLAUDE.md、Skills、フック、MCP、サブエージェント、プラグイン、Agent Teams、Agent SDK などがワークフローを拡張します。
これらの拡張は Claude Code のビルトインループの周辺で動作します。フックはツール呼び出しのルールを強制でき、Agent SDK はコード内でのツール提供やコンテキスト管理を担います。
DeepSeek Harness と Claude Code:アーキテクチャと制御
DeepSeek Harness は、置き換え可能な下位レベルのランタイム部品を公開します。Claude Code はビルトインのループを固定し、その周囲で拡張をサポートします。
交換可能なランタイム vs パッケージ化エージェント
DeepSeek Harness はランタイムを構成可能なインフラとして扱い、モデルアダプタ、ストレージ、サンドボックス、ループをプロファイルエントリで置き換え可能にします。Claude Code はビルトインのループを固定し、その周囲でワークフローを拡張します。
DeepSeek Harness はこの仕組みで、モデルプロバイダや他のランタイム部品の差し替えが可能です。なお、「プラグイン」という語の範囲も異なります。
- Claude Code のプラグインはループの周辺に機能を束ねます。
- DeepSeek Harness のプラグインはランタイムそのものの一部を定義できます。
モデル対応とプロバイダ選択
DeepSeek Harness はより多くのモデルプロバイダをサポートします。DeepSeek、Anthropic、OpenAI、主要クラウド、互換ローカルエンドポイントを実行できます。Claude Code が実行するのは…そう、Claude です。言い換えると、DeepSeek Harness は Claude をホストできますが、Claude Code は DeepSeek をホストできません。
これにより、テストでモデルを一定に保てました。Harness 上の DeepSeek モデルと Claude Code 上の Claude を比べると、同時に 2 つの変数が変わってしまいます。
プロバイダ選択には、認証情報やエンドポイントの設定、正確なモデル ID の指定が伴います。Claude Code はモデルファミリーと要求の大半の挙動を管理します。
プロバイダを変えても同一の挙動は保証されません。ツール形式、コンテキストサイズ、推論制御などの対応はモデルにより異なります。Harness は周辺のプラグイン設定を維持しますが、プロバイダアダプタは選択したエンドポイントに適合している必要があります。
セッションログと実行トレース
DeepSeek Harness は、プロンプト、コンテキスト挿入、ツール呼び出し、権限決定を追記専用のイベントストリームに記録します。トラジェクトリービューは各レコードの由来を可視化し、レジューム、フォーク、検索、リプレイをサポートします。
Claude Code は JSONL のトランスクリプトを保存し、レジュームとフォークに対応、OpenTelemetry のトレースも出力します。
どちらもセッション履歴を公開しますが、DeepSeek Harness はより多くのランタイム経路を UI に示します。
1 回の実行全体を再構成するトラジェクトリービュー。動画:著者作成。
実行環境と権限
DeepSeek Harness は Linux では bubblewrap または Landlock、macOS では Seatbelt、Windows では ACL 制限付きトークンを使用します。サンドボックスを起動できない場合、Harness はコマンドを停止します。Claude Code は権限モードに加え、許可/確認/拒否のルールを提供します。今回の実行では、Windows のサンドボックスが検証経路とタイミングに影響しました。
アクセスラベルは異なるため、両者の設定を厳密に一致させることはできませんでした。
-
DeepSeek Harness の権限プリセットには、
read-only、workspace-write、danger-full-accessがあります。 -
Claude Code は自動編集、手動承認、プランニング、ルールベースのコマンドアクセスを分離します。さらに、Git を使わずにロールバックできるよう編集前にファイルをスナップショットします。
ターミナルと VS Code の現行の Pro、Max、Team セッションでは、Auto モードが Claude Code のビルトインの開始モードです。バックグラウンドで分類器がアクションを審査します。テストでは明示的に acceptEdits を使用したため、権限の挙動は現在のデフォルトではなくテスト設定を反映しています。
承認回数を比較する際にはこの違いが重要です。
実行場所も異なります。Harness は主に Web UI をホストするマシンまたはヘッドレスプロセス上で動作します。Claude Code はローカル、Anthropic 管理のクラウド環境、あるいはセルフホスト基盤で動作できます。Remote Control は実行をローカルに保ったままブラウザ UI を追加します。
DeepSeek Harness と Claude Code のハンズオンテスト
これらのランタイムの違いが実行に影響するかを見るため、同じ 1 行の TypeScript バグを両ツールに与えました。計時結果だけを知りたい場合は、このセクションをご覧ください。
テスト設定:同一のモデル、リポジトリ、プロンプト
私は 1 行だけ不具合のある TypeScript の習慣連続(streak)ライブラリを書きました。経過ミリ秒を丸めて暦日を測っていました。
- 23:50 の達成に続く 00:10 の達成が同じ日に見えてしまう。
- 翌日の 08:00 と 20:00 の達成が、未達成日に見えてしまう。
10 個の固定テストのうち、3 つが失敗として露呈しました。
各クリーンクローンは計時前に依存関係をインストール済み。両エージェントには同一の指示を与え、Claude Sonnet 5 を使用。リポジトリとプロンプトは固定し、ツール、権限、サンドボックスの挙動は各製品固有のままとしました。
権限構成は同等ではありません。DeepSeek Harness は workspace-write で開始しましたが、Windows のサンドボックスを起動できませんでした。Web UI が承認を要求し、danger-full-access を 3 回許可しました。Claude Code は accept-edits を使用し、bash ではテストコマンドのみ実行可能でした。
この限定的なタスクはローカルのコードとテストのみを使用。エージェントは不具合の 1 行を見つけて編集し、スイートを実行する必要がありました。依存関係は計時前にインストール済みですが、Harness は npm install を再実行する選択をしました。
テスト結果:同一パッチ、異なる承認経路
Claude Code は 55.0 秒を報告。スイートを実行し、バグを発見、ソースを 1 ファイル編集し、テストを再実行。10/10 合格。
この Windows テストで、DeepSeek Harness は 125.4 秒。未使用の daysBetween ヘルパーを同様に見つけ、同じ編集を行い、元のスイートに合格しました。
差分はバイト単位で同一でした:
-import { DAY_MS } from './dates.js';
+import { daysBetween } from './dates.js';
function gapInDays(earlier: number, later: number): number {
- return Math.round((later - earlier) / DAY_MS);
+ return daysBetween(earlier, later);
}
承認の経路と繰り返されたシェル作業が、時間差の大半を説明します。
Windows で DeepSeek Harness の実行が遅くなった理由
DeepSeek Harness の workspace-write サンドボックスは Windows で起動できず、Web UI が 3 回にわたりより広い権限モードを要求しました。承認後、Harness は元のスイートを実行し、src/streak.ts を編集し、再びスイートを実行。10/10 合格でした。
この結果は Linux や macOS 上の Harness については何も示しません。両実行で同じモデル ID を使っているため、モデルファミリーの違いが原因ではあり得ません。とはいえ、権限とツールの経路の違いが各実行を形作りました。

どちらの実行も 10 件すべて合格。画像:著者作成。
同一モデルテストで分離できるもの
同一のモデル ID でも、要求は同一になりません。各製品が独自のシステムプロンプト、ツール説明、コンテキスト、権限ルールを与えます。いずれの入力も次のモデル応答に影響し得ます。
したがって、この設定は、DeepSeek モデル対 Claude の比較よりもモデルファミリーの差を統制できますが、あらゆる変数を分離はしません。
また、各構成で計時は 1 回のみです。時間やツール回数を安定した性能指標として扱うには、無作為順の繰り返し実行が必要です。
DeepSeek Harness と Claude Code:コスト、ベンチマーク、テストの限界
1 件の Windows 事例では、性能や価格の広範な比較は決着しません。ただし、ベンチマークの細部が重要であることは示します。
ベンチマークの注意:DeepSeek は Minimal モードを使用
DeepSeek が公表したスコアは Minimal モードでのもので、本比較で使った Standard モードではありません。別のハーネスを用いた独立検証では低い結果も報告されています。私はそれらを再現していません。Minimal モードの結果は Standard モードの性能を示さず、Claude Code を測ってもいません。
コスト:API 従量課金 vs Claude のサブスク
DeepSeek Harness にはライセンス料はありませんが、モデルとインフラのコストは発生します。DeepSeek の API はピーク/オフピーク料金を採用。Claude Code は有料の Claude プランに含まれます。予算化の前にAnthropic の料金ページを確認してください。
Harness の実行は Anthropic API の定価で約 $0.11。Claude Code はサブスクの認証情報を使いつつ $0.349 と表示。異なる課金系統の数字なので、直接の価格比較ではありません。
Claude の個人プランは Pro が月 $20、Max が月 $100 または $200。DeepSeek Harness に対応するサブスクはなく、請求はモデルプロバイダから来ます。ローカルモデルなら API 料金は不要ですが、マシンの計算資源は使用します。
チームは、モデル請求の外にあるホスト型サンドボックスやセルフホスト計算資源のコストも考慮すべきです。これらは Harness のライセンスには現れません。
安定性:開発者プレビュー vs 本番製品
テスト時点で Harness はリリース候補の段階でした。更新でプロファイルや保存済みセッションが壊れ得るため、チームはパッケージ版を固定してください。Claude Code はすでに本番運用段階です。
DeepSeek Harness と Claude Code の制約
どちらのシステムもすべてのワークフローを網羅するわけではありません。制約は設計上の異なる部分から生じます。
DeepSeek Harness の制約
Harness はランタイムの多くを公開しますが、そのぶんセットアップと検証の責任がユーザー側に残ります。
-
プロジェクトは開発者プレビュー段階であり、更新でプロファイルや保存済みセッションが壊れる可能性
-
プロバイダの認証情報、モデル ID、エンドポイントの規則を手動で設定する必要
-
この Windows 事例では
workspace-writeサンドボックスが起動に失敗し、danger-full-accessを 3 回承認が必要 -
現行の Python SDK には Windows 向けホイールがない
サンドボックスに関する発見は、前述の Windows 実行にのみ当てはまります。Linux や macOS では再試験していません。
v0.1.0-rc.7 のリリースノートには、持続的 Bash のレイテンシ修正と、より広い PTY 互換のための node-pty へのアップグレードが記載されています。したがって、この観察はバージョンおよび Windows 特有です。
Claude Code の制約
Claude Code はランタイムの意思決定をより多く担いますが、固定の境界により一部の実験はできません。
-
Claude モデルを実行し、他のモデルファミリーへの経路は提供しない
-
ビルトインのセッションループは交換可能なコンポーネントとして公開されていない
-
Claude Code は有料アクセスまたは別課金の API クレジットが必要で、いずれも利用上限あり
-
長いセッションでは古いコンテキストが圧縮され得るため、永続ルールは
CLAUDE.mdに記述すべき
これらの制約は、別のモデルプロバイダやカスタムループが必要なタスクで特に重要です。
DeepSeek Harness と Claude Code:どちらを選ぶべき?
ひとまずモデル名は脇に置きましょう。タスクはアプリケーションコードを仕上げることですか? それとも、作業を担うランタイムを変更することですか?
DeepSeek Harness を選ぶのは、ランタイム自体がプロジェクトである場合です。プロバイダ横断のテスト、カスタムループやサンドボックス、詳細な実行トレースに依存する作業に適します。プレリリースであるため、バージョン変更や構成検証の責任も伴います。
Claude Code を選ぶのは、既存のコードベースで作業し、より少ないランタイム設定でファイルの調査、コード編集、プロジェクトのチェック実行を行いたい場合です。この Windows テストでは、Harness が必要とした 3 回のフルアクセス承認なしに元のスイートを実行しました。
両方を使うのも、現実の作業を反映していれば有効です。日々のコーディングには Claude Code、プロンプトやツール、エージェントループの実験には Harness といった使い分けが考えられます。
まとめ
どちらのツールもリポジトリの調査、ファイル編集、コマンド実行が可能です。両者を分けるのはランタイムの所有権です。Harness は部品をプラグインとして公開し、Claude Code はビルトインのループをパッケージ化して、その周囲のワークフロー拡張を許します。
今回のテストを踏まえて出発点を選ぶなら、日常的なアプリ開発には Claude Code、ランタイムの変更や観察が目的そのものである場合は Harness を選びます。これはプレリリース版の Harness を用いた Windows のケーススタディ 1 件であり、恒久的なランキングではありません。
関連比較として、以下の記事も参照してください:Grok Build、Cursor、OpenCode、Codex、その他のClaude Code の代替。
DeepSeek Harness と Claude Code に関する FAQ
DeepSeek Harness は Claude Code のプロジェクト指示を再利用できますか?
はい。Harness は CLAUDE.md と AGENTS.md を読み込むため、リポジトリの指示を引き継げます。Claude Code の Skills は別扱いです。
DeepSeek Harness は Claude Code や Codex をサブエージェントとして実行できますか?
はい。プレリリースビルドには、Claude Code と Codex 用の任意のサブエージェントプロバイダバンドルが含まれます。構成に依存する前に Harness のバージョンを固定してください。
Claude Code では別のモデルに差し替えられますか?
いいえ、Claude のみを実行します。Harness は Claude をホストできますが、Claude Code は DeepSeek をホストできません。
DeepSeek Harness の Python SDK はどのプラットフォームを現在サポートしていますか?
現行のホイールは Linux(x64/arm64)と最近の arm64 macOS をサポートします。Windows 向けホイールはなく、例の構成はファイルシステム全体へのアクセスを使用します。
Claude Code は Harness の Python SDK のようなプラットフォーム制限がありますか?
厳密には異なります。ネイティブな Windows サンドボックスはないため、Windows で /sandbox を使うには WSL2 が必要ですが、CLI 自体は macOS、Linux、Windows で動作します。
DeepSeek Harness の Code モードで Python プログラムは実行できますか?
同梱のバックエンドでは未対応です。PTC(Code とも呼ばれる)モードはプログラム言語を認識しますが、現時点のコードランタイムは TypeScript バックエンドのみが提供されています。
DeepSeek Harness はローカルモデルを実行できますか?
はい。OpenAI 互換エンドポイント(ローカルの Ollama や vLLM サーバーなど)を公開するカスタムプロバイダを追加し、DeepSeek Harness にモデル ID を登録してください。