Reálne použitie · august 2026
DeepSeek V4 Flash 0731 DS4 pri vývoji reálneho softvéru
Dva porovnávacie testy modelov Qwen 3.6, Laguna S 2.1 a DeepSeek V4 Flash 0731 DS4 na projekte, na ktorom pracujem každý deň.
- lokálne modely
- 3
- praktické testy
- 2
- zjednotená pamäť
- 96 GB
- najväčšie LLM
- DeepSeek V4 Flash 0731 DS4 · 284B
Od experimentu k práci
Model, ktorý prestal byť iba hračkou
V práci už niekoľko mesiacov vibecodujem a používam lokálne modely. Začal som v marci 2026 experimentovať s Qwen3-Coder-Next, modelom s 80B celkovými a 3B aktívnymi parametrami. Na moje prekvapenie sa ukázal ako použiteľný na jednoduché úpravy v reálnom, roky vyvíjanom projekte.
Vyvíjam LED Strip Studio 4 — desktopový softvér na návrh, mapovanie a ovládanie pixelových LED. Podľa môjho odhadu má projekt výrazne vyše 100 000 riadkov kódu. Nie je to malá ukážková aplikácia, ale stredne veľký softvér s históriou, staršími aj novšími GUI vetvami a množstvom prepojených častí.
O pár týždňov prišli lepšie modely Qwen 3.5 a najmä Qwen 3.6 27B spolu s rýchlejšou verziou Qwen 3.6 35B-A3B. Qwen 3.6 sa stal mojím štandardom pri vibecodingu. Dokázal pridávať funkcie, robiť refaktoring, nachádzať menšie chyby a zvládať veľkú časť administratívy okolo projektu — od práce so SVN až po množstvo drobných vývojových úloh.
Od jeho používania som mal málokedy dôvod písať implementačný kód ručne. To však neznamená, že bol bez limitov.
Praktický limit
Čo dokáže 27B model — a kde narazí
Qwen 3.6 je skvelý pracovný nástroj, ale pri projekte tejto veľkosti už pracuje na hrane svojich schopností. Niekedy sa vývoj s ním vlečie skoro rovnako pomaly, ako keby som programoval sám. Stále je to pre mňa výhodnejšie: kým model pracuje, môžem riešiť niečo iné alebo zadávať prompty ďalším agentom nad inými projektmi.
Najväčšou bolesťou je zacyklenie. Pri dlhšej a náročnejšej úlohe začne malý lokálny model premýšľať stále nad tými istými myšlienkami a reálne sa nikam neposúva. Pri veľkých cloudových modeloch ako GPT alebo Claude sa s tým vôbec nestretávam; pri menších lokálnych modeloch je to častý dôvod na pravidelnú kontrolu.
Pri iných lokálnych modeloch, napríklad Gemma 4, som narážal aj na problémy s toolchainom: nesprávne použitie nástrojov alebo neschopnosť urobiť banálnu operáciu, napríklad vytvoriť súbor. Qwen túto časť zvláda podstatne lepšie, no zacyklenie zostalo.
Qwen už nebol experiment. Bol to užitočný kolega, ktorého však pri ťažšej práci stále treba priebežne kontrolovať.
Väčšie lokálne modely
Ako využiť 96 GB pamäte lepšie
Qwen 3.6 27B je pomerne malý model a podľa kvantizácie sa dá spustiť aj približne na 24 GB pamäte. Môj Mac M3 Ultra má 96 GB, takže som začal hľadať väčšie modely, ktoré by mohli posunúť kvalitu autonómneho vývoja vyššie a hlavne obmedziť zacyklenie.
Prvým kandidátom bola Laguna S 2.1 118B. Vo verzii Q4 sa do 96 GB zmestila s rezervou. Dva dni som ju skúšal na bežnom vývoji. Na prvý pohľad pôsobila, že nad problémami premýšľa hlbšie než Qwen, ale výsledok bol rozpačitý: zacyklenie vystriedali problémy s toolchainom. Neskôr som našiel dôležité nastavenie, ktoré časť z nich vyriešilo, no nebol to jediný problém Laguny.
Druhým kandidátom bol DeepSeek V4 Flash 0731 spustený cez runtime DS4, ďalej skrátene DeepSeek V4 Flash 0731 DS4. Publikované výsledky naznačovali vyššiu kvalitu než pri predchádzajúcej verzii, ale model s 284 miliardami celkových parametrov bol pri bežnej kvantizácii nad možnosťami môjho stroja. S očakávaním výraznej degradácie kvality som preto siahol po oveľa úspornejšej zmiešanej Q2 kvantizácii. Prekvapilo ma, že sa model nielen zmestil do 96 GB, ale zostal veľmi schopný aj pri reálnej práci.
Keď Mac používam prakticky iba ako server, vypnem nepotrebné aplikácie a GPU wired-memory limit nastavím približne na 92 GB, dokážem model používať s reálnym pracovným kontextom 320K tokenov. Publikovaná konfigurácia modelu uvádza maximum 1 milión tokenov, no 320K je maximum, ktoré som reálne používal na tomto 96 GB stroji.
- Počítač
- Mac M3 Ultra
- Pamäť
- 96 GB
- Model
- 284B celkovo
- Kvantizácia
- zmiešaná Q2
- GPU wired-memory limit
- približne 92 GB
- Reálny kontext
- 320K tokenov
Lokálne spustenie
Ako som DeepSeek rozbehol v termináli
DS4, dnes nazývaný DwarfStar, je úzko zameraný natívny inference engine a API server pre DeepSeek V4 Flash. Aktuálny oficiálny základ inštalácie naklonuje repozitár, stiahne odporúčaný 2-bitový imatrix GGUF pre 96/128 GB stroje a na macOS zostaví Metal binárky cez make. Downloader sa však vyvíja a nemusí stiahnuť byte-identický súbor použitý v tomto teste; jeho presný názov je v príkaze nižšie.
Môj konkrétny beh používal zmiešaný IQ2_XXS/Q2_K GGUF, limit kontextového okna 320K a 16 GB priestoru na disku pre KV cache. Caffeinate držal Mac bdelý a pred štartom som zvýšil GPU wired-memory limit na 92 160 MB. Hodnota 320K je kapacita okna, nie tvrdenie, že každý beh použil 320K tokenov.
Aktuálny oficiálny základ inštalácie
git clone https://github.com/antirez/ds4.git "$HOME/ds4"
cd "$HOME/ds4"
./download_model.sh ds4f-q2
make
Zobraziť celý spúšťací príkaz
Presný príkaz použitý pri mojom 320K behu
cd "$HOME/ds4"
sudo sysctl -w iogpu.wired_limit_mb=92160 && \
caffeinate -dimsu "$HOME/ds4/ds4-server" \
--metal \
-m "$HOME/llm-models/DeepSeek-V4-Flash-0731-ds4/DeepSeek-V4-Flash-0731-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-imatrix.gguf" \
--ctx 320000 \
--prefill-chunk 2048 \
--tokens 8192 \
--kv-disk-dir "$HOME/ds4-kv" \
--kv-disk-space-mb 16384 \
--kv-cache-cold-max-tokens 0 \
--kv-cache-continued-interval-tokens 0 \
--host 0.0.0.0 \
--port 8080
Limit 92 160 MB je agresívne nastavenie pre môj konkrétny 96 GB Mac a sám sa neresetuje. Po ukončení servera ho vždy vraciam späť:
sudo sysctl -w iogpu.wired_limit_mb=0
Parameter --host 0.0.0.0 sprístupní API aj iným zariadeniam v lokálnej sieti. Ak klient beží na tom istom Macu, bezpečnejšia voľba je --host 127.0.0.1.
Má to cenu: pre ostatné aplikácie zostáva veľmi málo pamäte. Komplikované je aj spúšťanie subagentov, pretože ich KV cache sa môže presúvať na disk alebo zahodiť a po návrate k hlavnému agentovi znovu prepočítavať.
Metodika
Rovnaký štart, rovnaký prompt, reálna aplikácia
Mal som dve reálne úlohy, ktoré bolo treba na projekte vyriešiť, a použil som ich ako porovnávacie testy. V rámci každej úlohy začal každý model z rovnakého stavu a dostal rovnaký prompt.
Rovnaký základ
V rámci jedného testu začal každý beh z rovnakých zdrojových súborov a dostal rovnaký prompt.
Funkčný výsledok
Aplikáciu som zostavil, spustil a každú podúlohu manuálne overil. Hodnotil som, čo fungovalo, nie čo model tvrdil.
Náklady behu
Samostatne som sledoval počet promptov, čas, použitý kontext a zásahy potrebné na prerušenie slučky alebo pokračovanie práce.
Kvalita zmeny
Claude Opus 5 skontroloval archivované zmeny podľa rovnakej päťbodovej metodiky. Je to LLM-as-a-judge, nie nezávislá pravda.
Overovanie reality
Modely mali prístup aj k zámerne zastaraným alebo zavádzajúcim projektovým poznámkam. Súčasťou testu bolo, či si tvrdenia overia v skutočnom kóde.
Funkčné skóre
- splnené
- 1
- drobný nedostatok
- 0,75
- splnené čiastočne
- 0,5
- splnená len malá časť
- 0,25
- nesplnené
- 0
Skóre kvality
- Správnosť
- Robustnosť a bezpečnosť
- Návrh a udržiavateľnosť
- Overiteľnosť
- Disciplína zmien
Správnosť má dvojnásobnú váhu. Súhrn = (2 × správnosť + ostatné štyri kategórie) / 6.
Test 1
Drag & drop vrstiev a chyba dizajnu
Tri súvisiace úlohy v novom GUI: opraviť rozbitý dizajn po dropnutí scény, doplniť presúvanie vrstiev a pridať správne hover indikátory.
- Opraviť dizajn zoznamu, ktorý sa po dropnutí scény z banky zmenil.
- Preniesť chýbajúcu logiku drag & drop pre presúvanie vrstiev.
- Pri drag over zobraziť dve vodorovné čiary označujúce miesto dropnutia.
Zobraziť pôvodný prompt
Pôvodné slovenské znenie bez redakčných úprav.
V GUINewDesign mam spravene MultiSceneView s dokovacim oknom MultiSceneLayersUC2.
V sucasnosti toto dokovacie okno MultiSceneLayersUC2 prebera staging dizajn (vid prvy screenshot), co je spravne, ma vsak chybu, dizajn sa zmeni po dropnuti sceny z banky (vid druhy screenshot). Spravny je povodny dizajn.
Dalej potrebujem doplnit chybajucu logiku z GUI verzie LSS.GUI.MultiScenes.MultiSceneLayersUC ohladom drag & drop teda presuvania layer-ov medzi sebou. Dropovanie scen z banky uz mam implementovane. Potrebujem tam vsak doplnit aj hover effekty pri drag over evente, konkretne chcem aby sa medzi layermi zobrazovali podobne ciary ako vidis v ALGroupUC2 kde sa animacie vedia medzi sebou presuvat a zobrazuju sa nad mysou 2 vodorovne ciary predstavujucu miesto kde sa dragnuta animacia vie dropnut po pusteni mysi. Pozri si ako to robil ALGroupUC2, pouziva styly "bottomMargin", "topMargin" na zobrazenie tych dvoch ciar.
V podsate si pozri Drag, DragOver a Drop eventy z LSS.GUI.MultiScenes.MultiSceneLayersUC a tiez z ALGroupUC2, kde z LSS.GUI.MultiScenes.MultiSceneLayersUC vezmes logiku drag & drop eventov a z ALGroupUC2 vezmes to stylovanie.
Qwen 3.6 podporoval obrazový vstup. DeepSeek ani Laguna ho nepodporovali, preto som im screenshoty opisoval textom. Pri prvom zaznamenanom stave DeepSeeku som tento opis omylom nepriložil a doplnil som ho až následne.
Konfigurácia behov: Laguna používala Q8 KV cache a chýbalo jej správne spracovanie reasoning_content, preto je jej beh neplatný. DeepSeek používal Q2 váhy a 16-bitovú KV cache. Typ KV cache Qwenu nebol zaznamenaný.
Výsledok bez skratiek
DeepSeek skončil v poslednom zaznamenanom stave s 3/3. Qwen dosiahol 2,5/3 a Laguna sa nehodnotí, pretože jej beh znehodnotila chybná konfigurácia prostredia.
Q2 kvantizácia
DeepSeek V4 Flash 0731 DS4
3/3funkčné finále
Ako jediný splnil všetky tri úlohy.
- Kvalita zmeny
- 3,8/5
lokálny 27B model
Qwen 3.6 27B ThinkingCap
2,5/3funkčné finále
Presúvanie aj indikátory fungovali, dizajn úplne neopravil.
- Kvalita zmeny
- 2,5/5
chybná konfigurácia behu
Laguna S 2.1 118B
N/Aneplatný beh
Výsledok nemožno použiť na hodnotenie modelu.
- Kvalita zmeny
- nehodnotená
Výsledok po jednotlivých úlohách
Namiesto nejasnej postupnosti čísel je tu finálny stav každej úlohy a stručné vysvetlenie, čo review našlo v riešení.
| Úloha | DeepSeek · Q2 | Qwen 3.6 | Laguna S 2.1 |
|---|---|---|---|
| 1. Dizajn po dropnutí scény | Najpresvedčivejšie riešenie 1/1Splnené Opravil príčinu a odstránil iba dočasnú triedu „DropHere“. | 0,5/1Čiastočne Zmiernil vizuálny príznak, no ponechal mazanie všetkých štýlových tried. | N/ANeplatný beh Výsledok nemožno pripísať modelu. |
| 2. Presúvanie vrstiev | Lepšie ošetrenie 1/1Splnené Presúvanie v poslednom zaznamenanom stave fungovalo a okrajové správanie bolo lepšie ošetrené. | Review našlo nedostatok 1/1Splnené Funkčne hotové, ale drag sa mohol spustiť aj z ovládacích tlačidiel. | N/ANeplatný beh Výsledok nemožno pripísať modelu. |
| 3. Indikátory miesta dropnutia | Review našlo detail 1/1Splnené Indikátory fungovali; pri spodnej čiare zostala malá medzera. | Review našlo detail 1/1Splnené Indikátory fungovali, no bez DragLeave mohli po odchode kurzora zostať zobrazené. | N/ANeplatný beh Výsledok nemožno pripísať modelu. |
1. Dizajn po dropnutí scény
- DeepSeek · Q2
- Najpresvedčivejšie riešenie 1/1Splnené Opravil príčinu a odstránil iba dočasnú triedu „DropHere“.
- Qwen 3.6
- 0,5/1Čiastočne Zmiernil vizuálny príznak, no ponechal mazanie všetkých štýlových tried.
- Laguna S 2.1
- N/ANeplatný beh Výsledok nemožno pripísať modelu.
2. Presúvanie vrstiev
- DeepSeek · Q2
- Lepšie ošetrenie 1/1Splnené Presúvanie v poslednom zaznamenanom stave fungovalo a okrajové správanie bolo lepšie ošetrené.
- Qwen 3.6
- Review našlo nedostatok 1/1Splnené Funkčne hotové, ale drag sa mohol spustiť aj z ovládacích tlačidiel.
- Laguna S 2.1
- N/ANeplatný beh Výsledok nemožno pripísať modelu.
3. Indikátory miesta dropnutia
- DeepSeek · Q2
- Review našlo detail 1/1Splnené Indikátory fungovali; pri spodnej čiare zostala malá medzera.
- Qwen 3.6
- Review našlo detail 1/1Splnené Indikátory fungovali, no bez DragLeave mohli po odchode kurzora zostať zobrazené.
- Laguna S 2.1
- N/ANeplatný beh Výsledok nemožno pripísať modelu.
Test 1 nemá potvrdené, či zaznamenané stavy patrili jednej postupnej session alebo samostatným kolám. Preto tu zobrazujem iba bezpečne známy finálny stav.
Rozhodol jeden malý, ale zásadný rozdiel
Qwen ponechal volanie, ktoré zo zoznamu vymazalo všetky štýlové triedy. Spolu s dočasnou triedou pre drag & drop sa tým odstránili aj trvalé štýlové triedy. Model liečil vizuálny príznak, ale nie príčinu.
DeepSeek našiel koreň problému a odstraňoval iba dočasnú triedu „DropHere“. Preto opravil dizajn už v prvom zaznamenanom stave a napokon dokončil aj drag & drop a hover indikátory.
Prečo Laguna nedostala nulu
Laguna zlyhala trikrát: zacyklila sa, nevedela nájsť existujúce súbory a pokazila aj to, čo predtým fungovalo. Žiadny výstup sa nedal archivovať. Neskôr som našiel pravdepodobný problém konfigurácie: OpenCode nebol nastavený na správne interleaved spracovanie poľa reasoning_content.
Po doplnení nasledujúceho nastavenia Laguna dokončila dva oveľa dlhšie behy bez rovnakého katastrofického správania. Z Q8 na FP16 sa zároveň zmenila KV cache, takže dve premenné sa zmenili naraz. Neviem dokázať, ktorá zmena bola rozhodujúca, hoci oprava reasoningu sedí na pozorované symptómy podstatne lepšie.
Poctivý záver preto nie je „Laguna dostala nulu“, ale „beh Laguny bol neplatný, pretože testovacie prostredie nebolo správne nastavené“.
Relevantná časť OpenCode nastavenia použitá po prvom teste
"laguna-s-2.1": {
"name": "Laguna S 2.1",
"tool_call": true,
"reasoning": true,
"interleaved": {
"field": "reasoning_content"
},
"modalities": {
"input": ["text"],
"output": ["text"]
}
}
Kvalita po kategóriách
Hodnotiteľ: Claude Opus 5
Skóre kvality je oddelené od funkčného výsledku. Laguna nemá archivovaný výstup, preto zostáva N/A.
| Kategória | DeepSeek · Q2 | Qwen 3.6 | Laguna S 2.1 |
|---|---|---|---|
| Správnosť | 4/5silné | 2/5slabé | N/Anehodnotené |
| Robustnosť | 4/5silné | 3/5priemerné | N/Anehodnotené |
| Návrh | 4/5silné | 3/5priemerné | N/Anehodnotené |
| Overiteľnosť | 3/5priemerné | 2/5slabé | N/Anehodnotené |
| Disciplína zmien | 4/5silné | 3/5priemerné | N/Anehodnotené |
Správnosť
- DeepSeek · Q2
- 4/5silné
- Qwen 3.6
- 2/5slabé
- Laguna S 2.1
- N/Anehodnotené
Robustnosť
- DeepSeek · Q2
- 4/5silné
- Qwen 3.6
- 3/5priemerné
- Laguna S 2.1
- N/Anehodnotené
Návrh
- DeepSeek · Q2
- 4/5silné
- Qwen 3.6
- 3/5priemerné
- Laguna S 2.1
- N/Anehodnotené
Overiteľnosť
- DeepSeek · Q2
- 3/5priemerné
- Qwen 3.6
- 2/5slabé
- Laguna S 2.1
- N/Anehodnotené
Disciplína zmien
- DeepSeek · Q2
- 4/5silné
- Qwen 3.6
- 3/5priemerné
- Laguna S 2.1
- N/Anehodnotené
Tento test má nižšiu spoľahlivosť: nie je archivovaný pôvodný priečinok „orig“, chýbajú údaje o kontexte a nie je jednoznačné, či zaznamenané časy patria samostatným kolám alebo jednotlivým promptom. Preto ich neuvádzam ako porovnateľné celkové časy.
Test 2
Šesť úprav MIDI rozhrania
Druhé kolo bolo lepšie archivované a modely riešili šesť samostatných úprav existujúceho MIDI nastavenia.
- Presunúť „Add“ do hlavičky a odstrániť pôvodné „Remove“.
- Pridať „X“ ku každému zariadeniu aj potvrdzovací dialóg.
- Odstrániť duplicitný názov a zobraziť „Not set“ pre nenastavené zariadenie.
- Stabilizovať šírku animovaných tlačidiel „Learn“ na 80 px.
- Pridať selected a hover štýly pre notes aj special commands.
- Opraviť pád spôsobený odkazom na ParentWindow zo starej GUI vetvy.
Zobraziť pôvodný prompt
Pôvodné slovenské znenie bez redakčných úprav.
Naposledy sa pracovalo na GUINewDesign/Controls/ na oknach pre nastavovanie MIDI, ArtNet, DMXIn atd. . Uz je vela veci takmer hotovych ale je tam par veci ktore treba este doriesit. Tu je zoznam par z casti MIDI:
- V GUINewDesign v dokovacom okne MIDIUC2 v lavom panely je zoznam MIDI zariadeni a pod nim tlacitka "Add" a "Remove". Presun tlacitko "Add" do hornej casti nad zoznamom do rovnakeho riadka ako je label "MIDI Devices" ale zarovnaj ho po pravej strane. Tlacitko "Remove" vyhod uplne aj s eventom.
- Pre kazde MIDI zariadenie v zozname pridaj tlacitko "X" po jeho pravej strane ktore bude sluzit na mazanie midi zariadenia. Tlacitko "X" nech vypada rovnako ako v Listbox.ItemTemplate z StripSceneGroupsPane.axaml. Tlacitko "X" nech je vycentrovane vertikalne a zarovnane vpravo podobne ako je to v StripSceneGroupsPane.axaml. A po stlaceni tlacitka "X" nech sa zobrazi dialogove okno s otazkou ci naozaj chcem vymazat dane MIDI zariradenie, pouzi presne to dialogove okno ake pouzivas v StripSceeGroupsPane pri mazani group. MIDI zariadenie maz rovnako ako v tom odstranenom evente po odstraneni tlacitka "Remove".
- Dalej v zozname MIDI zariadeni v MIDIUC2.axaml sa zobrazuju midi zariadenia tak ze zobrazuju duplicitne nazvy zariadeni. Ma sa zobrazovat iba jeden, inspiruj sa StripSceneGroupsPane. Dalej ked pridam nove zariadenie tak este nie je zvolene ziadne MIDI zariadenie tak sa ma zobrazit nieco ako "Not set", teraz sa nezobrazuje nic, nevidim ziaden text, oprav to.
- Dalej ked kliknem na tlacitko "Learn" tak sa zacne pustat animacia v podobe postupneho pridavani troch bodiek ("Learn", "Learn.", "Learn..", "Learn..."), ktora sa neustale opakuje. Toto je spravne ale tlacitko learn nema pevne nastavenu sirku a tak sa sirka prisposobuje dlzke textu a tlacitko sa postupne zvacsuje, nastav mu dostatocne velku sirku napr. 80px, to by mal stacit. A toto urob pre vsetky tlacitka "Learn" v MIDIDeviceUC2.
- V "MIDIDeviceUC2" v casti "Notes" sa nezobrazuje styl selectnutej noty, akoby nebol ziaden styl nastaveny v selectoroch stylov. Inspiruj sa stylami selectnutych commandov v GUINewDesign/SceneCommands, predpokladam ze to je v SceneCommandUC2 kde sa pekne zobrazuje oznaceny command cervenym pozadim. A tiez pridaj aj hover styl z tak ako je v SceneCommandUC2. Pridaj oba styly pre notes aj pre special commands v MIDIDeviceUC2
- V "MIDIDeviceUC2" ked stlacim tlacitko "Add" tak padne v MIDIDeviceUC2.axaml.cs na riadku 125 na probleme s tym ze odkazujes na ParentWindow zo starej GUI vetvy, hoci mas odkazovat na rodicovske okno z novej vetvy GUINewDesign. Pozri si ako sa otvarali ine dialogove okna napr. WorkspaceSettings, a naprav to.
Qwen 3.6 podporoval obrazový vstup. DeepSeek ani Laguna ho nepodporovali, preto dostali obsah referenčných screenshotov aj ako textový opis.
Konfigurácia behov: oba DeepSeek behy používali Q2 váhy a 16-bitovú KV cache; Laguna používala FP16 KV cache a opravené spracovanie reasoning_content. Typ KV cache Qwenu nebol zaznamenaný.
Všetci sa dostali na 6/6. Rozdiel je v ceste a kvalite.
Finálne skóre modely nerozlíši. DeepSeek pri 320K však splnil všetkých šesť úloh už na prvý prompt a bez zásahu; ostatné behy potrebovali opravy, viac času alebo odovzdali slabšiu zmenu.
Q2 · 320K
DeepSeek V4 Flash 0731 DS4
6/6už na prvý prompt
Najlepší praktický beh celého porovnania.
- Prompty
- 1
- Zásahy
- 0
- Čas
- 21:55
- Použitý kontext
- 141,8K
- Kvalita
- 3,8/5
Q2 · 160K
DeepSeek V4 Flash 0731 DS4
5,5/6na prvý prompt · finále 6/6
Hlbší návrh, ale podstatne dlhší beh.
- Prompty
- 2
- Zásahy
- 0
- Čas
- 1:27:30
- Použitý kontext
- 154,9K
- Kvalita
- 3,7/5
262K
Qwen 3.6 27B ThinkingCap
5/6na prvý prompt · finále 6/6
Plné skóre po troch promptoch a troch zásahoch.
- Prompty
- 3
- Zásahy
- 3
- Čas
- 35:23
- Použitý kontext
- 102,6K
- Kvalita
- 2,8/5
FP16 KV cache
Laguna S 2.1 118B
4,5/6na prvý prompt · finále 6/6
Test dokončila, ale odovzdala najslabšiu zmenu.
- Prompty
- 3
- Zásahy
- 0
- Čas
- 1:21:03
- Použitý kontext
- 270,7K
- Kvalita
- 2,2/5
Najjasnejší výsledok celého porovnania bol DeepSeek pri 320K: všetkých šesť úloh dokončil na prvý prompt, bez jediného zásahu, za 21 minút a 55 sekúnd.
Beh DeepSeeku pri 160K sa dostal na rovnaké funkčné skóre, ale narazil na tlak kontextového okna a automatickú kompakciu kontextu (autocompact). Trval 1 hodinu 27 minút. Autocompact pravdepodobne výrazne prispel k dlhšiemu času; z dvoch behov však nemožno presne oddeliť jeho vplyv od prirodzeného rozptylu.
Qwen sa tiež dostal na 6/6, ale potreboval tri pracovné prompty a tri moje zásahy: dvakrát som prerušil zacyklenie a raz model sám prestal pracovať.
Laguna už s opravenou konfiguráciou test dokončila. Potvrdila tým, že jej prvé zlyhanie nebolo platným meraním modelu. Z platných behov však spotrebovala najviac kontextu a odovzdala kvalitatívne najslabšiu zmenu.
Úloha po úlohe
Funkčné skóre a následné code review hovoria dve rozdielne veci. „Splnené“ znamená, že manuálny test prešiel; varovanie upozorňuje na chybu alebo slabšie riešenie nájdené neskôr v archivovanej zmene.
| Úloha | DeepSeek · 320K | DeepSeek · 160K | Qwen · 262K | Laguna |
|---|---|---|---|---|
| 1. Add do hlavičky, Remove preč | Najpresvedčivejšie 1/1Splnené Odstránil zastaranú triedu aj mŕtvy riadok. | 1/1Splnené Odstránil mŕtvy riadok, ale ponechal zastaranú triedu. | 1/1Splnené Funkčne dokončil, no ponechal zastaranú triedu. | Review našlo nedostatok 1/1Splnené Odstránila zlú triedu, ale pridala dve nevyžiadané zmeny. |
| 2. Mazanie zariadenia cez X | Review našlo chybu 1/1Splnené Guard na index bol správny, no mazanie nevybraného zariadenia nesprávne zmenilo výber. | Najpresvedčivejšie 1/1Splnené Jediný správne ošetril index aj podmienenú zmenu výberu. | Review našlo chybu 1/1Splnené Funkčne prešlo, ale obsahovalo chybu s preselektovaním. | Review našlo chybu 1/1Splnené Rovnaká chyba s preselektovaním a chýbajúci guard na index. |
| 3. Jeden názov a stav Not set | Najpresvedčivejšie 1/1Splnené Použil existujúcu vlastnosť GuiTitle, ktorá vracia presne „Not set“. | 1/1Splnené Použil Name; výsledkom bol funkčný text „no MIDI device“. | 1/1Splnené Funkčné, ale menej presné než použitie GuiTitle. | Review našlo nedostatok 1/1Splnené Pridala nový konverter a natvrdo zapísaný text; stav Active bol chybný. |
| 4. Pevná šírka tlačidiel Learn | 1/1Splnené Šírku nastavil trikrát priamo; funguje, ale duplikuje nastavenie. | Najlepší návrh 1/1Splnené Opravil šírku raz v spoločnom štýle a vynechal tlačidlo, ktoré fix nepotrebovalo. | Review našlo duplicitu 1/1Splnené Šírku nastavil štyrikrát vrátane tlačidla, ktoré ju nepotrebovalo. | Review našlo duplicitu 1/1Splnené MinWidth nastavila štyrikrát vrátane tlačidla, ktoré fix nepotrebovalo. |
| 5. Selected a hover štýly | Obmedzené overenie 1/1Manuálne splnené Hover zmena je v spoločnom súbore mimo archívu, preto ju nemožno spätne skontrolovať. | Obmedzené overenie 1/1Manuálne splnené Navyše našiel únik, no jeho oprava vytvorila problém pri opätovnom pripojení komponentu. | Obmedzené overenie 1/1Manuálne splnené Hover zmena je v spoločnom súbore mimo archívu. | Obmedzené overenie 1/1Manuálne splnené Hover zmena je v spoločnom súbore mimo archívu. |
| 6. Oprava pádu cez ParentWindow | Najpresvedčivejšie 1/1Splnené Čistá oprava v rozsahu zadania. | Najpresvedčivejšie 1/1Splnené Čistá oprava v rozsahu zadania. | 1/1Splnené Opravil aj rovnaký problém v helpButton_OnClick. | Review našlo riziko 1/1Splnené Funkčne prešlo, ale poradie operácií zostalo rizikové. |
1. Add do hlavičky, Remove preč
- DeepSeek · 320K
- Najpresvedčivejšie 1/1Splnené Odstránil zastaranú triedu aj mŕtvy riadok.
- DeepSeek · 160K
- 1/1Splnené Odstránil mŕtvy riadok, ale ponechal zastaranú triedu.
- Qwen · 262K
- 1/1Splnené Funkčne dokončil, no ponechal zastaranú triedu.
- Laguna
- Review našlo nedostatok 1/1Splnené Odstránila zlú triedu, ale pridala dve nevyžiadané zmeny.
2. Mazanie zariadenia cez X
- DeepSeek · 320K
- Review našlo chybu 1/1Splnené Guard na index bol správny, no mazanie nevybraného zariadenia nesprávne zmenilo výber.
- DeepSeek · 160K
- Najpresvedčivejšie 1/1Splnené Jediný správne ošetril index aj podmienenú zmenu výberu.
- Qwen · 262K
- Review našlo chybu 1/1Splnené Funkčne prešlo, ale obsahovalo chybu s preselektovaním.
- Laguna
- Review našlo chybu 1/1Splnené Rovnaká chyba s preselektovaním a chýbajúci guard na index.
3. Jeden názov a stav Not set
- DeepSeek · 320K
- Najpresvedčivejšie 1/1Splnené Použil existujúcu vlastnosť GuiTitle, ktorá vracia presne „Not set“.
- DeepSeek · 160K
- 1/1Splnené Použil Name; výsledkom bol funkčný text „no MIDI device“.
- Qwen · 262K
- 1/1Splnené Funkčné, ale menej presné než použitie GuiTitle.
- Laguna
- Review našlo nedostatok 1/1Splnené Pridala nový konverter a natvrdo zapísaný text; stav Active bol chybný.
4. Pevná šírka tlačidiel Learn
- DeepSeek · 320K
- 1/1Splnené Šírku nastavil trikrát priamo; funguje, ale duplikuje nastavenie.
- DeepSeek · 160K
- Najlepší návrh 1/1Splnené Opravil šírku raz v spoločnom štýle a vynechal tlačidlo, ktoré fix nepotrebovalo.
- Qwen · 262K
- Review našlo duplicitu 1/1Splnené Šírku nastavil štyrikrát vrátane tlačidla, ktoré ju nepotrebovalo.
- Laguna
- Review našlo duplicitu 1/1Splnené MinWidth nastavila štyrikrát vrátane tlačidla, ktoré fix nepotrebovalo.
5. Selected a hover štýly
- DeepSeek · 320K
- Obmedzené overenie 1/1Manuálne splnené Hover zmena je v spoločnom súbore mimo archívu, preto ju nemožno spätne skontrolovať.
- DeepSeek · 160K
- Obmedzené overenie 1/1Manuálne splnené Navyše našiel únik, no jeho oprava vytvorila problém pri opätovnom pripojení komponentu.
- Qwen · 262K
- Obmedzené overenie 1/1Manuálne splnené Hover zmena je v spoločnom súbore mimo archívu.
- Laguna
- Obmedzené overenie 1/1Manuálne splnené Hover zmena je v spoločnom súbore mimo archívu.
6. Oprava pádu cez ParentWindow
- DeepSeek · 320K
- Najpresvedčivejšie 1/1Splnené Čistá oprava v rozsahu zadania.
- DeepSeek · 160K
- Najpresvedčivejšie 1/1Splnené Čistá oprava v rozsahu zadania.
- Qwen · 262K
- 1/1Splnené Opravil aj rovnaký problém v helpButton_OnClick.
- Laguna
- Review našlo riziko 1/1Splnené Funkčne prešlo, ale poradie operácií zostalo rizikové.
Vyhodnotenie kvality
Funkčných 6/6 neznamená bezchybnú zmenu
Žiadny beh neprekročil známku 3 z 5 za správnosť. Každý výsledok obsahoval aspoň jednu chybu správania a ani jeden model nepridal automatizované testy.
DeepSeek pri 320K bol najlepší v dokončení a kontrole zadania na jeden pokus, ale aj on zaviedol nesprávne bezpodmienečné preselektovanie po vymazaní MIDI zariadenia.
Beh pri 160K urobil niektoré hlbšie návrhové rozhodnutia: šírku „Learn“ opravil na úrovni spoločného štýlu a našiel existujúci únik spôsobený neodhlasovanými eventmi. Zároveň však jeho úprava vytvorila latentný problém pri odpojení a opätovnom pripojení komponentu.
Dva behy toho istého DeepSeeku skončili takmer rovnako — 3,8 a 3,7 — ale cez odlišné silné a slabé stránky. Skóre preto patrí konkrétnemu behu, nie navždy celému modelu.
Kvalita po kategóriách
Hodnotiteľ: Claude Opus 5
Tu sa porovnávajú konkrétne archivované zmeny, nie všeobecná kvalita modelu. Riadky sú kategórie, takže rozdiely medzi behmi vidno priamo.
| Kategória | DeepSeek · 320K | DeepSeek · 160K | Qwen · 262K | Laguna |
|---|---|---|---|---|
| Správnosť | 3/5priemerné | 3/5priemerné | 3/5priemerné | 2/5slabé |
| Robustnosť | 4/5silné | 4/5silné | 3/5priemerné | 3/5priemerné |
| Návrh | 4/5silné | Najvyššie skóre 5/5najlepšie | 3/5priemerné | 2/5slabé |
| Overiteľnosť | Najvyššie skóre 4/5silné | 3/5priemerné | 2/5slabé | 2/5slabé |
| Disciplína zmien | Najvyššie skóre 5/5najlepšie | 4/5silné | 3/5priemerné | 2/5slabé |
Správnosť
- DeepSeek · 320K
- 3/5priemerné
- DeepSeek · 160K
- 3/5priemerné
- Qwen · 262K
- 3/5priemerné
- Laguna
- 2/5slabé
Robustnosť
- DeepSeek · 320K
- 4/5silné
- DeepSeek · 160K
- 4/5silné
- Qwen · 262K
- 3/5priemerné
- Laguna
- 3/5priemerné
Návrh
- DeepSeek · 320K
- 4/5silné
- DeepSeek · 160K
- Najvyššie skóre 5/5najlepšie
- Qwen · 262K
- 3/5priemerné
- Laguna
- 2/5slabé
Overiteľnosť
- DeepSeek · 320K
- Najvyššie skóre 4/5silné
- DeepSeek · 160K
- 3/5priemerné
- Qwen · 262K
- 2/5slabé
- Laguna
- 2/5slabé
Disciplína zmien
- DeepSeek · 320K
- Najvyššie skóre 5/5najlepšie
- DeepSeek · 160K
- 4/5silné
- Qwen · 262K
- 3/5priemerné
- Laguna
- 2/5slabé
Obrázky ukazujú iba časť zo šiestich úloh: presunutie „Add“ do hlavičky, nové „X“ pri zariadeniach a stav „Not set“. Vľavo je pôvodný stav, vpravo výsledok DeepSeeku pri 320K; oba sa dajú otvoriť v plnej veľkosti.
Prečo bol 160K beh hlbší, ale oveľa dlhší
Rozdiel nepovažujem za dôkaz, že 160K kontext prináša lepšie riešenia. Najpravdepodobnejšie išlo o prirodzený rozptyl medzi behmi: po autocompacte sa model dlhšie zamýšľal a vyriešil viac návrhových detailov.
Za túto hĺbku zaplatil časom. Beh pri 160K trval 1 hodinu a 27 minút, kým 320K beh zvládol všetkých šesť úloh na prvý prompt za necelých 22 minút a bez môjho zásahu.
Jeden beh bol teda ambicióznejší, druhý prakticky efektívnejší. Oba však dosiahli 6/6 a podobné kvalitatívne skóre; rozdiel medzi nimi nemení hlavný výsledok porovnania.
Po týždni používania
DeepSeek sa stal mojím hlavným pracovným LLM
Prvý test ma presvedčil používať DeepSeek celý pracovný týždeň. Môj subjektívny pocit z bežnej práce sa zhodoval s výsledkom testov: pôsobilo to skôr ako práca s niektorou staršou generáciou veľkých cloudových coding modelov než s malým lokálnym modelom.
Napíšem zadanie, čakám tridsať minút alebo hodinu a model ho väčšinou spraví dobre. Keď nie, pár ďalších promptov ho spravidla dostane tam, kam potrebujem. Môžem sa spoľahnúť, že pomaly a postupne úlohu posúva dopredu.
S Qwenom som rovnakú mieru istoty nemal. Nechcem ho tým zhadzovať: Qwen má 27B celkových parametrov, DeepSeek 284B, teda približne 10,5-krát viac. Samotný celkový počet parametrov nie je pri MoE modeloch kompletnou mierou výkonu ani výpočtovej náročnosti, ale rozdiel v mierke je dôležitý kontext.
Qwen zostáva veľmi schopným a často praktickejším lokálnym modelom. DeepSeek je výrazne náročnejší na pamäť a zaberie takmer celý počítač. Pri náročnejšej práci nad týmto konkrétnym projektom však prekročil dôležitú hranicu: dokážem mu zveriť väčšiu úlohu a s menším dohľadom veriť, že ju bude naďalej posúvať.
Po tomto týždni sa DeepSeek V4 Flash 0731 DS4 stal mojím hlavným pracovným LLM. Mám pocit, že ním nejaký dlhší čas zostane.
Z môjho testovania som jednoznačne usúdil, že DeepSeek V4 Flash 0731 DS4 je najlepší lokálny model, ktorý teraz viem na svojom Macu reálne využívať.
Ako čítať výsledky
Praktické porovnanie, nie laboratórny benchmark
Podmienky neboli do posledného detailu identické, ale cieľom bolo porovnať modely v reálnej práci na mojom 96 GB stroji. V rámci každej úlohy pritom začali z rovnakého stavu a dostali rovnaký prompt.
- Modely používali rozdielne kontextové limity a nastavenia behov, pretože cieľom bolo nájsť najlepšie praktické nastavenie každého z nich na 96 GB stroji.
- Beh Laguny v prvom teste bol pre chybnú konfiguráciu neplatný a nepoužívam ho ako dôkaz proti modelu; v druhom teste už Laguna pracovala s opraveným nastavením.
- Dve úlohy neurčujú univerzálne poradie všetkých coding modelov a opakované behy sa môžu líšiť.
- Funkčnosť som overoval manuálne v aplikácii a kvalitu archivovaných zmien kontroloval Claude Opus 5 podľa rovnakej metodiky.
Aj s touto rezervou bol výsledok pre moje použitie jednoznačný: iba DeepSeek dokončil platný prvý test naplno a pri 320K zvládol druhý test 6/6 na prvý prompt bez zásahu. Spolu s týždňom bežnej práce z toho vyvodzujem, že DeepSeek V4 Flash 0731 DS4 je momentálne najlepší lokálny model, ktorý viem na svojom stroji reálne využívať.