Przejdź do treści
Wróć do bloga
Eksperyment na domowym PCJedna RTX 3090, jeden lokalny agent

Qwen3.8-27B na RTX 3090: pełne wyniki i porażki

Lokalny Qwen3.8-27B na jednej domowej RTX 3090. Publikujemy zadania, polecenia, zmiany w kodzie, interfejs, błędy, czas i zużycie pamięci.

Qwen3.8-27B okazał się użytecznym, prywatnym agentem programistycznym dla jednej osoby. Wynik ma jednak sens tylko razem z konfiguracją serwera, sprawdzonym kodem i jasno nazwanymi ograniczeniami.

Autor

Syntalith

Opublikowano Zaktualizowano 6 min czytania

Uruchomiliśmy Qwen3.8-27B na domowym PC z jedną kartą RTX 3090 i 24 GB VRAM. W najważniejszej próbie Qwen Code naprawił dwa miejsca w kodzie Go, które ignorowały błędy json.Marshal. Miał zachować dotychczasowe odpowiedzi dla poprawnych danych, dodać bezpieczne zachowanie dla danych niemożliwych do zapisania w JSON, dopisać testy i nie zmieniać niczego poza zakresem zadania.

Model skończył pracę w 502,14 s. Wykonał 52 operacje na plikach i w terminalu, wygenerował 28 916 tokenów, zużył około 33,88 Wh energii i doszedł do 22 539 MiB VRAM. Po zakończeniu Codex ocenił zmianę na 100/100 według naszego arkusza kryteriów. To ocena wykonana przez model OpenAI, a nie wynik niezależnego laboratorium ani zewnętrznego audytora.

Ten wynik opisuje jeden komputer, jedną konfigurację i jeden przebieg zadania. Nie mówi, jak często model powtórzyłby taki rezultat. Serwer obsługiwał tylko jedną sesję naraz. Dlatego niżej pokazujemy także nieudane zadania, wyniki ukrytych testów i dokładne ograniczenia pomiaru.

Pobierz dane: zestawienie wszystkich prób, pełne metryki zadania 150k i wyniki wyszukiwania faktów w długim tekście.

Co dokładnie testowaliśmy

Model to Qwen3.8-27B, gęsty model 27B z natywnym kontekstem 262 144 tokenów i trybem rozumowania. Karta to konsumencka NVIDIA GeForce RTX 3090 z 24 GB GDDR6X.

W eksperymencie powstały dwa główne tory:

  • llama.cpp z kwantyzacją Unsloth Dynamic V3 w formacie GGUF;
  • zamrożony, zewnętrznie zmodyfikowany obraz vLLM z wagami W4A16 AutoRound, pamięcią kontekstu FP8 i MTP-3.

Drugi tor nie używał oficjalnego vLLM bez zmian. To ważne, bo wynik opisuje cały profil: wagi, serwer, pamięć kontekstu, spekulację, limit kontekstu i agenta. Nie wolno przypisać całej różnicy jednemu silnikowi albo formatowi wag.

Trzy pomiary, które ustawiają decyzję

Co sprawdziliśmyCo zmierzyliśmyCo z tego wynika
odnalezienie trzech zapisanych faktów w tekstach o długości 50 059, 115 074 i 230 085 tokenówwszystkie trzy fakty odnalezione w każdym przebiegu; czas 59,3 s, 172,6 s i 563,4 smodel nie zgubił początku, środka ani końca, ale wraz z długością tekstu mocno zwalniał
naprawa dwóch błędów obsługi JSON w Go, Qwen Code, limit 150k100/100 w ocenie Codex, 502,14 s, 52 użycia narzędzi, bez skracania historii rozmowyten profil wybraliśmy do dalszych prób
Naturalne zadania CSV, paginacja, importwyniki od pominiętego kontraktu do pełnej poprawnościmałe testy ukryte ujawniają błędy, których nie widać w publicznym zestawie testów

W teście długiego tekstu umieściliśmy po jednym fakcie na początku, w środku i na końcu materiału. Następnie kazaliśmy modelowi zwrócić te trzy fakty w JSON. Przy 50 059 tokenach odpowiedź zajęła 59,3 s, a przy 230 085 tokenach 563,4 s. Tempo generowania spadło z 49,24 do 28,05 tokena na sekundę. Sam napis „kontekst 250k” nie mówi więc, czy praca z takim tekstem będzie wygodna.

W tym samym zadaniu Qwen Code na llama.cpp z limitem 120k dostał od Codex 98/100 i pracował 1468,76 s. Profil ze zmodyfikowanym vLLM z limitem 150k dostał 100/100 i pracował 502,14 s. Drugi przebieg był o 65,8% krótszy i zużył o 66,2% mniej energii. Porównujemy tu całe konfiguracje, nie sam format wag: różniły się serwer, pamięć kontekstu, dekodowanie i limit długości.

Co oznacza 100/100

Codex sprawdził zmianę po zakończeniu pracy Qwen Code. Ocena miała sześć części:

KryteriumPunkty
poprawność obsługi błędów40/40
testy regresji20/20
zachowanie zgodności z dotychczasowym API15/15
trzymanie się zakresu zadania10/10
uruchomienie testów i kompilacji oraz zgodny z nimi opis wyniku10/10
aktualizacja dokumentacji5/5

Kod przeszedł dwa zestawy testów uruchomione ponownie bez korzystania z pamięci podręcznej, go build ./... oraz kontrolę formatowania zmian. Wynik 100/100 oznacza tylko, że Codex nie znalazł uchybienia względem tych kryteriów w tej jednej zmianie. Nie oznacza 100% niezawodności Qwena.

Dziennik naturalnych zadań

Polecenie w skrócieHarness i profilCzasWynik sprawdzenia
napraw ignorowane błędy json.Marshal w dwóch ścieżkach Go, zachowaj formaty i dodaj testyQwen Code, 150k/medium8:22testy i kompilacja przeszły; Codex przyznał 100/100
usuń duplikaty w eksporcie CSV, zachowaj kolumny i dodaj regresjęQwen Code, medium0:383/3 publiczne i 3/3 ukryte
dodaj atomowy import kandydatów z CSVQwen Code, medium1:3312/12 publicznych, 4/5 ukrytych; brak walidacji pustego imienia/roli
zbuduj od zera dopracowany interfejs ATS i przetestuj goQwen Code, 150k/niski poziom rozumowania26:032028 linii, efektowny interfejs, krytycznie wadliwa lista

Interfejs wymagał potem 14:24 naprawy oraz 7:58 dodatkowej kontroli wizualnej. Łączny czas modelu do zaakceptowanego wariantu wyniósł 48:25. Dokładne polecenie, wygenerowane pliki, sześć błędów naprawy i zrzuty pokazujemy w studium interfejsu.

Pełne polecenie zadania Go nie podawało gotowej poprawki. Wskazywało dwa miejsca ignorujące błąd json.Marshal, wymagało bezpiecznej i powtarzalnej odpowiedzi w razie błędu, testów i dokumentacji oraz zabraniało pobocznego sprzątania. Liczyło się zachowanie kodu, wyniki testów i zakres zmian, a nie pewny ton końcowej odpowiedzi modelu.

Najbardziej wartościowy wynik był porażką

Jednorazowy eksperyment z interfejsem wyglądał ambitnie: wyszukiwanie, etapy rekrutacji, sortowanie, szuflady i animacje. Przeglądarka ujawniła jednak błąd w wirtualizacji tabeli. Zamiast małego okna widocznych rekordów strona utworzyła wszystkie 8652 wiersze, 251 327 elementów DOM i dokument o wysokości 485 065 px.

Qwen Code w trybie medium naprawił kopię aplikacji. Niezależna kontrola desktopowa zmierzyła 722 węzły DOM, 15 renderowanych wierszy, 900 px wysokości dokumentu i brak poziomego przepełnienia. Na telefonie było 577 węzłów i 10 wierszy. Dopiero przegląd zrzutów znalazł jeszcze kolizję nazwy z firmą i obcięty znacznik etapu. Kolejna sesja poprawiła dwie reguły CSS.

Naprawiony syntetyczny panel ATS po niezależnej kontroli w przeglądarce
Syntetyczny artefakt testowy, 1440 × 900. Po naprawie: 722 węzły DOM, 15 wierszy, bez nachodzenia i poziomego przepełnienia.

Ten przebieg lepiej sprzedaje kompetencję inżynierską niż idealny obrazek. Pokazuje różnicę między kodem, który wygląda na skończony, a zmianą, która przechodzi testy, pomiary geometrii i kontrolę człowieka.

Czego nie mówi wynik Qwen Code, Codex i Claude Code

Na tym samym lokalnym Qwenie i serwerze uruchomiliśmy także harness Codex i eksperymentalnie Claude Code. Qwen Code dostał od Codex 100/100, wersja zadania wykonana przez harness Codex dostała 87/100, a wersja wykonana przez Claude Code 98/100. We wszystkich trzech przypadkach kod pisał lokalny Qwen3.8-27B. Zmieniało się narzędzie prowadzące model przez repozytorium. Nie jest to porównanie Qwena z modelami OpenAI lub Anthropic.

Codex znalazł się w tabeli jako klient własnego dostawcy przez protokół Responses. Claude Code połączył się przez zgodny interfejs Messages, ale Anthropic nie wspiera kierowania Claude Code do modeli innych niż Claude. Ten przebieg dowodzi zgodności zmodyfikowanego serwera użytego w domowym eksperymencie, lecz nie jest rekomendacją wspieranego wdrożenia.

Czy jedna RTX 3090 wystarczy firmie

Wystarczy do kontrolowanego pilota, pracy jednego inżyniera albo kolejki zadań, która może działać sekwencyjnie. Nie wystarczy jako dowód, że dziesięć osób dostanie odpowiedź równocześnie. Użyty host miał jeden slot inferencji i świadomie nie uruchamiał równoległych agentów.

Przed wdrożeniem zespołowym mierzymy:

  1. liczbę żądań w godzinie szczytu;
  2. długość poleceń i odpowiedzi;
  3. czas oczekiwania w kolejce;
  4. koszt poprawki człowieka po odpowiedzi;
  5. zachowanie po restarcie, błędzie i aktualizacji modelu.

Jeśli problemem jest wrażliwy kod i pojedynczy użytkownik, jedna używana karta może mieć sens. Jeśli proces wymaga wielu równoległych odpowiedzi i twardego SLA, potrzebny jest test przepustowości oraz inna klasa infrastruktury albo API.

Co z tego może kupić firma

Syntalith nie sprzedaje „Qwena na serwerze” jako pudełka. Najpierw wybieramy kilka rzeczywistych zadań klienta i zapisujemy, po czym poznamy poprawny wynik. Porównujemy lokalny model z sensowną alternatywą, a dopiero później dobieramy wagi, serwer, uprawnienia, monitoring i sposób aktualizacji.

Wdrożenie może obejmować:

  • prywatny adres API i kontrolę dostępu;
  • integrację z repozytorium albo dokumentami firmy;
  • testy jakości i opóźnienia na zadanie;
  • ograniczone narzędzia i zatwierdzanie ryzykownych akcji;
  • monitoring, powrót do poprzedniej wersji, dokumentację i szkolenie zespołu.

Aplikacje i agenci AI w Syntalith zaczynają się od 25 000 zł netto. Jeżeli nie wiadomo jeszcze, czy lokalny model ma uzasadnienie, zaczynamy od bezpłatnego skanu procesu: 30 minut z inżynierem i pisemny wniosek w dwa dni robocze. Pierwszą decyzją może być także „zostań przy API”.

Skąd są te liczby

Pomiary wykonaliśmy między 18 a 21 sierpnia 2026. Publiczne pliki JSON zawierają czasy, zużycie energii, VRAM, tokeny, liczbę operacji i wyniki testu długiego tekstu. W prywatnym katalogu zachowaliśmy także pełne zdarzenia z przebiegów, próbki GPU, zmiany w kodzie, testy i końcowe odpowiedzi agentów.

Każdą konfigurację uruchomiliśmy tylko raz. Dlatego liczby pokazują, co wydarzyło się w konkretnym przebiegu, a nie prawdopodobieństwo, że model zrobi to samo ponownie. Oceny 100/100, 98/100 i 87/100 wystawił Codex według kryteriów Syntalith. Nie były to oceny ludzkiego audytora ani niezależnego laboratorium.

Bezpłatny skan procesów

Zacznij od bezpłatnego skanu procesów.

  • 30 minut z inżynierem, który może prowadzić Twoje wdrożenie.
  • Przegląd procesów, które kosztują Cię najwięcej czasu i pieniędzy.
  • Pisemne podsumowanie: co zautomatyzować, w jakiej kolejności, z widełkami kosztów.

W 30 minut wybieramy proces do oceny, a w ciągu 2 dni roboczych dostajesz rekomendację, także gdy lepsza będzie prostsza droga.

0 zł

30 minut · pisemne podsumowanie w 2 dni robocze