Przejdź do głównej treści

Czym jest DeepSeek Harness? Runtime agenta, w którym wszystko jest wtyczką

Wyjaśnienie DeepSeek Harness: jak działa jego architektura wtyczek oparta na Cordis, do czego służą tryby Standard, PTC, Minimal i Creator oraz jak wypada na tle Claude Code, Codex i OpenCode.
Zaktualizowano 8 wrz 2026  · 13 min Czytać

Eksploruj z AI

ChatGPTClaudePerplexity

DeepSeek Harness jest zbudowany po to, by wykonać zadanie, a nie tylko odpowiedzieć na pytanie. To otwartoźródłowe środowisko uruchomieniowe agenta, które łączy model z twoim repozytorium, terminalem, narzędziami i historią sesji. Poproś go o naprawienie błędu, a sprawdzi pliki, edytuje kod, uruchomi testy i zareaguje, gdy komenda się nie powiedzie. Pojedyncze wywołanie modelu nie zrobi tego samodzielnie.

Bardziej nietypowa część kryje się pod spodem tego przepływu. DeepSeek Harness udostępnia adapter modelu, narzędzia, sesje, piaskownicę, a nawet pętlę agenta jako wtyczki koordynowane przez Cordis. Model jest jednym z elementów agenta, a nie samym produktem.

To nie jest skończone oprogramowanie. Harness wciąż jest w podglądzie deweloperskim; jego interfejsy API mogą się psuć między wydaniami, a jego własna notatka o bezpieczeństwie stwierdza, że nie przeszedł audytu bezpieczeństwa. Omówię te ograniczenia wraz z architekturą i tym, czym różni się od Claude Code, Codex i OpenCode.

TL;DR

  • Czym jest: DeepSeek Harness to otwartoźródłowe środowisko uruchomieniowe agenta, a nie model. Daje modelowi narzędzia, sesje, piaskownicę i pętlę agenta.
  • Główny projekt: Cordis udostępnia adapter modelu, narzędzia, magazyn sesji, piaskownicę i pętlę agenta jako wymienialne wtyczki.
  • Sesje: Dziennik zdarzeń tylko do dopisywania obsługuje wznawianie, forki, wyszukiwanie, odtwarzanie i widok Trajectory.
  • Tryby: Standard, PTC, Minimal i Creator zmieniają, z jakich narzędzi agent może korzystać i jak do nich dociera.
  • Główna różnica: DeepSeek Harness pozwala deweloperom wymieniać niższe warstwy runtime, które w Claude Code, Codex i OpenCode pozostają stałe.
  • Główne ograniczenie: To wciąż podgląd deweloperski bez audytu bezpieczeństwa, a jego API może się zmieniać między wydaniami.

Czym jest DeepSeek Harness?

DeepSeek Harness, w skrócie dsh, to otwartoźródłowe opakowanie agenta od DeepSeek AI na licencji MIT. Siedzi między modelem językowym a światem zewnętrznym, dostarczając narzędzia, sesje, piaskownicę i pętlę, która utrzymuje zadanie w ruchu.

Własne ujęcie DeepSeek brzmi: „Agent = Model + Harness”. Model odpowiada za rozumowanie i generowanie. Harness to wszystko, co pozwala temu rozumowaniu działać na prawdziwym systemie plików i iść dalej bez konieczności ponownego tłumaczenia zadania na każdym kroku.

Działa na Cordis, frameworku wtyczek starszym niż DeepSeek Harness. Cordis pozwala ustawieniom niezależnie wymieniać te części. Do kosztów tego wyboru jeszcze wrócę.

Mając to na uwadze, oto dwa częste nieporozumienia.

DeepSeek Harness to nie model AI

Jak wspomniano, model i runtime to oddzielne warstwy. Ten podział pozwala zmienić dostawcę bez zmiany narzędzi lub układu sesji. To samo środowisko może używać DeepSeek, Anthropic, OpenAI lub punktu końcowego zgodnego z OpenAI.

DeepSeek Harness to więcej niż asystent do kodu

Tryb Standard tworzy wrażenie asystenta kodowania, ale to tylko jedna konfiguracja. Jak pokażę dalej, tryby Minimal i Creator zmieniają, z czego agent może korzystać. Zbudowanie nowej konfiguracji nadal wymaga pracy inżynierskiej; deweloperzy mają dostęp do części.

Jak Cordis organizuje wtyczki DeepSeek Harness

Jak wspomniano, Cordis to framework wtyczek pod DeepSeek Harness. Pozwala każdej części żądać usługi bez wiązania jej z kodem jednego dostawcy.

Cordis wywodzi się z ekosystemu chatbota Koishi i został zbudowany przez dewelopera znanego jako Shigma; DeepSeek go dystrybuuje i rozszerza. Autorzy opisują projekt w pracy A Programming Paradigm for Spatiotemporal Composability.

Te podstawy prowadzą do głównego sloganu projektu i dwóch terminów z Cordis. Nazwy brzmią akademicko, ale zachowanie jest dość proste.

„Wszystko jest wtyczką”

W dokumentacji architektury DeepSeek czytamy, że rozszerzasz dsh przez zamontowanie wtyczki obok innych. Adaptery modelu, narzędzia, sesje, piaskownice, magazyn, harmonogram, pętla agenta i interfejs to wszystko wtyczki.

Brane dosłownie, hasło idzie za daleko. Cordis wciąż siedzi pod wtyczkami. Ładuje i usuwa je, sprawdza ich wymagania i uruchamia zdarzenia, przez które się komunikują. Cordis jest wymagany, to nie kolejny opcjonalny element.

Komponowalność przestrzenna zarządza zależnościami wtyczek

Wtyczka deklaruje potrzebne usługi bez ręcznie pisanej sekwencji startowej. Aktywuje się, gdy te usługi istnieją, i dezaktywuje, gdy wymagana usługa zniknie. Jej zależności decydują, kiedy może działać.

DeepSeek nazywa to komponowalnością przestrzenną. Zależności mówią Cordis, gdzie dany komponent pasuje, więc deweloperzy nie muszą ręcznie ustawiać kolejności startu.

Komponowalność czasowa odkręca efekty wtyczek

Cordis śledzi także rejestracje, takie jak nasłuchiwacze zdarzeń, sekcje promptów i schematy narzędzi. Usunięcie wtyczki usuwa te efekty zamiast zostawiać osieroconych nasłuchiwaczy. Nie cofa to jednak akcji zewnętrznych, takich jak komenda powłoki; odwracalność dotyczy tylko efektów śledzonych przez Cordis.

Architektura DeepSeek Harness: jak składa się runtime

Działająca instancja to drzewo wtyczek zbudowane z ustawień ładowanych w określonej kolejności. Te ustawienia decydują, które części są aktywne.

Diagram architektury DeepSeek Harness pokazujący użytkownika lub aplikację łączących się ze złożonym runtime, z modelem, pętlą agenta, narzędziami, sesjami, magazynem i piaskownicą połączonymi przez Cordis

Cordis łączy każdy wymienialny plugin runtime. Obraz: autor.

Usługi Cordis pozwalają wtyczkom się odnaleźć

Cordis dostarcza współdzielony katalog usług. Wtyczki używają stabilnych kluczy, takich jak ctx.tools, ctx.llm, i ctx.sessions zamiast importować kod jednego dostawcy. Narzędzie wywołujące ctx.llm nie musi wiedzieć, jaki adapter modelu za nim stoi.

Presety agenta i profile runtime sterują różnymi warstwami

Jeśli wszystko da się wymienić, coś i tak musi zdecydować, co jest zamontowane dla danego uruchomienia — i DeepSeek Harness odpowiada na to na dwóch poziomach, które łatwo pomylić.

W skrócie: profil kontroluje, jak startuje program, a preset — co agent może zrobić. Jeśli używasz wyłącznie aplikacji webowej, możesz pominąć dwie kolejne podsekcje.

Profile runtime

Profil runtime (web, headless, sdk, sdk-minimal i acp dostarczane są jako szablony) decyduje, jak aplikacja się uruchamia i które pakiety wtyczek Cordis są układane przy starcie. Większość czytelników zetknie się z tą warstwą tylko, uruchamiając dsh web lub podobną komendę.

Presety agenta

Preset agenta (Standard, PTC, Minimal lub Creator) decyduje, czego może użyć aktywna sesja. Plik patch może zmienić preset bez dotykania źródeł Harness.

Pętla agenta koordynuje tury, kroki i wywołania narzędzi

DeepSeek rozróżnia krok od tury. Krok to jedno żądanie do modelu plus jego wywołania narzędzi. Tura to zero lub więcej kroków: otwiera się, zanim jej pierwszy wkład zostanie przejęty, i zamyka, gdy nic nie jest już należne. Większość tur wykonuje kilka kroków, zanim agent odpowie, ale odrzucony wkład zamyka turę, która nie wykonała żadnego kroku.

schemat przepływu pętli agenta pokazujący turę użytkownika zawierającą jeden lub więcej kroków modelu, z których każdy jest następnie wykonywany przez strzeżone uruchomienie narzędzi

Jedna tura może zawierać kilka kroków. Obraz: autor.

Sesje używają dziennika zdarzeń tylko do dopisywania

To część, którą uważam za najważniejszą. Sesja to dziennik typowanych zdarzeń tylko do dopisywania, a nie tablica wiadomości czatu. Harness buduje historię modelu z tego dziennika, a dokumentacja sesji wymaga, by wszystko, co trafia do modelu, dało się z niego odtworzyć.

Wznawianie, forki, wyszukiwanie, odtwarzanie i widok Trajectory opierają się na tym strumieniu zdarzeń.

Ponowne wyprowadzenie historii to nie deterministyczny rerun. Wynik modelu i stan zewnętrzny mogą się różnić, ale dziennik nadal zapewnia wgląd w to, co zaszło.

oś czasu zdarzeń sesji pokazująca kumulujące się wiadomości użytkownika, odpowiedzi asystenta, wywołania narzędzi i wyniki narzędzi w jednym dzienniku tylko do dopisywania

Historia sesji to dziennik tylko do dopisywania. Obraz: autor.

Jak DeepSeek Harness kontroluje narzędzia i piaskownice

Model może poprosić o narzędzie po nazwie, ale nie uruchamia go bezpośrednio. Między żądaniem a zmianą w systemie plików stoją dwa odrębne mechanizmy kontroli.

Potok wykonywania narzędzi

Wywołanie przechodzi przez kontrolę polityki, wykonanie i obsługę wyniku. Model wybiera narzędzie; runtime decyduje, czy i jak je uruchomić.

schemat strzeżonego potoku wykonywania narzędzi pokazujący, jak żądanie narzędzia przez model przechodzi przez politykę przed wykonaniem, wykonanie i postprocessing, zanim wynik wróci do modelu

Runtime decyduje, jak działają narzędzia. Obraz: autor.

Piaskownica kontra zatwierdzenia

  • Zatwierdzenie pyta, czy użytkownik powinien potwierdzić działanie. 
  • Piaskownica ogranicza miejsce i sposób wykonania. 

DeepSeek rozdziela je, choć presety uprawnień wiążą oba mechanizmy, podobnie jak runtime kontenerów rozdziela uprawnienia procesu od granic wykonania.

Warto to zaznaczyć już teraz, bo wrócę do tego w sekcji ograniczeń: powiedzenie modelowi w promptcie systemowym, by „tylko czytał pliki”, to sugestia, którą może zastosować, a nie wymuszalna granica jak ograniczenie piaskownicy na poziomie systemu operacyjnego.

Tryby DeepSeek Harness: Standard, PTC, Minimal i Creator

DeepSeek Harness oferuje cztery różne tryby. Żaden z nich nie stoi ponad innymi. To cztery odpowiedzi na pytanie „jaką część runtime odsłonić tej sesji”, a właściwy wybór zależy od zadania. Jak pokazała sekcja o architekturze, każdy tryb zmienia zestaw narzędzi dostępnych dla agenta.

tabela porównawcza czterech trybów DeepSeek Harness pokazująca powierzchnię narzędzi i przeznaczenie trybów Standard, PTC, Minimal i Creator obok siebie

Cztery tryby dzielą jedną bazę runtime. Obraz: autor.

Tryb Standard

Ogólny punkt wyjścia: 

  • Edycja plików
  • Dostęp do powłoki
  • Wyszukiwanie w plikach i w sieci
  • Umiejętności
  • Planowanie
  • Cele
  • Subagenci
  • Workflows

Do zwykłej pracy w repozytorium od tego bym zaczął.

Tryb PTC

Tryb PTC zachowuje niemal cały zestaw narzędzi Standard, ale zmienia sposób, w jaki model do nich dociera. (Od wersji 0.1.2 Web PTC domyślnie nie udostępnia już ogólnego narzędzia workflow.) 

Zamiast żądać pojedynczych narzędzi w kilku krokach modelu, model pisze program wobec wygenerowanego SDK. Ten program może wywołać kilka narzędzi przez run_code. Każde wywołanie nadal przechodzi przez te same kontrole polityk, więc PTC zmienia sposób deklarowania planu przez model, a nie to, co wolno mu robić.

Strona produktu wciąż używa etykiety „Code mode”, ale nowsze oficjalne wydanie przemianowało go na PTC, zachowując czytelność starych zapisów rozmów. Użyję w całym tekście trybu PTC; FAQ wraca do tego, co mogą oznaczać te inicjały.

Tryb Minimal

Tryb Minimal ogranicza środowisko do dwóch narzędzi: trwałej powłoki i edytora plików z podmianą ciągów. DeepSeek używa go do benchmarków modeli, bo wyniki testów zależą częściowo od harnessu modelu, a nie tylko od jego wag.

Tryb Creator

Tryb Creator pozwala deweloperom inspekcjonować runtime i testować wtyczki Cordis w pamięci. Służy do budowania presetów i nie nazwałbym go w głębszym sensie samodoskonalącym.

Co wyróżnia DeepSeek Harness na tle innych frameworków agentów?

DeepSeek Harness różni się od wielu frameworków agentów tym, że czyni niższe części runtime wymienialnymi. Prawie dołączyłbym to do sekcji o architekturze, ale łatwo przegapić to rozróżnienie. Cordis obsługuje te zmiany jednym systemem wtyczek.

Możesz zmienić sposób działania agenta, nie tylko narzędzia, które może wywołać. Dziennik zdarzeń tworzy też przebieg, który deweloperzy mogą przeanalizować, zamiast czytać go wyłącznie jako transkrypt czatu. Tryby Minimal i Creator pozwalają następnie testować runtime z przeciwnych kierunków.

DeepSeek Harness vs. Claude Code, Codex i OpenCode

Lista funkcji nie trafi w sedno. Każdy konkurent wspiera rozszerzenia; użyteczne pytanie brzmi, które części deweloper może zmienić. Różnica brzmi niepozornie, ale taka nie jest. Nasze porównanie Harness i Claude Code używa w obu tego samego modelu i omawia konfigurację, logi i koszty.

DeepSeek Harness vs. Claude Code

Claude Code wspiera instrukcje projektowe, umiejętności, hooki, MCP, subagentów i Agent SDK, a swoją wbudowaną pętlę trzyma na stałe. DeepSeek Harness pozwala deweloperom wymieniać pętlę, adapter modelu i warstwę magazynu poprzez ustawienia.

DeepSeek Harness vs. Codex

Codex wymaga uważniejszego porównania, bo jego CLI i App Server też są open source. Zapewnia opakowanie agenta, które deweloperzy rozszerzają przez udokumentowane punkty wejścia. DeepSeek Harness jest zbudowany wokół zmiany samego runtime. Oferują różne poziomy kontroli.

DeepSeek Harness vs. OpenCode

OpenCode jest już open source, działa z kilkoma dostawcami modeli i używa architektury klient-serwer. Możesz konfigurować jego narzędzia, uprawnienia, sesje i dostawców. Jego wtyczki rozszerzają stały rdzeń serwera, podczas gdy DeepSeek pozwala też wymienić pętlę i magazyn sesji.

Kiedy używać DeepSeek Harness

Sama wymienność części runtime nie jest jeszcze użyteczna. Dodatkowa kontrola ma znaczenie tylko wtedy, gdy rozwiązuje problem, który już masz.

  • Gdy sam runtime jest częścią projektu. Jeśli modyfikujesz adaptery modelu, pętlę agenta, magazyn lub zachowanie sesji, a nie tylko budujesz na agencie, to bardziej bezpośrednie dopasowanie.
  • Gdy porównujesz modele w kontrolowanym środowisku. Użycie tego samego runtime utrzymuje więcej stałych w teście podczas podmiany modelu, choć modele i tak mogą różnić się użyciem narzędzi i stylem rozumowania.
  • Gdy ważne jest debugowanie złożonego przebiegu. Dziennik zdarzeń sesji i widok Trajectory ułatwiają odtworzenie, co model widział i jakie narzędzia działały.
  • Gdy testujesz wewnętrzne elementy agenta. Tryb Creator i Cordis są dla deweloperów badających, jak składa się agent, bardziej niż dla osób, które tylko potrzebują kodu aplikacji.

Może być zbędny dla prostych wywołań modelu lub dla zespołów, które chcą gotowego agenta do kodowania bez potrzeby dotykania jego wnętrza. Wymiana większej liczby części jest warta dodatkowej pracy tylko wtedy, gdy ta kontrola rozwiązuje realny problem.

Ograniczenia DeepSeek Harness: status podglądu i ryzyka bezpieczeństwa

Żadna z powyższych kwestii architektonicznych nie ma dużego znaczenia bez jasnego opisu, gdzie to dziś nie domaga.

To wciąż podgląd deweloperski

Repozytorium DeepSeek jasno stwierdza, że będą zmiany niezgodne wstecz. To już się stało: zmiana nazwy z Code na PTC przyszła z modyfikacjami API sesji i usunięciem opcjonalnej opcji magazynu SQLite. Przypnij wersje. Pomijanie tego kroku i liczenie, że konfiguracja pozostanie stabilna, nie jest planem.

Więcej kontroli to także więcej złożoności

Uczynienie większej części runtime wymienialną daje deweloperom więcej do nauczenia: zależności wtyczek, ustawienia, różnice między dostawcami i kompatybilność wersji. To typowy kompromis między wygodą a kontrolą.

Czy DeepSeek Harness działa lokalnie?

DeepSeek Harness domyślnie przechowuje zawartość sesji, zapisy narzędzi i ustawienia lokalnie, zgodnie z oświadczeniem o przetwarzaniu danych. Możesz wyłączyć jego anonimowe raporty o ustawieniach i listach projektów. 

Ale zewnętrzny dostawca modelu, narzędzie webowe, serwer MCP lub wtyczka nadal mogą wysyłać dane poza twoją maszynę zgodnie z własną polityką. „Local-first” nie obejmuje każdej podłączonej usługi.

Uruchamianie agentów niesie ryzyka bezpieczeństwa

Runtime, który może edytować pliki, uruchamiać komendy i ładować wtyczki firm trzecich, może spowodować realne szkody. Notatka bezpieczeństwa DeepSeek mówi, że projekt nie przeszedł audytu. Piaskownice, zatwierdzenia i kontrola uprawnień zmniejszają ryzyko, ale nie gwarantują izolacji.

Uruchamianie oprogramowania na własnej maszynie nie usuwa tego ryzyka. Używaj ograniczonych uprawnień i jednorazowego środowiska do nieufnych zadań i uważaj na treści, które mogą zawierać ukryte instrukcje.

Dlaczego zachowanie agenta zależy od czegoś więcej niż model

Zachowanie agenta zależy od runtime tak samo jak od modelu. To powrót do „Agent = Model + Harness” i ten sam podział dotyczy agentów LLM poza DeepSeek.

To, co model może wygenerować, zależy od jego wag. To, co robi agent, zależy też od tego, jaki kontekst trafia do modelu, jakie akcje może wykonać i jak ściśle ograniczone jest wykonanie. Nic z tego nie żyje w wagach.

DeepSeek Harness pokazuje tę otulinę, dzieląc ją na nazwane części, które deweloperzy mogą wymienić. Tryb Minimal pokazuje, czemu ma to znaczenie poza DeepSeek: wynik benchmarku częściowo odzwierciedla harness użyty w teście, nie tylko model. Harness nie czyni modelu mądrzejszym. Zmienia ustawienia, w których model działa.

Wnioski

Warto zapamiętać zdanie z początku: model rozumuje, ale runtime decyduje, do czego to rozumowanie może sięgnąć i co może zrobić. DeepSeek Harness czyni ten runtime edytowalnym — od adaptera modelu i narzędzi po magazyn sesji i pętlę agenta.

Ta kontrola tworzy koszt. Wymiana większej części runtime oznacza wzięcie na siebie większej części konfiguracji, zmian wersji i granic bezpieczeństwa. Podgląd deweloperski z dostępem do powłoki to nie coś, co się instaluje i zapomina.

Moje podejście jest proste: używaj DeepSeek Harness, gdy sam runtime jest częścią pracy. Jeśli potrzebujesz tylko edycji w repozytorium, gotowy agent do kodowania wymaga od ciebie mniej.

Nasz samouczek DeepSeek Harness obejmuje konfigurację. Przewodnik alternatywy dla Claude Code porównuje więcej agentów do kodowania, a Introduction to AI Agents omawia podstawy, które ten artykuł zakłada.

Najczęstsze pytania o DeepSeek Harness

Czy DeepSeek Harness to to samo co model DeepSeek?

Nie, model i runtime są oddzielne. Harness nie zawiera wag modelu ani sam nie prowadzi wnioskowania; wysyła żądania do DeepSeek, Anthropic, OpenAI lub lokalnego modelu.

Czy DeepSeek Harness jest darmowy?

Samo oprogramowanie jest darmowe na licencji MIT. Płatny jest dostawca modelu, do którego się podłączysz, bo wnioskowanie rozlicza ten, kto uruchamia model, plus ewentualne koszty infrastruktury piaskownic lub zewnętrznych usług, które dołożysz.

Co właściwie oznacza skrót PTC?

Własne noty wydawnicze DeepSeek używają „trybu PTC” bez podania stałego rozwinięcia, choć zachowanie pokrywa się z „programmatic tool calling” (programowym wywoływaniem narzędzi). Traktowałbym to jako roboczą definicję, a nie potwierdzony akronim, dopóki DeepSeek nie poda go wprost.

Czy mogę zaufać DeepSeek Harness w repozytorium, na którym mi zależy?

Pewne ograniczenia nadal obowiązują. Dla repozytorium, na którym ci zależy, pracuj na kopii lub osobnej gałęzi, trzymaj produkcyjne poświadczenia poza środowiskiem i sprawdzaj każdą wtyczkę przed jej załadowaniem.

Czy „wszystko jest wtyczką” oznacza, że mogę przerobić to na dowolnego agenta?

Nie bez realnej pracy inżynierskiej. Wymiana adaptera modelu lub pętli agenta wciąż wymaga wtyczki spełniającej właściwy kontrakt usług. System wtyczek daje dostęp do większej liczby części; nie sprawia, że praca znika.

Tematy
Agenci AI
Sztuczna inteligencja

Ucz się Agentic AI z DataCamp!

Track

Podstawy agentów AI

6 godz.
Odkryj, jak agenci AI mogą zmienić sposób, w jaki pracujesz, i dostarczać wartość Twojej organizacji!
Zobacz szczegółyRight Arrow
Rozpocznij Kurs
Zobacz więcejRight Arrow