Vous avez exécuté une tâche dans Hermes hier. Vous avez exécuté ce qui vous a semblé être la même tâche dans dsh aujourd'hui. Même modèle, même clé API, même ordinateur portable. Les chiffres d'utilisation sont pourtant différents.
Vos yeux vont bien. Rien n'a été revalorisé du jour au lendemain.
Voici ce que presque toutes les comparaisons DeepSeek Harness vs Hermes oublient : le harness est la coque qui entoure le modèle, et cette coque décide de la quantité de contexte envoyée par étape, du nombre d'outils qu'elle annonce, de la fréquence des tentatives et de la question de savoir si elle renvoie toute la conversation à chaque appel. Changez la coque, changez la facture.
J'ai donc verrouillé la variable du modèle et mesuré. Deux harness, un seul endpoint, un seul deepseek-ai/deepseek-v4-pro, une seule invite, une seule machine, un seul après-midi. Même tâche, les deux l'ont terminée, et l'un d'eux a déplacé 8,4 fois plus de tokens d'invite que l'autre.
Principaux enseignements
- Même modèle, même tâche, les deux ont réussi : dsh a pris 121 secondes, Hermes a pris 780 secondes.
- Hermes a déplacé 1 111 573 tokens d'invite contre 132 600 pour dsh. Soit 8,4 fois, sur une seule tâche.
- Avant que l'un ou l'autre agent ne fasse quoi que ce soit, son invite système coûte des tokens : dsh 10 898 contre Hermes 13 892 juste pour répondre « OK ».
- dsh vous limite silencieusement à 262 144 de contexte sauf si vous remplacez
defaultContextWindow, gaspillant 75 % de la fenêtre de V4.- Choisissez dsh pour le codage, Hermes pour la mémoire, les tâches cron et les surfaces de chat. Ou utilisez les deux.

Atelier d'ingénierie divisé avec un bloc moteur nu fixé dans un banc d'essai en acier à gauche et un automate à limaille de laiton à droite, tous deux alimentés par une seule ligne de carburant en cuivre
Une ligne de carburant, deux bancs d'essai. Toute l'expérience. Généré avec openai/gpt-image-2.
DeepSeek Harness vs Hermes, même modèle, même tâche
Les deux harness ont reçu ceci, mot pour mot : créez un clone de Breakout en un seul fichier avec une raquette, 5 rangées de briques, un compteur de score en direct, une touche P pour mettre en pause, plus un bloc d'auto-test en ligne qui vérifie trois invariants physiques et affiche PASS ou FAIL. Ensuite, exécutez-le sans tête et corrigez-le jusqu'à ce que les trois affichent PASS.
Pas de bibliothèques. Pas de CDN. Pas d'étape de construction.
Les deux l'ont réellement fait. Voici les deux fichiers, rendus dans un vrai navigateur.

Animation côte à côte des deux builds Breakout en cours d'exécution : DeepSeek Harness (dsh) à gauche, Hermes Agent à droite, tous deux en lecture automatique à partir de la même invite DeepSeek V4 Pro
Les deux builds réenregistrés côte à côte et laissés en lecture automatique pour que vous puissiez voir chacun d'eux s'exécuter. À gauche : dsh, dont le jeu se lance automatiquement. À droite : Hermes , dont le jeu démarre en pause, puis s'exécute. Même invite d'un seul fichier, même DeepSeek V4 Pro , deux harness.
Maintenant, les chiffres qui décident réellement de cela.
| Exécution | Temps réel | Appels d'outils | Tokens d'invite (frais + mis en cache) | Tokens de sortie | Coût sur V4 Pro |
|---|---|---|---|---|---|
| dsh, tour 1 | 121,2 s | 8 | 14 840 + 117 760 = 132 600 | 5 231 | 0,24 $ |
| Hermes, tour 1 | 780 s | 35 | 49 685 + 1 061 888 = 1 111 573 | 19 317 | 1,93 $ |
| dsh, tour 2 | non terminé | 11 avant la limite | 44 291 + 132 608 | 2 463 | non terminé |
| Hermes, tour 2 | non terminé | non exécuté | non terminé | non terminé | non terminé |
Mesuré le 2026-08-21 sur deepseek-ai/deepseek-v4-pro, une machine, répertoire de travail vide par exécution. Les comptes de tokens sont lus par machine : ceux de dsh depuis son journal de session, ceux d'Hermes depuis son JSON --usage-file. Notez que les deux comptes d'appels d'outils ne proviennent pas de la même source : les 8 de dsh sont comptés depuis son journal (il en a revendiqué 6), tandis que les 35 d'Hermes sont son propre rapport, et son fichier d'utilisation enregistre 38 appels API. La méthode de coût est détaillée dans la dernière section.
Pourquoi deux lignes vides ? Le tour 2 n'a jamais été exécuté, et la raison est le meilleur point de données de l'article. Le seul tour 1 d'Hermes a poussé 1,13 million de tokens sur le compte, et au milieu du tour 2 de dsh, l'endpoint a répondu :
plaintext1dsh: QUOTA: 429: {"code":"member_spend_limit_exceeded", 2"message":"Member day spend limit reached (set by your team admin); 3resets at 2026-08-22T00:00:00Z.","type":"insufficient_quota"}
Un agent, un jeu Breakout, un budget quotidien. Je ne vais pas remplir ces cellules avec des estimations.
Un détail supplémentaire à signaler. dsh a rapporté « Tool calls used: 6 » dans sa réponse finale. Son propre journal de session enregistre 8. Les agents sont des narrateurs peu fiables concernant leur propre dépense, et c'est exactement pourquoi ce test lit les journaux plutôt que les résumés.
Pourquoi la plupart des comparaisons DeepSeek Harness vs Hermes sont erronées
Verdict d'abord : presque toutes les pages classées pour ce mot-clé mesurent la mauvaise variable, et vous pouvez le repérer dans une ligne de leur configuration.
Le modèle, pas la coque, est ce que ces tests ont mesuré
Allez lire les meilleurs résultats. Le motif se répète : exécutez dsh sur un modèle DeepSeek, exécutez Hermes sur ce sur quoi Hermes était déjà pointé, puis attribuez toute la différence au harness.
Ce n'est pas une comparaison de harness. C'est une comparaison de modèle déguisée en étiquette « harness ».
Si dsh est sur V4 Pro et Hermes sur autre chose, le delta que vous mesurez est principalement celui des deux modèles, et la contribution de la coque est enterrée au-delà de toute récupération. Donc, ce test fait la chose ennuyeuse et nécessaire : les deux harness pointent vers la même URL de base, le même identifiant de modèle, la même clé.
Le choix du harness modifie les chiffres par lui-même
Vous voulez une preuve que la coque seule est coûteuse ? Demandez à chacun de ne rien faire.
J'ai envoyé aux deux la même invite triviale : Réponds exactement avec le mot : OK. Aucun outil nécessaire, aucun fichier, aucune réflexion requise.
| Harness | Tokens d'invite pour dire « OK » | Tokens de sortie | Temps réel |
|---|---|---|---|
| DeepSeek Harness (dsh) | 10 898 | 2 | 5,6 s |
| Hermes Agent | 13 892 (+1 024 mis en cache) | 17 | 8,5 s |
Même modèle. Même question. Un écart de 2 994 tokens avant que tout travail réel ne commence, car cet écart est le harness : son invite système, ses schémas d'outils, son fichier de règles. Hermes embarque plus de surface, donc Hermes embarque plus de tokens.
Maintenant, multipliez cela par une boucle d'agent de 38 appels où chaque appel renvoie la conversation jusqu'à présent. Les lectures en cache représentaient 88,8 % des tokens d'invite de dsh et 95,5 % de ceux d'Hermes. Cette relecture, c'est la facture.
Un endpoint, deux harness : la configuration DeepSeek V4
Pour comparer les coques, vous devez que le côté modèle reste parfaitement immobile. Pas seulement le même nom de modèle : le même endpoint, la même limite de débit, le même prix à 3h du matin qu'à 15h.
Ce dernier point est plus important qu'il n'y paraît. Si votre fournisseur facture des tarifs de pointe et hors pointe, alors « tour 1 dans Hermes à 09:00 » et « tour 2 dans dsh à 11:00 » ne sont pas des exécutions comparables, et vous ne pourrez jamais démêler quelle part du delta revient au harness et quelle part à l'horloge.
Ainsi, les deux harness pointent ici vers un endpoint compatible OpenAI à tarif unique sur Atlas Cloud : https://api.atlascloud.ai/v1. Même prix toute la journée, pas de fenêtre de pointe, pas de file d'attente séparée par harness, une seule clé pour les deux.
| Rôle dans le test | Identifiant du modèle | Contexte / sortie max | Prix par 1M entrée / sortie |
|---|---|---|---|
| Moteur principal pour les deux | deepseek-ai/deepseek-v4-pro | 1 048 576 / 393 216 | 1,68 $ / 3,38 $ |
| Niveau bon marché, rôle « bras » | deepseek-ai/deepseek-v4-flash | 1 048 576 / 393 216 | 0,14 $ / 0,28 $ |
| Travail cron longue durée | deepseek-ai/deepseek-v3.2 | 163 840 / 163 840 | 0,26 $ / 0,38 $ |
Prix lus sur les pages des modèles le 2026-08-21. Pas de badge de réduction sur la famille DeepSeek pour le moment, donc rien ici n'est un tarif promotionnel qui expire la semaine prochaine.
Petite chose facile à manquer : /v1/models rapporte deepseek-v4-pro et deepseek-v4-flash comme fp4, tandis que deepseek-v4-pro-0813 revient fp8. Vous voulez les poids de précision supérieure ? Épinglez l'identifiant daté.
Bien. Construisons cela.
Exécutez vous-même le test DeepSeek Harness vs Hermes
Aperçu : sept étapes, deux fichiers de configuration, une invite, et vous obtenez votre propre version de ce tableau au lieu de me faire confiance. Preuve que cela fonctionne : chaque chiffre ci-dessus est sorti exactement de ces étapes sur un MacBook standard, Node v24.15.0, dsh 0.1.0-rc.7, Hermes v0.20.4.
Commençons.
Étape 1 : Obtenez un endpoint qui reste stable
Les deux harness s'appuient fortement sur l'appel de fonction, donc avant d'installer quoi que ce soit, prouvez que l'endpoint sert des outils :
plaintext1curl -s https://api.atlascloud.ai/v1/models \ 2 -H "Authorization: Bearer $ATLAS_API_KEY" \ 3 | jq '.data[] | select(.id|test("v4-pro$")) | {id, context_length, max_output_length, supported_features}'
Sortie réelle de cet appel :
plaintext1{ 2 "id": "deepseek-ai/deepseek-v4-pro", 3 "context_length": 1048576, 4 "max_output_length": 393216, 5 "supported_features": ["json_mode", "tools", "structured_outputs"] 6}
tools dans cette liste est la chose que vous vérifiez. Pas d'outils, pas de boucle d'agent, et les deux harness échoueront de manière confuse sans le dire.
Récupérez votre clé depuis la page du modèle DeepSeek V4 Pro, puis export ATLAS_API_KEY=... avant chaque commande ci-dessous.
Un piège pour le côté Hermes : la réponse encapsule le tableau sous la forme {"code":200,"msg":"succeed","data":[...]}. Hermes interroge /v1/models pendant la configuration et l'analyse correctement, mais si vous écrivez vos propres outils contre cela, ne vous attendez pas à une liste nue.
Étape 2 : Installez les deux agents
plaintext1# DeepSeek Harness 2npm install @deepseek-ai/dsh 3 4# Hermes Agent 5curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Trois notes d'installation qui m'ont coûté du temps :
- dsh nécessite Node
^22.19.0 || >=24.0.0. Il ne supporte pas 23.x. La plupart des tutoriels disent « Node 20+ », ce qui est tout simplement faux. - Cette installation npm a tiré 453 paquets et a pris 8 minutes. Ce n'est pas une petite dépendance.
- Hermes apporte son propre Python 3.11 via
uv, donc votre Python système n'a pas d'importance (le mien est 3.9). Si le programme d'installation échoue en cours de téléchargement sur un hoquet de PyPI, relancez la synchronisation des dépendances plutôt que tout le script.
Étape 3 : Pointez DeepSeek Harness vers l'endpoint
Écrivez ceci dans $DSH_HOME/settings.yaml (par défaut ~/.dsh) :
plaintext1llm-pi-ai: 2 providers: 3 atlas: 4 displayName: Atlas Cloud 5 apiKeyEnv: ATLAS_API_KEY 6 api: openai-completions 7 baseURL: https://api.atlascloud.ai/v1 8 defaultContextWindow: 1048576 9 defaultMaxTokens: 65536 10 compat: 11 thinkingFormat: deepseek 12 models: 13 - id: deepseek-ai/deepseek-v4-pro 14 name: DeepSeek V4 Pro 15 reasoningEfforts: 16 off: 17 high: high 18 - id: deepseek-ai/deepseek-v4-flash 19 name: DeepSeek V4 Flash 20 reasoningEfforts: 21 off: 22 high: high 23agent-default-model: 24 provider: atlas 25 model: deepseek-ai/deepseek-v4-pro
Trois lignes dans ce fichier méritent chacune une phrase, car se tromper sur l'une d'elles change votre facture :
compat.thinkingFormat: deepseekest la ligne que personne n'écrit. dsh devine le dialecte de réflexion à partir de l'URL de l'endpoint. Son propre README d'adaptateur est clair à ce sujet : l'URL d'une passerelle privée ne dit rien, donc un endpoint non reconnu est traité « comme s'il s'agissait d'OpenAI lui-même ». Votre passerelle en dialecte DeepSeek est alors interpellée en dialecte OpenAI. Cette clé n'existe que sousapi: openai-completions.- Remplacez
defaultContextWindow. Les valeurs par défaut au niveau de la route sont 262 144 de contexte et 32 768 tokens max. Si vous déclarez manuellement des modèles V4 sans toucher à ces valeurs, vous avez silencieusement jeté 75 % d'une fenêtre de 1 048 576. agent-default-modelprendprovideretmodelcomme deux clés séparées. Écriremodel: atlas/deepseek-ai/deepseek-v4-procomme une seule chaîne semble raisonnable et ne fait rien. Vous obtenezMISSING_CREDENTIAL: no API key for provider route "deepseek-official", et vous partez à la recherche d'un problème de clé que vous n'avez pas.
Notez que apiKeyEnv est une référence d'identifiant, pas le secret. Aucune clé ne va dans ce fichier.
Étape 4 : Pointez Hermes vers le même endpoint
La voie guidée est hermes model, puis choisissez « Custom endpoint ». La voie scriptable est cinq commandes :
plaintext1hermes config set model.provider custom 2hermes config set model.default deepseek-ai/deepseek-v4-pro 3hermes config set model.base_url https://api.atlascloud.ai/v1 4hermes config set model.api_key "$ATLAS_API_KEY" 5hermes config set model.context_length 1048576
Ce qui écrit ~/.hermes/config.yaml :
plaintext1model: 2 provider: custom 3 default: deepseek-ai/deepseek-v4-pro 4 base_url: https://api.atlascloud.ai/v1 5 api_key: apikey-... 6 context_length: 1048576
provider: custom est un fournisseur de première classe ici, pas un alias, et l'URL de base doit se terminer par /v1 car Hermes ajoute lui-même /chat/completions (documentation Hermes Agent, Configuring Models, 2026).
Ne sautez pas la ligne api_key. La documentation dit que la clé se replie sur OPENAI_API_KEY, et dans mon exécution, exporter cette variable n'a pas suffi : Hermes a envoyé la requête sans authentification utilisable et Atlas a répondu HTTP 401: {"code":401,"msg":"unauthorized"}. Définir model.api_key explicitement a résolu le problème à l'essai suivant, en 8,5 secondes.
Étape 5 : Exécutez le tour 1 sur les deux
Videz d'abord le répertoire des compétences d'Hermes (~/.hermes/skills). Une compétence préexistante rend le tour 1 injuste, et le tour 2 est là où vous voulez voir une compétence créée puis réutilisée.
Ensuite, donnez aux deux harness ceci, octet pour octet :
plaintext1Create a single self-contained file game.html: a Breakout clone with paddle, 5 rows of bricks, 2a live score counter, and a P key that pauses. No external libraries, no CDN, no build step. 3Then append an inline <script id="selftest"> block that asserts three physics invariants 4(ball reflects on paddle hit, score increments exactly once per brick, ball never leaves the canvas) 5and prints PASS/FAIL to the console. Run it headlessly, fix anything that fails, and stop only 6when all three asserts print PASS. Report the number of tool calls you used.
Paramètres : un répertoire vide frais par harness, raisonnement laissé actif, sortie max d'au moins 32 768, et rien d'autre en cours d'exécution sur la machine pour que les chiffres de temps réel aient un sens.
plaintext1# dsh, session persistée en un coup 2DSH_HOME=~/.dsh dsh --profile headless "$(cat prompt-r1.txt)" 3 4# Hermes, en un coup avec un rapport d'utilisation lisible par machine 5hermes -z "$(cat prompt-r1.txt)" --yolo --usage-file hermes-r1-usage.json
Deux choses vous surprendront ici.
Premièrement, hermes -z n'affiche absolument rien jusqu'à ce qu'il ait terminé. Pas de bannière, pas de spinner, pas d'aperçu des outils. Le mien est resté silencieux pendant 13 minutes et avait l'air bloqué ; il ne l'était pas, il était en train de broyer 38 appels API. Vérifiez ps pour un shell enfant si vous avez besoin de réassurance.
Deuxièmement, Hermes a ignoré mon répertoire de travail et a écrit game.html dans $HOME à la place. Si vous voulez le fichier là où vous avez lancé, passez --no-restore-cwd ou --in DIR. J'ai perdu un tour à cause de cela.
Pendant ce temps, dsh a terminé en 121 secondes et son interface Web relira la même session :

Interface Web de DeepSeek Harness montrant la session Breakout terminée, trois PASS, 9 étapes et 133K tokens d'entrée sur DeepSeek V4 Pro
Interface Web de dsh sur 127.0.0.1:3080. Notez la barre d'état : 9 étapes, cache hit 89 %, entrée 133K tokens, et le sélecteur de modèle indiquant DeepSeek V4 Pro depuis la configuration de l'étape 3.
--usage-file du côté Hermes est vraiment utile et sous-documenté : il écrit les tokens d'entrée, les tokens de sortie, les lectures de cache, les tokens de raisonnement, les api_calls et un coût estimé en JSON, et il écrit ce fichier même lorsque l'exécution échoue.
dsh n'a pas de drapeau équivalent, mais il n'en a pas besoin. Son journal de session en annexe contient tout, avec un piège. Le journal dans $DSH_HOME/sessions/<encoded-cwd>/session-<uuid>/session.jsonl.zstd est un flux zstd multi-trame, une trame par vidage. zlib.zstdDecompressSync(buf) ne renvoie que la première trame, donc un journal de 150 Ko se décode en quelques centaines d'octets et semble vide. Divisez sur les octets magiques vous-même :
plaintext1const MAGIC = [0x28, 0xb5, 0x2f, 0xfd], offs = []; 2for (let i = 0; i < buf.length - 4; i++) 3 if (MAGIC.every((m, j) => buf[i + j] === m)) offs.push(i); 4const text = offs 5 .map((o, k) => zlib.zstdDecompressSync(buf.subarray(o, offs[k + 1] ?? buf.length)).toString()) 6 .join('');
L'utilisation se trouve sur les événements assistant/chunk où data.chunk.type === 'usage', un niveau plus profond que vous ne le pensez (data.chunk.usage.inputTokens). Les appels d'outils proviennent des blocs de contenu assistant/message de type tool-call. Et request/header.data.header.config montre le modèle et maxTokens qui sont réellement passés sur le fil, ce qui est la façon de prouver que votre configuration de l'étape 3 a pris effet au lieu d'espérer.
Étape 6 : Tour 2, la demande de modification
Même répertoire, game.html déjà présent du tour 1. Demandez maintenant aux deux une modification :
plaintext1Add a falling power-up: when a brick in the top row breaks, drop a token that widens the paddle 2for 10 seconds. Keep all three selftest asserts passing and add a fourth assert for the power-up 3timer. Same file, no libraries.
C'est le tour qui sépare les deux conceptions. Hermes écrit des compétences après des tâches complexes et conserve une mémoire à trois niveaux, donc le tour 2 est l'endroit où une compétence du tour 1 soit porte ses fruits, soit non. dsh n'a pas de mémoire à long terme du tout, mais il a un journal de session en annexe que vous pouvez forker et rejouer à partir du milieu au lieu de redémarrer.
Soyez honnête avec vous-même concernant le budget avant de commencer celui-ci. Mon tour 2 est mort 11 appels d'outils après le début sur un plafond de dépense quotidienne, ce qui explique pourquoi le tableau ci-dessus a deux lignes vides plutôt que deux lignes inventées. Le propre tableau de bord d'Hermes montre pourquoi :

Page des sessions du tableau de bord Hermes Agent listant l'exécution Breakout à 76 messages sur deepseek-v4-pro
Hermes v0.20.4 relisant ses propres sessions. L'exécution Breakout terminée est de 76 messages, tous sur deepseek-v4-pro via l'endpoint Atlas.
Étape 7 : Lisez la facture
Deux chiffres par exécution, depuis le journal du harness lui-même, jamais depuis le résumé de l'agent :
plaintext1# Hermes 2jq '{input_tokens, output_tokens, cache_read_tokens, api_calls}' hermes-r1-usage.json 3 4# dsh : agrégez le journal de session décodé 5node dsh-stats.js "$DSH_HOME/sessions/<encoded-cwd>"
Ensuite, recoupez avec la page d'utilisation de votre fournisseur. Lorsque le journal du harness et le fournisseur sont en désaccord, faites confiance au fournisseur : c'est le nombre que vous payez.
Pour ce que ça vaut, la propre barre d'état de dsh concordait avec mon analyseur de journal à l'arrondi près (133K tokens d'entrée, 89 % de cache hit contre mes 132 600 calculés et 88,8 %). L'outillage est honnête. Les résumés en anglais des agents ne le sont pas.
Au-delà de DeepSeek Harness vs Hermes : utilisez les deux comme cerveau et bras
Voici la réponse que personne dans le débat « lequel choisir » n'offre : vous n'êtes pas obligé de choisir.
Les deux projets échouent dans des directions opposées, ce qui en fait des coéquipiers exceptionnellement bons.
| Capacité | DeepSeek Harness (dsh) | Hermes Agent |
|---|---|---|
| Exécutions de codage | Fort, c'est l'objectif de conception | A terminé la même tâche en 6,4 fois le temps |
| Mémoire à long terme | Aucune | Trois niveaux, gérée par l'agent |
| Compétences auto-améliorables | Aucune | Oui, compatible agentskills.io |
| Fork / relecture de journal de session | Oui, JSONL en annexe | Recherche de session avec résumé LLM |
| Cron intégré | Non | Oui, planifications en langage naturel |
| Surfaces de chat | Non | Telegram, Discord, Slack, WhatsApp, Signal |
| Interface | Web UI, TUI, sans tête | TUI, CLI, tableau de bord, passerelle |
| Runtime | Node 22.19+/24+ | Python 3.11 (intégré) |
| Maturité | Aperçu développeur 0.1, changements cassants | Expédié fév. 2026, v0.20.4 |
| Licence / étoiles | MIT, 176,5k | MIT, 233,6k |
Les nombres d'étoiles lus sur les deux référentiels le 2026-08-21 (deepseek-ai/deepseek-harness à 176,5k étoiles et 19,2k forks, NousResearch/hermes-agent à 233,6k étoiles et 46,8k forks). Surveillez la trajectoire, pas les totaux : dsh était à 144 361 étoiles lorsque j'ai vérifié le 2026-08-17, donc il a ajouté environ 32 000 en quatre jours.
Trois façons de les combiner :
- Cerveau et bras. Hermes sur V4 Pro détient la mémoire, le planning et le fil Telegram. Il délègue le codage proprement dit à dsh sur le niveau économique. Une clé couvre les deux, donc vous ne gérez pas deux relations de facturation.
- Niveau économique pour la boucle, niveau coûteux pour la décision. Le travail cron récurrent s'exécute sur
deepseek-v3.2ou DeepSeek V4 Flash ; l'appel difficile remonte à Pro. - Sans tête les deux. dsh
--profile headlesset Hermes-zprennent tous deux une invite et impriment une réponse, donc l'un ou l'autre s'intègre dans un script shell ou une étape CI sans TUI.
Avertissement honnête sur les faiblesses, car une comparaison qui ne liste que les forces est une publicité. dsh est un aperçu développeur 0.1 et le dit dans sa propre interface : il cassera entre les versions, il n'a pas de mémoire, il n'a pas de canal de messagerie natif, et il sous-rapporte ses propres appels d'outils. Hermes est le projet le plus mature d'une large marge, mais il est le plus lourd par token d'un facteur 8, il est resté silencieux pendant 13 minutes sur une tâche que dsh a terminée en 2, et il a écrit mon fichier de sortie dans le mauvais répertoire.
Ce que coûte réellement DeepSeek Harness vs Hermes par tâche
Maintenant, l'arithmétique, avec les hypothèses en évidence.
Atlas publie un tarif d'entrée pour V4 Pro (1,68 $ par 1 M) sans taux distinct pour les hits de cache sur la page du modèle. Donc, je tarifie chaque token d'invite au tarif d'entrée complet, lectures en cache incluses. C'est un plafond conservateur, pas une estimation déguisée en mesure.
Exemple travaillé, tour 1 de dsh :
- Invite : 14 840 frais + 117 760 mis en cache = 132 600 tokens. À 1,68 $/1M, cela fait 0,2228 $.
- Sortie : 5 231 tokens. À 3,38 $/1M, cela fait 0,0177 $.
- Total : 0,2404 $ par tâche.
Même méthode sur le tour 1 d'Hermes : 1 111 573 tokens d'invite = 1,8674 $, plus 19 317 tokens de sortie à 0,0653 $, soit 1,9327 $. Le propre --usage-file d'Hermes estimait 0,2817 $ pour cette exécution, ce qui implique qu'il suppose un taux d'entrée mis en cache proche de 0,125 $ par 1 M. Si votre fournisseur réduit réellement les lectures de cache de manière aussi agressive, les deux nombres ci-dessous chutent ensemble et le rapport entre eux bouge à peine.
| Scénario | Par tâche sur V4 Pro | Par tâche sur V4 Flash | 20 tâches/jour, 30 jours (Pro) |
|---|---|---|---|
| dsh tour 1 | 0,24 $ | 0,02 $ | 144,27 $ |
| Hermes tour 1 | 1,93 $ | 0,16 $ | 1 159,64 $ |
| Tour 2, l'un ou l'autre | non terminé | non terminé | non terminé |
Deux choses ressortent de ce tableau.
Le choix du harness vaut 8x. Même modèle, même tâche, même résultat, et une coque coûte huit fois l'autre. Ce n'est pas une différence d'arrondi que vous optimiserez plus tard.
Le niveau de modèle vaut 12x en plus. C'est pourquoi la division cerveau-et-bras n'est pas un gadget : dsh sur Flash atterrit à deux cents par tâche, et Hermes sur Pro atterrit à près de deux dollars pour le jeu Breakout identique.
Et l'optimisation la moins chère de toutes reste celle de l'étape 3. Une route dsh laissée sur sa valeur par défaut de 262 144 fait plus de travail de compression en plus d'étapes pour adapter le même travail, et vous payez pour chacune d'elles.
C'est la vraie réponse à DeepSeek Harness vs Hermes : mesurez votre propre coque avant d'aller chercher un modèle moins cher.
FAQ DeepSeek Harness vs Hermes
Hermes Agent et DeepSeek Harness peuvent-ils utiliser le même modèle et la même clé API ?
Oui, et c'est la seule manière honnête de les comparer. Les deux parlent à des endpoints compatibles OpenAI. dsh a besoin d'une route de fournisseur llm-pi-ai avec api: openai-completions plus baseURL ; Hermes a besoin de provider: custom plus une base_url se terminant par /v1. Une clé, deux harness, les deux niveaux de prix. Les configurations complètes sont aux étapes 3 et 4.
DeepSeek Harness est-il meilleur qu'Hermes pour le codage ?
Sur ce test, clairement oui : 121 secondes contre 780, 8 appels d'outils contre 35, et un huitième de la dépense en tokens, les deux réussissant les trois auto-tests. Mais « meilleur pour le codage » n'est pas « meilleur ». Si ce dont vous avez besoin est un travail planifié qui rapporte à Telegram chaque matin et se souvient de ce qu'il a appris la semaine dernière, dsh n'a rien de tout cela et Hermes a tout.
DeepSeek Harness et Hermes sont-ils gratuits et open source ?
Les deux sont sous licence MIT et gratuits à télécharger. Ce que vous payez, ce sont les tokens, et comme le montre le tableau ci-dessus, ce n'est pas une erreur d'arrondi. Il convient de répéter que dsh est explicitement un aperçu développeur à 0.1 et avertit des changements de compatibilité dans sa propre interface, donc épinglez votre version si elle va quelque part près de la production.
Pourquoi la même tâche coûte-t-elle plus cher dans un harness ?
Quatre raisons, approximativement par ordre de taille :
- Relectures de conversation. Les tokens d'invite mis en cache représentaient 88,8 % du total de dsh et 95,5 % de celui d'Hermes. Chaque étape supplémentaire renvoie tout ce qui la précède.
- Invite système et schémas d'outils. Mesuré ci-dessus : 10 898 contre 13 892 tokens avant tout travail.
- Nombre d'étapes. 8 appels d'outils et 9 étapes contre 35 appels d'outils sur 38 appels API.
- Fenêtre limitée. Le repli de dsh sur 262 144 au lieu de 1 048 576 force un travail de compression supplémentaire sur les longues tâches.
Puis-je exécuter DeepSeek Harness et Hermes en même temps ?
Oui. Ils ne partagent rien à part votre clé API : des runtimes différents, des répertoires de configuration différents, des magasins de session différents, des ports différents (3080 et 9119 par défaut). Le motif habituel est Hermes comme cerveau toujours actif sur le niveau coûteux et dsh comme bras de codage sur le niveau économique.
DeepSeek Harness fonctionne-t-il uniquement avec l'API propriétaire de DeepSeek ?
Non, et c'est l'idée fausse la plus courante à son sujet. Toute passerelle compatible OpenAI fonctionne via api: openai-completions et une baseURL. N'oubliez pas compat.thinkingFormat: deepseek, car dsh déduit le dialecte de réflexion de l'URL, et une URL de passerelle tierce ne lui dit rien du tout.






