Seedance 2.5 już dostępne — Jako pierwsze na Atlas Cloud

DeepSeek Harness vs Hermes: Który spala więcej tokenów?

DeepSeek Harness kontra Hermes: Który spala więcej tokenów?

Wczoraj uruchomiłeś zadanie w Hermesie. Dzisiaj uruchomiłeś to samo zadanie w dsh. Ten sam model, ten sam klucz API, ten sam laptop. Liczby użycia i tak wyszły inne.

Twoje oczy są w porządku. Nic nie zmieniło ceny z dnia na dzień.

Oto co pomija prawie każde porównanie DeepSeek Harness vs Hermes: harness to powłoka owinięta wokół modelu, a ta powłoka decyduje, ile kontekstu wychodzi na krok, ile narzędzi reklamuje, jak często próbuje ponownie i czy wysyła całą konwersację przy każdym wywołaniu. Zmień powłokę, zmień rachunek.

Więc zamknąłem zmienną modelu i zmierzyłem. Dwie powłoki, jeden endpoint, jeden deepseek-ai/deepseek-v4-pro, jedna instrukcja, jeden komputer, jedno popołudnie. To samo zadanie, obie je ukończyły, a jedna przesłała 8,4 razy więcej tokenów promptu niż druga.

Kluczowe wnioski

  • Ten sam model, to samo zadanie, obie zaliczone: dsh zajęło 121 sekund, Hermes 780 sekund.
  • Hermes przesłał 1 111 573 tokenów promptu wobec 132 600 dsh. To 8,4x w jednym zadaniu.
  • Zanim którykolwiek agent cokolwiek zrobi, jego prompt systemowy kosztuje tokeny: dsh 10 898 vs Hermes 13 892 tylko po to, by odpowiedzieć „OK".
  • dsh domyślnie ogranicza cię do 262 144 kontekstu, chyba że nadpiszesz defaultContextWindow, odrzucając 75% okna V4.
  • Wybierz dsh do kodowania, Hermes do pamięci, cron i interfejsów czatowych. Albo uruchom oba.

Podzielony warsztat inżynieryjny z nagim blokiem silnika zaciśniętym w stalowej ramie testowej po lewej i mosiężnym automatem tokarskim po prawej, oba zasilane jedną miedzianą rurą paliwową

Jedna rura paliwowa, dwa stanowiska testowe. To cały eksperyment. Wygenerowano za pomocą openai/gpt-image-2.

DeepSeek Harness vs Hermes, ten sam model, to samo zadanie

Obie powłoki dostały to, słowo w słowo: zbuduj samodzielny klon Breakout w jednym pliku z paletką, 5 rzędami cegieł, licznikiem punktów na żywo, pauzą po klawiszu P oraz osadzonym autotestem, który sprawdza trzy niezmienniki fizyki i wypisuje PASS lub FAIL. Następnie uruchom go bezgłowo i naprawiaj, aż wszystkie trzy wypiszą PASS.

Żadnych bibliotek. Żadnego CDN. Żadnego etapu budowania.

Obie rzeczywiście to zrobiły. Oto dwa pliki, wyrenderowane w prawdziwej przeglądarce.

Animowane zestawienie dwóch wersji Breakout grających: DeepSeek Harness (dsh) po lewej, Hermes Agent po prawej, obie odtwarzane automatycznie z identycznego promptu DeepSeek V4 Pro

Dwie wersje nagrane obok siebie i puszczone w trybie auto-play, abyś mógł zobaczyć, jak każda działa. Po lewej: dsh, którego gra uruchamia się automatycznie. Po prawej: Hermes, którego gra uruchamia się w stanie pauzy, a potem działa. Ten sam prompt jednego pliku, ten sam DeepSeek V4 Pro, dwie powłoki.

A teraz liczby, które faktycznie o tym decydują.

UruchomienieCzas rzeczywistyWywołania narzędziTokeny promptu (świeże + z cache)Tokeny wyjścioweKoszt według V4 Pro
dsh, runda 1121,2 s814 840 + 117 760 = 132 6005 2310,24 $
Hermes, runda 1780 s3549 685 + 1 061 888 = 1 111 57319 3171,93 $
dsh, runda 2nieukończone11 przed limitem44 291 + 132 6082 463nieukończone
Hermes, runda 2nieukończonenieuruchomionenieukończonenieukończonenieukończone

Zmierzono 2026-08-21 na deepseek-ai/deepseek-v4-pro, jeden komputer, pusty katalog roboczy na uruchomienie. Liczby tokenów są odczytane maszynowo: dsh z dziennika sesji, Hermes z pliku JSON --usage-file. Należy pamiętać, że oba liczniki wywołań narzędzi nie pochodzą z tego samego źródła: 8 dsh jest liczone z jego dziennika (twierdził, że 6), podczas gdy 35 Hermesa to jego własny raport, a jego plik użycia rejestruje 38 wywołań API. Metoda kosztu jest opisana w ostatniej sekcji.

Dlaczego dwa puste wiersze? Runda 2 nigdy nie została uruchomiona, a powód jest najlepszym pojedynczym punktem danych w artykule. Sama runda 1 Hermesa przepchnęła 1,13 miliona tokenów przez konto, a w trakcie rundy 2 dsh endpoint odpowiedział:

plaintext
1dsh: 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"}

Jeden agent, jedna gra Breakout, jeden dzienny limit budżetu. Nie wypełniam tych komórek szacunkami.

Jeszcze jeden szczegół wart odnotowania. dsh zgłosiło „Liczba użytych wywołań narzędzi: 6” w swojej końcowej odpowiedzi. Jego własny dziennik sesji rejestruje 8. Agenci są zawodnymi narratorami własnych wydatków, co jest właśnie powodem, dla którego ten test czyta dzienniki, a nie podsumowania.

Dlaczego większość porównań DeepSeek Harness vs Hermes jest zepsuta

Najpierw werdykt: prawie każda strona pozycjonująca się na to hasło mierzy niewłaściwą zmienną, a można to zauważyć w jednej linijce ich konfiguracji.

Model, a nie powłoka, jest tym, co te testy mierzyły

Przejdź do najlepszych wyników. Wzór się powtarza: uruchom dsh na modelu DeepSeek, uruchom Hermes na tym, na co Hermes był już ustawiony, a następnie przypisz całą różnicę powłoce.

To nie jest porównanie powłok. To jest porównanie modeli w etykiecie z napisem „powłoka".

Jeśli dsh jest na V4 Pro, a Hermes na czymś innym, różnica, którą mierzysz, to głównie dwa modele, a wkład powłoki jest pogrzebany nie do odzyskania. Dlatego ten test robi nudną, konieczną rzecz: obie powłoki wskazują na ten sam bazowy URL, ten sam identyfikator modelu, ten sam klucz.

Wybór powłoki sam w sobie zmienia liczby

Chcesz dowodu, że sama powłoka jest droga? Poproś każdą, by nic nie robiła.

Wysłałem obu tą samą trywialną instrukcję: Reply with exactly the word: OK. Żadnych narzędzi, żadnych plików, żadnego myślenia.

PowłokaTokeny promptu, by powiedzieć „OK”Tokeny wyjścioweCzas rzeczywisty
DeepSeek Harness (dsh)10 89825,6 s
Hermes Agent13 892 (+1 024 z cache)178,5 s

Ten sam model. To samo pytanie. Różnica 2 994 tokenów przed rozpoczęciem jakiejkolwiek rzeczywistej pracy, ponieważ ta różnica to powłoka: jej prompt systemowy, jej schematy narzędzi, jej plik reguł. Hermes wnosi więcej powierzchni, więc Hermes wnosi więcej tokenów.

Teraz pomnóż to przez pętlę agenta z 38 wywołaniami, gdzie każde wywołanie ponownie wysyła całą dotychczasową rozmowę. Odczyty z cache stanowiły 88,8% tokenów promptu dsh i 95,5% Hermesa. To ponowne czytanie to rachunek.

Jeden endpoint, dwie powłoki: konfiguracja DeepSeek V4

Aby porównać powłoki, strona modelu musi pozostać idealnie nieruchoma. Nie tylko ta sama nazwa modelu: ten sam endpoint, ten sam limit szybkości, ta sama cena o 3:00 nad ranem, co o 15:00.

To ostatnie ma większe znaczenie, niż się wydaje. Jeśli twój dostawca pobiera stawki w godzinach szczytu i poza nimi, to „runda 1 w Hermesie o 09:00” i „runda 2 w dsh o 11:00” nie są porównywalne, i nigdy nie rozplączesz, ile różnicy pochodziło od powłoki, a ile od zegara.

Dlatego obie powłoki tutaj wskazują na jeden endpoint zgodny z OpenAI na stałej stawce w Atlas Cloud: https://api.atlascloud.ai/v1. Ta sama cena przez cały dzień, żadnego okna szczytu, żadnej osobnej kolejki dla powłoki, jeden klucz dla obu.

Rola w teścieIdentyfikator modeluKontekst / maks. wyjścieCena za 1M wejście / wyjście
Główny silnik dla obu powłokdeepseek-ai/deepseek-v4-pro1 048 576 / 393 2161,68 $ / 3,38 $
Tania warstwa, rola „ramion"deepseek-ai/deepseek-v4-flash1 048 576 / 393 2160,14 $ / 0,28 $
Długotrwała praca crondeepseek-ai/deepseek-v3.2163 840 / 163 8400,26 $ / 0,38 $

Ceny odczytane ze stron modeli 2026-08-21. Żadna odznaka zniżki na rodzinę DeepSeek w tej chwili, więc nic tutaj nie jest stawką promocyjną, która wygaśnie w przyszłym tygodniu.

Drobna rzecz, którą łatwo przeoczyć: /v1/models raportuje deepseek-v4-pro i deepseek-v4-flash jako fp4, podczas gdy deepseek-v4-pro-0813 zwraca fp8. Chcesz wagi o wyższej precyzji? Przypnij datowany identyfikator.

Dobrze. Zbudujmy to.

Przeprowadź test DeepSeek Harness vs Hermes samodzielnie

Zapowiedź: siedem kroków, dwa pliki konfiguracyjne, jedna instrukcja, a skończysz z własną wersją tamtej tabeli, zamiast ufać mojej. Dowód, że działa: każda liczba powyżej pochodzi dokładnie z tych kroków na standardowym MacBooku, Node v24.15.0, dsh 0.1.0-rc.7, Hermes v0.20.4.

Zaczynajmy.

Krok 1: Uzyskaj endpoint, który się nie zmienia

Obie powłoki mocno polegają na wywoływaniu funkcji, więc przed instalacją czegokolwiek, sprawdź, czy endpoint obsługuje narzędzia:

plaintext
1curl -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}'

Rzeczywiste wyjście z tego wywołania:

plaintext
1{
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 na tej liście to rzecz, której szukasz. Brak narzędzi = brak pętli agenta, a obie powłoki zawiodą w mylący sposób, zamiast to powiedzieć.

Pobierz klucz ze strony modelu DeepSeek V4 Pro, a następnie export ATLAS_API_KEY=... przed każdym poleceniem poniżej.

Jeden haczyk po stronie Hermesa: odpowiedź opakowuje tablicę jako {"code":200,"msg":"succeed","data":[...]}. Hermes sondy /v1/models podczas konfiguracji i analizuje to poprawnie, ale jeśli piszesz własne narzędzia przeciwko niemu, nie oczekuj gołej listy.

Krok 2: Zainstaluj obu agentów

plaintext
1# DeepSeek Harness
2npm install @deepseek-ai/dsh
3
4# Hermes Agent
5curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Trzy notatki instalacyjne, które kosztowały mnie czas:

  • dsh wymaga Node ^22.19.0 || >=24.0.0. Nie obsługuje 23.x. Większość poradników mówi „Node 20+", co jest po prostu błędne.
  • To npm install ściągnęło 453 pakiety i zajęło 8 minut. To nie jest mała zależność.
  • Hermes przynosi własnego Pythona 3.11 przez uv, więc twój systemowy Python nie ma znaczenia (mój to 3.9). Jeśli instalator umrze w trakcie pobierania z powodu problemu z PyPI, uruchom ponownie synchronizację zależności, a nie cały skrypt.

Krok 3: Skieruj DeepSeek Harness na endpoint

Zapisz to w $DSH_HOME/settings.yaml (domyślnie ~/.dsh):

plaintext
1llm-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

Trzy linijki zasługują na zdanie każda, ponieważ popełnienie którejkolwiek zmienia twój rachunek:

  1. compat.thinkingFormat: deepseekto linijka, której nikt nie pisze. dsh odgaduje dialekt myślenia z adresu URL endpointu. Jego własny plik README adaptera jest w tym dosadny: adres URL prywatnej bramy nic nie mówi, więc nierozpoznany endpoint jest adresowany „tak, jakby był samym OpenAI". Twoja brama w dialekcie DeepSeek jest następnie obsługiwana w dialekcie OpenAI. Ten klucz istnieje tylko pod api: openai-completions.
  2. NadpiszdefaultContextWindow. Domyślne wartości na poziomie trasy to 262 144 kontekst i 32 768 maksymalnych tokenów. Ręczne zadeklarowanie modeli V4 bez dotknięcia tych wartości oznacza, że po cichu odrzucasz 75% okna 1 048 576.
  3. agent-default-modelprzyjmujeproviderimodeljako dwa osobne klucze. Napisanie model: atlas/deepseek-ai/deepseek-v4-pro jako jednego ciągu wygląda rozsądnie i nic nie robi. Otrzymujesz MISSING_CREDENTIAL: no API key for provider route "deepseek-official", i zaczynasz szukać problemu z kluczem, którego nie masz.

Zauważ, że apiKeyEnv to odniesienie do poświadczeń, a nie tajemnica. Żaden klucz nie trafia do tego pliku.

Krok 4: Skieruj Hermesa na ten sam endpoint

Ścieżka kreatora to hermes model, a następnie wybierz „Custom endpoint". Ścieżka skryptowa to pięć poleceń:

plaintext
1hermes 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

Co zapisuje ~/.hermes/config.yaml:

plaintext
1model:
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 to tutaj pełnoprawny dostawca, a nie alias, a bazowy URL musi kończyć się na /v1, ponieważ Hermes sam dodaje /chat/completions (dokumentacja Hermes Agent, Konfiguracja modeli, 2026).

Nie pomiń tej linijki api_key. Dokumentacja mówi, że klucz jest przejmowany z OPENAI_API_KEY, a w moim uruchomieniu wyeksportowanie tej zmiennej nie wystarczyło: Hermes wysłał żądanie bez poprawnego uwierzytelnienia, a Atlas odpowiedział HTTP 401: {"code":401,"msg":"unauthorized"}. Jawne ustawienie model.api_key naprawiło to przy następnej próbie, w 8,5 sekundy.

Krok 5: Uruchom rundę 1 na obu

Najpierw wyczyść katalog umiejętności Hermesa (~/.hermes/skills). Istniejąca umiejętność czyni rundę 1 nieuczciwą, a runda 2 to miejsce, gdzie chcesz obserwować, jak umiejętność jest tworzona, a następnie ponownie używana.

Następnie podaj obu powłokom to, bajt po bajcie:

plaintext
1Create 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.

Ustawienia: świeży pusty katalog na każdą powłokę, rozumowanie włączone, maksymalne wyjście co najmniej 32 768 i nic innego nie uruchomionego na komputerze, aby liczby czasu rzeczywistego miały znaczenie.

plaintext
1# dsh, sesja jednorazowa z zapisem
2DSH_HOME=~/.dsh dsh --profile headless "$(cat prompt-r1.txt)"
3
4# Hermes, jednorazowo z raportem użycia czytelnym maszynowo
5hermes -z "$(cat prompt-r1.txt)" --yolo --usage-file hermes-r1-usage.json

Dwie rzeczy cię tutaj zaskoczą.

Po pierwsze, hermes -z nie wypisuje absolutnie nic, dopóki nie skończy. Żadnego banera, żadnego spinnera, żadnych podglądów narzędzi. Mój milczał przez 13 minut i wyglądał na zawieszonego; nie był, tylko przedzierał się przez 38 wywołań API. Sprawdź ps w poszukiwaniu podprocesu, jeśli potrzebujesz otuchy.

Po drugie, Hermes zignorował mój katalog roboczy i zapisał game.html w $HOME. Jeśli chcesz plik w miejscu, z którego uruchomiłeś, przekaż --no-restore-cwd lub --in DIR. Straciłem rundę przez to.

dsh tymczasem skończył w 121 sekund, a jego interfejs WWW odczyta tę samą sesję:

Interfejs WWW DeepSeek Harness pokazujący ukończoną sesję Breakout, trzy asercje PASS, 9 kroków i 133K tokenów wejściowych na DeepSeek V4 Pro

Interfejs WWW dsh na 127.0.0.1:3080. Zwróć uwagę na pasek stanu: 9 kroków, trafienie cache 89%, wejście 133K tokenów, a selektor modeli odczytujący DeepSeek V4 Pro z konfiguracji z kroku 3.

--usage-file po stronie Hermesa jest naprawdę przydatne i niedoceniane: zapisuje tokeny wejściowe, wyjściowe, odczyty z cache, tokeny rozumowania, api_calls i szacowany koszt do JSON, i zapisuje ten plik nawet wtedy, gdy uruchomienie się nie powiedzie.

dsh nie ma równoważnej flagi, ale nie potrzebuje jej. Jego dziennik sesji dołączający zawiera wszystko, z jedną pułapką. Dziennik w $DSH_HOME/sessions/<encoded-cwd>/session-<uuid>/session.jsonl.zstd to strumień zstd wieloramkowy, jedna ramka na opróżnienie. zlib.zstdDecompressSync(buf) zwraca tylko pierwszą ramkę, więc 150KB dziennika dekoduje się do kilkuset bajtów i wygląda na pusty. Rozdziel na magicznych bajtach samodzielnie:

plaintext
1const 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('');

Użycie znajduje się na zdarzeniach assistant/chunk, gdzie data.chunk.type === 'usage', jeden poziom głębiej, niż byś się spodziewał (data.chunk.usage.inputTokens). Wywołania narzędzi pochodzą z bloków treści assistant/message typu tool-call. A request/header.data.header.config pokazuje model i maxTokens, które faktycznie poszły na łącze, co jest sposobem na udowodnienie, że konfiguracja z kroku 3 zadziałała, zamiast mieć nadzieję.

Krok 6: Runda 2, prośba o zmianę

Ten sam katalog, game.html już tam z rundy 1. Teraz poproś obie o zmianę:

plaintext
1Add 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.

To jest runda, która oddziela dwa projekty. Hermes zapisuje umiejętności po złożonych zadaniach i utrzymuje trójwarstwową pamięć, więc runda 2 to miejsce, w którym umiejętność z rundy 1 albo się opłaca, albo nie. dsh nie ma żadnej długoterminowej pamięci, ale ma dołączany dziennik sesji, który możesz rozwidlić i odtworzyć od połowy uruchomienia, zamiast zaczynać od nowa.

Bądź ze sobą szczery co do budżetu, zanim to zaczniesz. Moja runda 2 zmarła po 11 wywołaniach narzędzi na dziennym limicie wydatków, dlatego powyższa tabela ma dwa puste wiersze zamiast dwóch wymyślonych. Własny panel Hermesa pokazuje dlaczego:

Strona sesji panelu Hermes Agent z listą uruchomienia Breakout przy 76 wiadomościach na deepseek-v4-pro

Hermes v0.20.4 odczytujący własne sesje. Ukończone uruchomienie Breakout to 76 wiadomości, wszystkie na deepseek-v4-pro przez endpoint Atlas.

Krok 7: Odczytaj rachunek

Dwie liczby na uruchomienie, z własnego dziennika powłoki, nigdy z podsumowania agenta:

plaintext
1# Hermes
2jq '{input_tokens, output_tokens, cache_read_tokens, api_calls}' hermes-r1-usage.json
3
4# dsh: zagreguj zdekodowany dziennik sesji
5node dsh-stats.js "$DSH_HOME/sessions/<encoded-cwd>"

Następnie sprawdź krzyżowo ze stroną użycia swojego dostawcy. Gdy dziennik powłoki i dostawca są w sprzeczności, zaufaj dostawcy: to jest liczba, którą płacisz.

Warto odnotować, że własny pasek stanu dsh zgadzał się z moim parserem dziennika co do zaokrągleń (133K tokenów wejściowych, 89% trafień cache wobec moich wyliczonych 132 600 i 88,8%). Narzędzia są uczciwe. Angielskie podsumowania agentów nie są.

Poza DeepSeek Harness vs Hermes: Uruchom oba jako mózg i ramiona

Oto odpowiedź, której nikt w debacie „który wybrać" nie udziela: nie musisz wybierać.

Oba projekty zawodzą w przeciwnych kierunkach, co czyni je niezwykle dobrymi partnerami.

MożliwośćDeepSeek Harness (dsh)Hermes Agent
Uruchomienia kodowaniaMocne, to jest docelowy projektUkończył to samo zadanie w 6,4x czasu
Pamięć długoterminowaBrakTrójwarstwowa, zarządzana przez agenta
Umiejętności samodoskonaląceBrakTak, zgodne z agentskills.io
Rozwidlenie / odtworzenie dziennika sesjiTak, dołączany JSONLWyszukiwanie sesji z podsumowaniem LLM
Wbudowany cronNieTak, harmonogramy w języku naturalnym
Powierzchnie czatoweNieTelegram, Discord, Slack, WhatsApp, Signal
InterfejsWeb UI, TUI, headlessTUI, CLI, panel, gateway
Środowisko uruchomienioweNode 22.19+/24+Python 3.11 (w pakiecie)
DojrzałośćPodgląd programisty 0.1, zmiany łamiące zgodnośćWydany luty 2026, v0.20.4
Licencja / gwiazdkiMIT, 176,5kMIT, 233,6k

Liczby gwiazdek odczytane z obu repozytoriów 2026-08-21 (deepseek-ai/deepseek-harness przy 176,5k gwiazdek i 19,2k forków, NousResearch/hermes-agent przy 233,6k gwiazdek i 46,8k forków). Obserwuj trajektorię, a nie sumy: dsh miało 144 361 gwiazdek, gdy sprawdzałem 2026-08-17, więc dodało około 32 000 w ciągu czterech dni.

Trzy sposoby ich połączenia:

  • Mózg i ramiona. Hermes na V4 Pro trzyma pamięć, harmonogram i wątek Telegramu. Deleguje rzeczywiste kodowanie do dsh na taniej warstwie. Jeden klucz pokrywa oba, więc nie zarządzasz dwoma relacjami rozliczeniowymi.
  • Tania warstwa dla pętli, droga warstwa dla decyzji. Cykliczna praca cron działa na deepseek-v3.2 lub DeepSeek V4 Flash; trudne wywołanie eskalowane do Pro.
  • Bezgłowo oba. dsh --profile headless i Hermes -z oba przyjmują instrukcję i wypisują jedną odpowiedź, więc każdy nadaje się do skryptu powłoki lub kroku CI bez TUI.

Uczciwe ostrzeżenie o prawdziwych słabościach, ponieważ porównanie, które wymienia tylko zalety, jest reklamą. dsh to podgląd programisty 0.1 i mówi o tym w swoim własnym interfejsie: będzie się psuć między wersjami, nie ma pamięci, nie ma natywnego kanału przesyłania wiadomości i zaniża własne wywołania narzędzi. Hermes jest bardziej dojrzałym projektem o szerokim marginesie, ale jest cięższy na token o czynnik 8, milczał przez 13 minut nad zadaniem, które dsh ukończyło w 2, i zapisał mój plik wyjściowy w niewłaściwym katalogu.

Co DeepSeek Harness vs Hermes faktycznie kosztuje na zadanie

Teraz arytmetyka, z otwartymi założeniami.

Atlas publikuje jedną stawkę wejściową dla V4 Pro (1,68 $ za 1M) bez osobnej stawki za trafienie cache na stronie modelu. Dlatego wyceniam każdy token promptu według pełnej stawki wejściowej, włączając odczyty z cache. To konserwatywny sufit, a nie domysł udający pomiar.

Przykład obliczeniowy, dsh runda 1:

  • Prompt: 14 840 świeżych + 117 760 z cache = 132 600 tokenów. Przy 1,68 $/1M to 0,2228 $.
  • Wynik: 5 231 tokenów. Przy 3,38 $/1M to 0,0177 $.
  • Razem: 0,2404 $ za zadanie.

Ta sama metoda dla rundy 1 Hermesa: 1 111 573 tokenów promptu to 1,8674 $, plus 19 317 tokenów wyjściowych po 0,0653 $, co daje 1,9327 $. Własny --usage-file Hermesa oszacował 0,2817 $ za to uruchomienie, co implikuje, że zakłada stawkę za wejście z cache blisko 0,125 $ za 1M. Jeśli twój dostawca rzeczywiście tak mocno dyskontuje odczyty z cache, obie liczby poniżej spadają razem, a stosunek między nimi ledwo się zmienia.

ScenariuszNa zadanie na V4 ProNa zadanie na V4 Flash20 zadań/dzień, 30 dni (Pro)
dsh runda 10,24 $0,02 $144,27 $
Hermes runda 11,93 $0,16 $1 159,64 $
Runda 2, dowolna powłokanieukończonenieukończonenieukończone

Z tej tabeli rzucają się w oczy dwie rzeczy.

Wybór powłoki jest wart 8x. Ten sam model, to samo zadanie, ten sam wynik, a jedna powłoka kosztuje osiem razy więcej niż druga. To nie jest różnica zaokrągleń, którą optymalizujesz później.

Warstwa modelu jest warta dodatkowe 12x. Dlatego podział na mózg i ramiona nie jest chwytem: dsh na Flash ląduje na dwóch centach za zadanie, a Hermes na Pro na prawie dwóch dolarach za identyczną grę Breakout.

A najtańszą optymalizacją ze wszystkich jest nadal ta z kroku 3. Trasa dsh pozostawiona na domyślnym 262 144 wykonuje więcej pracy kompresji w większej liczbie kroków, aby zmieścić to samo zadanie, i płacisz za każdy z nich.

To jest prawdziwa odpowiedź na DeepSeek Harness vs Hermes: zmierz własną powłokę, zanim pójdziesz na zakupy po tańszy model.

FAQ DeepSeek Harness vs Hermes

Czy Hermes Agent i DeepSeek Harness mogą używać tego samego modelu i klucza API?

Tak, i to jest jedyny uczciwy sposób ich porównania. Oba komunikują się z punktami końcowymi zgodnymi z OpenAI. dsh potrzebuje trasy dostawcy llm-pi-ai z api: openai-completions plus baseURL; Hermes potrzebuje provider: custom plus base_url kończącego się na /v1. Jeden klucz, obie powłoki, obie warstwy cenowe. Pełne konfiguracje są w krokach 3 i 4.

Czy DeepSeek Harness jest lepszy od Hermesa do kodowania?

W tym teście zdecydowanie tak: 121 sekund wobec 780, 8 wywołań narzędzi wobec 35 i jedna ósma wydatku na tokeny, przy czym obie zaliczyły wszystkie trzy autotesty. Ale „lepszy do kodowania" nie oznacza „lepszy". Jeśli potrzebujesz zaplanowanego zadania, które raportuje do Telegrama każdego ranka i pamięta, czego nauczyło się w zeszłym tygodniu, dsh nic z tego nie ma, a Hermes ma to wszystko.

Czy DeepSeek Harness i Hermes są darmowe i open source?

Oba są na licencji MIT i darmowe do pobrania. To, za co płacisz, to tokeny, i jak pokazuje powyższa tabela, nie jest to błąd zaokrąglenia. Warto powtórzyć, że dsh jest wyraźnie podglądem programisty w wersji 0.1 i ostrzega przed zmianami łamiącymi zgodność we własnym interfejsie, więc przypnij swoją wersję, jeśli ma trafić gdziekolwiek blisko produkcji.

Dlaczego to samo zadanie kosztuje więcej w jednej powłoce?

Cztery powody, mniej więcej w kolejności wielkości:

  • Ponowne odczytywanie rozmowy. Tokeny promptu z cache stanowiły 88,8% sumy dsh i 95,5% Hermesa. Każdy dodatkowy krok ponownie wysyła wszystko, co było przed nim.
  • Prompt systemowy i schematy narzędzi. Zmierzone powyżej: 10 898 vs 13 892 tokenów przed rozpoczęciem jakiejkolwiek pracy.
  • Liczba kroków. 8 wywołań narzędzi i 9 kroków wobec 35 wywołań narzędzi w 38 wywołaniach API.
  • Ograniczone okno. dsh cofające się do 262 144 zamiast 1 048 576 wymusza dodatkową pracę kompresji przy długich zadaniach.

Czy mogę uruchomić DeepSeek Harness i Hermes w tym samym czasie?

Tak. Dzielą tylko twój klucz API: różne środowiska wykonawcze, różne katalogi konfiguracyjne, różne magazyny sesji, różne porty (domyślnie 3080 i 9119). Typowy wzorzec to Hermes jako zawsze włączony mózg na drogiej warstwie i dsh jako ramiona kodujące na taniej warstwie.

Czy DeepSeek Harness działa tylko z własnym API DeepSeek?

Nie, i to jest najczęstsze błędne przekonanie na jego temat. Każda brama zgodna z OpenAI działa przez api: openai-completions i baseURL. Pamiętaj tylko o compat.thinkingFormat: deepseek, ponieważ dsh wnioskuje dialekt myślenia z adresu URL, a adres URL bramy innej firmy nic mu nie mówi.

Najnowsze modele

Jedno API do całej multimedialnej AI.

Przeglądaj wszystkie modele