03 / 05
Architektura: Opus planuje, lokalni agenci wykonują
Plik źródłowyLekcje
Stan na 11 października 2026. Jak złożyć harnessy z 01-PROFILE.md i klocki z 02-KLOCKI.md w aplikacje na moim sprzęcie: 4× AMD Radeon AI PRO R9700, llama-swap, DeepSeek-V4-Flash jako lokalny wykonawca, Claude Opus 5.5 jako planista. Liczby sprzętowe są zmierzone (źródła niżej), ceny chmury sprawdzone na stronie cennika 11.10.2026. Wszystko inne to projekt — niezmierzony, dopóki go nie zbudujesz i nie zmierzysz.
Spis treści
- Zasoby: co naprawdę masz
- Wzorzec: planista i wykonawcy
- Co jest udowodnione, a co nie
- Pięć zastosowań — konkretne układy
- Koszty: czy lokalnie jest taniej?
- Ścieżka: co wziąć gotowe, co zbudować samemu
1. Zasoby: co naprawdę masz
| DeepSeek-V4-Flash-0731 (UD-IQ3_XXS) | gpt-oss-20b | |
|---|---|---|
| Architektura | MoE, 284B parametrów, 13B aktywnych, kontekst do 1M | MoE, MXFP4 |
| Rozmiar wag | 104,2 GB na 4 kartach | ~13 GB |
| Sloty w llama-swap | --parallel 4, kontekst 512k = 4 × 131k |
— |
| Generowanie, 1 agent | 22,6 tok/s | 141 tok/s |
| Generowanie, 4 agentów naraz | 13,6 tok/s na agenta (54,3 łącznie) | 81 tok/s na agenta (325 łącznie) |
| Czytanie promptu (4 tys. tokenów na agenta) | 1 186 tok/s dla 1 agenta; 1 694 tok/s łącznie dla 4 agentów | — |
| Optimum | 3 agentów naraz: każdy zachowuje 75% prędkości solo, maszyna robi 2,2× więcej pracy | — |
| Jakość — trudny zestaw zadań (PL / EN) | 92 / 93 (agenci 97, research 94, długie dokumenty 86 / 88) | 47 / 52 |
Źródła: PARALLEL.md i RESULTS.md w repozytorium wyników; model: karta DeepSeek-V4-Flash.
Trzy wnioski, które sterują całą architekturą:
- VRAM jest pełny. DeepSeek zostawia na każdej karcie około 1,4 GB. Model mowy, wizji albo generowania obrazów nie zmieści się obok — musi działać na CPU, dostać kartę po wymianie modelu w llama-swap (to trwa) albo trafić do chmury. To najważniejsze ograniczenie dla U4 i U5.
- Kontekst kosztuje czas, nie tylko pamięć — i czytanie jest wspólne. Jeden agent czyta prompt z prędkością około 1 200 tok/s, więc kontekst 50 tys. tokenów bez cache to około 40 sekund, zanim napisze pierwsze słowo. Gdy startuje kilku naraz, dzielą tę prędkość między siebie: łącznie rośnie ona tylko do około 1 700 tok/s, więc 4 agentów, z których każdy zaczyna od 16 tys. tokenów kontekstu, czeka 44 s na pierwszy token. Dzięki slotom każdy agent ma własny prompt cache i w kolejnych turach czyta tylko nową część rozmowy — pod warunkiem stałego prefiksu (pułapka H4 w 01-PROFILE.md). To ważniejsze niż wybór harnessu.
- Cztery sloty to twardy limit, trzy — optimum. Planuj 3 wykonawców naraz i jeden slot w zapasie (na planistę
w trybie w pełni lokalnym albo na pilne zadanie). Piąte zapytanie czeka w kolejce. Limit ustaw w jednym miejscu
z kolejką — w bramce (Bifrost), we frameworku (
ConcurrencyLimiterw Pydantic AI) albo w kolejce zadań (DBOS, Prefect).
Masz też w llama-swap wariant gpt-oss-20b-cpu, który działa bez kart. Grupa llama-swap, w której modele nie wymieniają
się nawzajem, pozwala trzymać DeepSeeka na GPU i małe modele na CPU jednocześnie — to wejście dla szybkich, prostych
tur (np. głosu). Prędkości generowania wariantu CPU nie mierzyłem.
2. Wzorzec: planista i wykonawcy
flowchart LR
U[Ty: tekst / głos / Telegram] --> P[Opus 5.5 — planista]
P -->|kontrakt zadania| Q[Kolejka z limitem 4]
Q --> W1[Wykonawca DeepSeek]
Q --> W2[Wykonawca DeepSeek]
Q --> W3[Wykonawca DeepSeek]
Q --> W4[Wykonawca DeepSeek]
W1 & W2 & W3 & W4 -->|wynik JSON| V[Walidacja w kodzie]
V -->|błąd 2×| P
V -->|OK| P
P -->|akcja z zapisem| H[Zatwierdzenie człowieka]
H --> X[Świat: kod, klaster, publikacja, alert]
Osiem zasad, zebranych z najlepszych pomysłów harnessów z rankingu:
- Kontrakt zadania, nie rozmowa. Planista wysyła cel, dane wejściowe, dozwolone narzędzia, schemat wyniku, budżet (tokeny i czas) i kryterium „gotowe". Wykonawca dostaje świeży kontekst (OpenCode, Deep Agents, Hermes).
- Wykonawcy czytają, planista pisze. Lokalni wykonawcy mają małe zestawy narzędzi tylko do odczytu; wszystko, co
zmienia świat (zapis plików,
kubectl apply, publikacja, wydanie pieniędzy) przechodzi przez planistę i człowieka. - Wynik zawsze strukturalny. JSON walidowany w kodzie + jedna tura naprawy (Hermes
output_schema, Pydantic AI). - Eskalacja po dwóch porażkach. Gdy wykonawca dwa razy nie przejdzie walidacji — zadanie wraca do Opusa.
- Jeden limit współbieżności (zasada 3 z sekcji 1).
- Stały prefiks promptu — czas i zmienne dane w wiadomości użytkownika, nie w prompcie systemowym (Moltis).
- Myślenie tylko tam, gdzie trzeba. Dla prostych wykonawców wyłącz tryb myślenia DeepSeeka albo upewnij się,
że harness odsyła
reasoning_content(pułapka H2). - Mierz na swoich zadaniach. Skuteczność i liczba tokenów Opusa na ukończone zadanie, nie na zapytanie.
Tryb w pełni lokalny
Gdy dane nie mogą wyjść z domu (np. logi służbowe w U1) albo nie chcesz płacić za chmurę, ten sam wzorzec działa bez Opusa — planistą zostaje DeepSeek. Układ na 4 sloty:
| Slot | Rola | Ustawienia |
|---|---|---|
| 1 | planista: plan, kontrakty zadań, synteza wyników | DeepSeek z włączonym myśleniem, cały kontekst zadania |
| 2–4 | wykonawcy (3 = zmierzone optimum) | DeepSeek, myślenie wyłączone dla prostych zadań, małe zestawy narzędzi tylko do odczytu |
| CPU | szybkie klasyfikacje, routing, krótkie odpowiedzi głosowe | gpt-oss-20b-cpu |
Czego brakuje bez Opusa i jak to nadrobić: planista nie jest mądrzejszy od wykonawców, więc zaostrz kontrakty (węższe zadania, jawne kryteria „gotowe", listy kontrolne), przenieś więcej sprawdzania do kodu (walidacja, testy, porównanie z regułami) i eskaluj do człowieka zamiast do Opusa. Na trudnym zestawie zadań DeepSeek osiągnął 97 w zadaniach agentowych i 94 w researchu, więc ten tryb jest realny — ale słabiej wypada w długich dokumentach (86 / 88) i powtarzalności (83), więc tam dodaj powtórne przejście albo człowieka. Każdy harness z rankingu pozwala ustawić ten sam lokalny model planiście i wykonawcom.
Lokalny wykonawca jako filtr prywatności. Wykonawca może streścić logi i usunąć z nich sekrety, zanim cokolwiek trafi do chmury. Przy danych służbowych to często warunek, by w ogóle użyć planisty w chmurze — zanim wyślesz cokolwiek do Opusa, sprawdź zasady swojej firmy.
3. Co jest udowodnione, a co nie
Udowodnione (zmierzone, z zastrzeżeniami)
| Wynik | Liczby | Źródło |
|---|---|---|
| Silny planista + tani wykonawca działa przy dobrze opisanych podzadaniach | Aider (2024): o1-preview + DeepSeek jako edytor 80,5%, Sonnet + DeepSeek 78,9% | Aider: architect/editor |
| Chmura dzieli zadanie, lokalny model przerabia długi kontekst | Minions: koszt chmury 5,7× niższy przy 97,9% jakości samej chmury (QA na długich dokumentach) | arXiv 2502.15964 |
| Eskalacja tylko w punktach decyzji się opłaca | advisor tool Anthropic: Sonnet + doradca Opus +2,7 pp przy 11,9% niższym koszcie (pomiar producenta, tylko modele Claude) | The advisor strategy |
| Wyuczony routing krok po kroku między urządzeniem a chmurą | Hera: 92,5% skuteczności samej chmury przy użyciu chmury w 46,3% kroków | arXiv 2605.24598 |
| Same lokalne modele są wyraźnie słabsze | OpenJarvis: zamiana Opus 4.6 na Qwen3.5-9B kosztowała 25–39 pp | arXiv 2605.17172 |
| Hydraulika działa | llama-server i llama-swap mówią /v1/messages (API Anthropic); llama.cpp parsuje wywołania narzędzi DeepSeek (DSML) i od 09.2026 używa prompt cache w pętlach agentów |
llama.cpp #29008, llama-swap |
Nieudowodnione albo nieprawdziwe
- „Subagenci Claude Code / Agent SDK na lokalnych modelach" — to nie jest wspierana funkcja. Prośba o wybór dostawcy per agent (#38698) jest otwarta, a obejścia przez bramki rozpoznają model po nazwie albo nagłówkach i wymagają klucza API, nie subskrypcji. Działa wzorzec odwrotny: Claude zostaje orkiestratorem, a lokalni agenci są dla niego narzędziami — serwer MCP (np. mcp-llama-swap, PAL) albo własne narzędzie w Agent SDK.
- Advisor tool nie zrobi z DeepSeeka wykonawcy — wymaga, by i wykonawca, i doradca byli modelami Claude. Hybrydę z lokalnym modelem orkiestrujesz sam (albo harnessem z rankingu).
- Automatyczne przekazywanie lider → pracownik. Goose miał taki tryb w 2025 i go usunął; przetrwała jawna delegacja do nazwanych wykonawców z własnym modelem (Goose: multi-model).
- „60–70% wywołań agentów może iść do małych modeli" — to szacunek z artykułu programowego NVIDII, nie pomiar.
- „Lokalnie jest taniej" — patrz sekcja 5.
- Nie istnieje publiczny pomiar dokładnie Twojej pary (Opus 5.5 + 3-bitowy DeepSeek-V4-Flash) na zadaniach DevOps, okazjach rynkowych czy głosie. Zbuduj własną ewaluację (sekcja 6, etap 0).
4. Pięć zastosowań — konkretne układy
U1 — DevOps: rozwój i diagnozowanie
Nie buduj — weź gotowy harness. Najprościej: OpenCode (albo Goose) z agentem głównym na Opus 5.5 i subagentami na DeepSeeku. Druga droga, jeśli i tak pracujesz w Claude Code: zostaw Claude Code jako orkiestratora i dodaj mu serwer MCP, który wysyła zadania do lokalnych agentów (sekcja 3).
alert / zgłoszenie
→ Opus: hipotezy i plan (co sprawdzić)
→ 2–4 lokalnych subagentów RÓWNOLEGLE, tylko do odczytu:
logi (Loki), metryki (Prometheus), ostatnie wdrożenia (GitHub/GitLab), stan klastra (K8s)
→ każdy zwraca JSON: {fakty, cytaty z logów, pewność}
→ Opus: diagnoza + propozycja poprawki (diff / komenda)
→ Ty zatwierdzasz → zmianę wykonuje Opus albo Ty
Klocki: kubernetes-mcp-server (read_only = true), mcp-grafana (--disable-write), github-mcp-server (--read-only),
srt wokół powłoki wykonawców. Uprawnienia w OpenCode: kubectl get|describe|logs → allow, apply|delete|exec → ask.
Kurs: część 7 kursu 1 (piaskownica) i
część 10 kursu 2.
U2 — Dochód pasywny: złożone przepływy
Zbuduj własną aplikację na frameworku — tu zysk jest z dopasowania przepływu do Twojego pomysłu, a gotowe harnessy są ogólne. Wybór: Pydantic AI (typowane wyniki, limit 4 slotów, trwałość przez Prefect / DBOS) albo LangGraph (grafy z checkpointami i przerwaniem dla człowieka). Bez kodu: n8n do sklejania integracji (licencja pozwala na użytek własny, nie na odsprzedaż n8n).
co tydzień: Opus planuje (co badać, co tworzyć, co mierzyć)
codziennie: lokalni wykonawcy — research, szkice, ekstrakcja danych, porządki
→ walidacja → Opus ocenia jakość próbek
zawsze: człowiek zatwierdza wszystko, co publikuje albo wydaje pieniądze (ntfy / Telegram z przyciskiem)
mierz: przychód, koszt Opusa, czas Twojej uwagi — na jeden ukończony cykl
Klocki: Prefect albo DBOS (kolejka z limitem 4), Cognee (pamięć projektów), microsandbox (kod pisany przez agentów), Apprise → ntfy, promptfoo w CI. Kurs: część 3 kursu 2 (harness długich zadań) i część 13 (flota agentów).
U3 — Rynki i okazje: wyszukiwanie i alerty
Lejek: najpierw tanie filtry w kodzie, potem lokalny model, Opus na końcu. Precyzja bierze się ze struktury (schematy, deduplikacja, progi w kodzie), a nie z jednego wielkiego promptu.
timery systemd (potem Prefect)
→ źródła: changedetection.io (ceny, dostępność), SearXNG + Crawl4AI / Trafilatura (oferty, newsy),
OpenBB / edgartools / CCXT tylko do odczytu (rynek)
→ reguły w kodzie: próg ceny, zmiana %, nowość, deduplikacja ← 90% odpada tu, za darmo
→ lokalny DeepSeek: ekstrakcja do JSON (cena, warunki, ryzyka, źródło) ← równolegle, limit 4
→ reguły w kodzie na JSON-ie
→ Opus tylko dla kandydatów: „czy to naprawdę okazja i dlaczego?" ← mało tokenów, wysoka jakość
→ alert: ntfy / Telegram z przyciskami, z linkiem do źródła i uzasadnieniem
Do precyzyjnej ekstrakcji warto stroić prompt wykonawcy DSPy z Opusem jako nauczycielem. Pamiętaj o warunkach źródeł danych (Yahoo — użytek osobisty) i o tym, że werdykt agenta to opinia, nie porada inwestycyjna. Kurs: część 11 kursu 2 (harmonogram) i część 12 (kanały).
U4 — rozmowa głosowa po polsku
Lokalnej mowy-do-mowy po polsku na AMD nie znalazłem (październik 2026) — zostaje kaskada STT → LLM → TTS. Ponieważ VRAM zajmuje DeepSeek, szybkie elementy głosu idą na CPU:
mikrofon → Pipecat + Smart Turn (CPU, rozpoznaje koniec wypowiedzi po polsku)
→ STT: Parakeet-v3 (CPU) albo whisper.cpp large-v3 (GPU, gdy wolna karta)
→ „głos" — szybki model odpowiada od razu i ma narzędzie delegate(zadanie):
gpt-oss-20b-cpu (lokalnie, prywatnie) albo Haiku 5.5 / Sonnet 5.5 (chmura, szybko)
→ ciężka praca asynchronicznie: DeepSeek (lokalnie) albo Opus (chmura) → wynik wraca do rozmowy
→ TTS: Piper pl_PL (CPU), potem Chatterbox albo VoxCPM2
Dlaczego nie DeepSeek bezpośrednio jako „głos": około 20 tokenów do pierwszego zdania przy 13,6–22,6 tok/s to 0,9–1,5 s samego generowania, plus przetwarzanie promptu. Całkowitego opóźnienia tego układu nie mierzyłem.
Najprostszy start bez budowania: Hermes Agent — notatki głosowe na Telegramie, lokalny faster-whisper z językiem
pl, odpowiedzi głosem. Asynchronicznie, ale działa od pierwszego dnia. Uwaga: syntezę mowy robi domyślnie chmurowy
Edge TTS. Jeśli głos ma zostać w domu, wybierz Moltis (lokalne STT i Piper z polskimi głosami) albo własny Pipecat.
U5 — zdjęcia i obrazy
Wzorzec „mostek wizji": tekstowy wykonawca dostaje opis obrazu od modelu wizyjnego (Hermes vision_analyze,
ZeroClaw — przekierowanie wizji, Qwen Code visionModel, OpenHands MultimodalRouter).
| Zadanie | Gdzie |
|---|---|
| zrzuty ekranu, zdjęcia, wykresy | test DeepSeek-V4-Flash-Vision-Exp (ten sam rozmiar + 0,93 GB); inaczej Qwen3.6-35B-A3B na zwolnionej karcie |
| dokumenty, faktury, PDF | Docling + PaddleOCR-VL-1.5 (mało VRAM, działa też na CPU) |
| generowanie i edycja | stable-diffusion.cpp za llama-swap albo ComfyUI — tylko modele Apache-2.0 przy zastosowaniach zarobkowych |
| trudne przypadki | Opus 5.5 (przyjmuje obrazy) — koszt i prywatność |
Kurs: część 5 kursu 1.
5. Koszty: czy lokalnie jest taniej?
Ceny API Anthropic (USD za milion tokenów, 11.10.2026, cennik):
| Model | Wejście | Odczyt z cache | Wyjście |
|---|---|---|---|
| Claude Opus 5.5 | 4,00 | 0,20 | 20,00 |
| Claude Sonnet 5.5 | 2,00 | 0,10 | 10,00 |
| Claude Haiku 5.5 (prompt ≤ 100 tys. tokenów) | 0,10 | 0,01 | 0,50 |
| Claude Haiku 5.5 (prompt powyżej 100 tys. tokenów — cała tura 5× drożej) | 0,50 | 0,05 | 2,50 |
Batch API: −50% na wejściu i wyjściu (zadania, które mogą poczekać).
Sufit Twojej maszyny — tylko wyjście: 54,3 tok/s × 86 400 s ≈ 4,7 mln tokenów wyjścia na dobę — przy czterech slotach zajętych bez przerwy przez 24 godziny. Ta sama liczba tokenów wyjścia kosztowałaby w chmurze:
| Model | Koszt 4,7 mln tokenów wyjścia |
|---|---|
| Haiku 5.5 | ok. 2,35 USD |
| Sonnet 5.5 | ok. 47 USD |
| Opus 5.5 | ok. 94 USD |
Prąd policz sam: zmierz pobór z gniazdka przy pełnym obciążeniu i pomnóż przez stawkę. Karty masz ograniczone do 250 W; przy założeniu 1,2 kW dla całej maszyny i 1 zł za kWh wychodzi około 29 zł na dobę ciągłej pracy (założenie, nie pomiar).
Ale agent to głównie wejście, nie wyjście. Realistyczna tura wykonawcy (założenia, nie pomiar): kontekst 30 tys. tokenów, z czego 28 tys. z cache, 2 tys. nowego wejścia i 500 tokenów wyjścia. Na tej maszynie 4 agentów robi taką turę w około 42 s (8 tys. nowych tokenów czytanych łącznie z prędkością ~1 700 tok/s to ~5 s, potem 500 tokenów przy 13,6 tok/s to ~37 s), czyli około 8 300 tur na dobę przy pełnym obciążeniu. Te same tury w chmurze (pomijam niewielki koszt zapisu do cache):
| Model i kontekst | Koszt jednej tury | 8 300 tur na dobę |
|---|---|---|
| Haiku 5.5, kontekst 30 tys. | ~0,0007 USD | ~6 USD |
| Haiku 5.5, kontekst 120 tys. (powyżej progu 100 tys.) | ~0,008 USD | ~68 USD |
| Sonnet 5.5, kontekst 30 tys. | ~0,012 USD | ~98 USD |
| Opus 5.5, kontekst 30 tys. | ~0,024 USD | ~196 USD |
Prąd przy pełnym obciążeniu z przykładu wyżej to ~29 zł na dobę, czyli około 7 USD przy założonym kursie 4 zł za dolara.
Wniosek: przy krótkich kontekstach Haiku 5.5 kosztuje mniej więcej tyle co prąd tej maszyny przy pełnym obciążeniu (~6 wobec ~7 USD na dobę) — a gdy maszyna stoi bezczynnie, chmura nie kosztuje nic, prąd tak. Przy kontekstach powyżej 100 tys. tokenów albo w porównaniu z Sonnetem i Opusem lokalny DeepSeek jest około 10 do 30 razy tańszy — o ile jego jakość wystarcza. Pewne zalety lokalne, niezależne od cen: prywatność (dane nie wychodzą z domu), brak limitów i kolejek, praca offline i nielimitowane eksperymenty na sprzęcie, który już masz. Czy Haiku 5.5 dorównuje DeepSeekowi jakością na Twoich zadaniach — nie wiadomo: nie był mierzony na trudnym zestawie z local-llm-quality-bench. To dobry następny pomiar.
W hybrydzie koszt robi planista. Przykład (założenia, nie pomiar): 30 wywołań Opusa dziennie, każde 20 tys. tokenów wejścia (z czego 80% z cache) i 2 tys. tokenów wyjścia:
- wejście: 30 × (4 tys. × 4,00 + 16 tys. × 0,20) / 1 mln ≈ 0,58 USD na dobę,
- wyjście: 30 × 2 tys. × 20,00 / 1 mln ≈ 1,20 USD na dobę,
- razem ≈ 1,8 USD na dobę, około 53 USD miesięcznie (pomijam niewielki koszt zapisu do cache).
Dźwignie kosztu, od najtańszej: cache promptu (odczyt 20× tańszy niż wejście), wykonawcy zwracają streszczenia zamiast
surowych logów (mały kontekst planisty), Batch API dla zadań nocnych, niższy effort dla rutynowego planowania.
6. Ścieżka: co wziąć gotowe, co zbudować samemu
| Warstwa | Weź gotowe | Zbuduj sam, jeśli chcesz się nauczyć |
|---|---|---|
| Serwowanie modeli | llama-swap (masz) | — |
| Bramka i limit 4 | Bifrost albo ConcurrencyLimiter (Pydantic AI) |
semafor w swojej pętli (kurs 2, część 17) |
| Agent DevOps | OpenCode albo Goose | — (nie warto) |
| Pętla agenta własnych aplikacji | Pydantic AI albo LangGraph | własna pętla z kursu 1, części 6 i kursu 2, części 3 |
| Harmonogram | timery systemd → Prefect | kurs 2, część 11 |
| Powiadomienia i kanały | ntfy, Apprise, bot Telegram | kurs 2, część 12 |
| Głos | Pipecat | — |
| Pamięć | pliki robocze, potem Cognee | kurs 2, części 5–6 |
| Ewaluacja | promptfoo, local-llm-quality-bench | kurs 2, część 14 |
Kolejność, w której opłaca się iść:
- Ewaluacja przed budową. 20–50 prawdziwych zadań na zastosowanie, trzy układy: sam Opus, Opus + lokalni, sami lokalni. Mierz skuteczność i tokeny Opusa na ukończone zadanie. Bez tego każda decyzja z tej sekcji to zgadywanie.
- U1 z OpenCode — najszybszy zwrot, zero kodu, uczy, jak DeepSeek radzi sobie jako subagent.
- Lejek U3 — timery systemd + changedetection.io + SearXNG + ntfy; potem lokalna ekstrakcja i Opus na końcu.
- Aplikacja U2 na Pydantic AI albo LangGraph — tu wykorzystasz wszystko z kursu 2.
- U4 — najpierw notatki głosowe przez Hermes Agent albo Telegram, potem rozmowa na żywo z Pipecat.
- U5 — test Vision-Exp; jeśli zawiedzie, osobny model wizyjny i decyzja o podziale kart.
Bezpieczeństwo całości — kurs 2, część 16. Zasada nadrzędna: lokalny wykonawca, który czyta internet, jest celem prompt injection — dlatego czyta, a nie pisze.