Przejdź do treści
Wróć do bloga
qwen3.8Artykuł

Jak utrzymywać lokalnego Qwena: osiem realnych awarii

Limit odpowiedzi, zły klucz, fałszywa pętla, przepełniony kontekst i zmodyfikowany serwer. Zamieniamy każdą awarię w test oraz procedurę.

Autor

Syntalith

Opublikowano Zaktualizowano 4 min czytania

Utrzymanie lokalnego modelu obejmuje znacznie więcej niż polecenie startowe. Trzeba znać właściwy profil, sprawdzać klucze i limit kontekstu, odróżniać awarię serwera od słabej odpowiedzi, testować aktualizacje i umieć wrócić do poprzedniej wersji. Najbardziej wartościowym wynikiem eksperymentu jest więc lista usterek zamienionych w stałe kontrole.

Poniższy rejestr pochodzi z eksperymentu na domowym PC z RTX 3090. Nie jest historią usługi produkcyjnej ani incydentów klienta.

Rejestr awarii

#ObjawPrzyczynaSkutekStała kontrola
1zapis narzędzia urywał się około 8kstałe max_tokens: 8192 wyłączało adaptacyjne ponowienie Qwen Codepowtarzane, niepełne edycjebrak stałego limitu w zachowanym profilu + test długiego zapisu
2klient dostał 401użyto klucza starego llama.cpp dla adresu API vLLMżądanie nie dotarło do modeluosobne nazwy sekretów + test właściwego adresu API
3interfejs przerwał przed sprawdzeniemheurystyczny action_stagnation uznał różne udane edycje za pętlękod wyjścia 1 mimo postępuwyłączona heurystyka + zewnętrzny warunek prawdziwej pętli
4Claude Code zakończył się HTTP 400wysłał 131 265 tokenów do profilu 131 072121,64 min bez ukończeniatest skracania i przepełnienia dla każdego klienta
5test Pythona dodał niechciane zmianyuruchomienie zmieniło śledzone __pycache__mylący zakres zmianpamięć podręczna poza repozytorium + kontrola git status
6diagnostyka trafiła do złego silnikaharness nie obsługiwał pola env, więc uruchomił stary przełącznikwynik nie nadawał się do porównaniajawne zmienne środowiskowe w harnessie + weryfikacja modelu/kontekstu
7druga tura odrzuciła edycję przed odczytemwznowiona tura resetowała stan odczytu narzędziadodatkowy odczyt i koszttest wznowienia + ponowny odczyt przed edycją
8aktualizacja nie była prostym pip installnajlepszy profil używał zewnętrznie zmodyfikowanego vLLMryzyko zgodności i łańcucha dostawzamrożony obraz, skrót pliku, źródło poprawki, test i powrót do poprzedniej wersji

Każda pozycja ma inne miejsce naprawy. Błąd 1 należał do konfiguracji klienta. Błędy 2, 3 i 6 do klienta oraz skryptów uruchamiających. Błąd 4 do zarządzania kontekstem. Błąd 5 do repozytorium testowego. Błąd 8 do całego procesu aktualizacji. Stwierdzenie „model był słaby” nie diagnozuje żadnego z nich.

Jak awaria staje się testem

Dobry wpis w rejestrze ma sześć pól:

id: QWEN-OPS-004
objaw: zapytanie przekracza kontekst serwera i zwraca HTTP 400
odtworzenie: wznów długą sesję aż do progu kontroli wstępnej
oczekiwany_wynik: klient skraca historię lub odmawia wysłania zbyt dużego zapytania
artefakty: zapis zdarzeń, długość zapytania, błąd serwera, wersja profilu
właściciel: platforma-agenta
powrót: zmień klienta lub profil; nie powiększaj kontekstu automatycznie

Regresję uruchamiamy na tej warstwie, która naprawdę zawiodła. Dla złego klucza nie potrzeba pełnego zadania kodowego. Test odpytuje /health, /v1/models, sprawdza 401 dla niepoprawnego sekretu i poprawny model dla właściwego. Dla limitu 8k potrzebny jest długi zapis pliku przez narzędzie, ponieważ krótki test podstawowy zawsze przejdzie.

Kontrola przed aktualizacją

Przed zmianą wersji wag, obrazu vLLM, Qwen Code lub sterownika uruchamiamy trzy poziomy:

Pięć minut na start i protokół

  • usługa zaczyna odpowiadać;
  • raportuje właściwy model i kontekst;
  • błędny sekret jest odrzucany;
  • odpowiedź strumieniowa kończy się poprawnie;
  • mały JSON i wywołanie narzędzia mają prawidłowy format.

Trzydzieści minut na regresje programu sterującego

  • zapis dłuższy niż 8k nie ucina pliku;
  • wznowiona sesja potrafi ponownie czytać i edytować;
  • klient nie wysyła żądania większego niż serwer;
  • wykrycie pętli wymaga rzeczywistego braku postępu;
  • po teście git status nie zawiera pamięci podręcznej ani obcych plików.

Zadanie procesu sprawdzające jakość i koszt

To samo naturalne polecenie, świeża kopia repozytorium, ukryte testy, przegląd zmian, czas wykonania i szczyt VRAM. Dla zachowanego profilu użyliśmy zadania błędów json.Marshal. Wybrany Qwen Code ukończył je w 8:22 i został przyjęty. Codex na tym samym modelu dodał niedeterministyczne zachowanie awaryjne, więc nie przeszedł mimo zakończenia.

Nowa wersja nie wygrywa numerem wydania. Musi przejść wszystkie krytyczne bramki oraz nie pogorszyć zaakceptowanego wyniku ponad uzgodniony próg.

Jak powinno wyglądać repozytorium przekazania

wdrozenie/
  profile/
    codzienny.yaml
    zapasowy.yaml
  wykazy/
    model.json
    obraz-serwera.json
    licencje.md
  instrukcje/
    uruchom-zatrzymaj-status.md
    przekroczenie-kontekstu.md
    brak-pamieci-gpu.md
    rotacja-klucza.md
    powrot-do-poprzedniej-wersji.md
  testy/
    podstawowe/
    regresje-programu/
    przypadki-procesu/
  awarie/
    QWEN-OPS-001.md
    ...
  szkolenie/
    cwiczenie-operatora.md
    kryteria-recenzenta.md

Wykaz zapisuje dokładną wersję modelu, format, skrót pliku, obraz, commit poprawki, sterownik, analizator narzędzi, ustawienia losowania, kontekst i klienta. latest nie jest wersją odtwarzalną.

Instrukcja operacyjna podaje komendę, wynik oczekiwany i pierwszy punkt diagnostyki. Procedura „zapytaj osobę, która to stawiała” nie przechodzi odbioru.

Monitoring, który rozróżnia awarię od słabej odpowiedzi

Warstwa operacyjna mierzy:

  • dostępność API i kolejkę;
  • czas do pierwszego tokena oraz całość;
  • długość wejścia, wyjścia i liczbę kompresji;
  • błędy dostawcy, narzędzi i odczytywania odpowiedzi;
  • VRAM, wykorzystanie GPU i zakończenia procesu;
  • model, obraz serwera, harness i wersję konfiguracji.

Warstwa jakości mierzy:

  • wynik ukrytych kontroli;
  • akceptację bez poprawki;
  • typ poprawki człowieka;
  • naruszenie uprawnień lub cytatu;
  • zakres zmian;
  • odsetek odmów zasadnych i błędnych.

Sam panel GPU nie zauważy pustego imienia w imporcie. Sama opinia „dobra odpowiedź” nie zauważy, że klient za chwilę przepełni kontekst.

Ćwiczenie powrotu do poprzedniej wersji

Powrót do poprzedniej wersji na serwerze z jednym GPU powinien być prosty i powtarzalny:

  1. zatrzymaj przyjmowanie zadań;
  2. zakończ lub przerwij kolejkę zgodnie z polityką;
  3. przełącz wykaz wersji na poprzedni obraz i profil;
  4. sprawdź model ID, kontekst i sekret;
  5. uruchom krótki test startowy oraz jeden krytyczny przypadek testowy;
  6. przywróć ruch i zachowaj artefakty awarii.

W domowej instrukcji profil zapasowy przełączał vLLM na llama.cpp 120k. W firmie potrzebny jest dodatkowo docelowy czas odtworzenia, test uprawnień i informacja dla użytkowników. Rozwiązanie zapasowe może być wolniejsze, ale musi być znane i bezpieczne.

Czego uczy się zespół

Operator powinien umieć uruchomić profil, rozpoznać zły adres API, odczytać pomiary, zmienić sekret i wrócić do poprzedniej wersji. Recenzent potrzebuje kryteriów oceny, ukrytych przypadków i umiejętności odróżnienia płynnej narracji od zaakceptowanego wyniku. Właściciel procesu decyduje, który błąd jest krytyczny. Osoba odpowiedzialna za bezpieczeństwo sprawdza dane, sieć, narzędzia i retencję.

Warsztat na prawdziwym środowisku jest bardziej wartościowy niż slajdy o pisaniu poleceń. Jedna osoba celowo wprowadza błąd z rejestru, druga diagnozuje go z dzienników i instrukcji operacyjnej.

Co przekazuje Syntalith

Przy wdrożeniu oddajemy uzgodnione profile, wykazy i licencje, kod integracji, testy jakości, panel stanu, alerty, przetestowany powrót do poprzedniej wersji, rejestr znanych awarii oraz materiały szkoleniowe. Zespół wykonuje start, test i powrót do poprzedniej wersji przed odbiorem.

Aplikacje AI zaczynają się od 25 000 zł netto. Kursy AI-Native oraz utrzymanie wyceniamy po rozmowie o repozytorium, krytyczności, integracjach i czasie reakcji. Bezpłatny skan procesu pozwala ustalić, czy potrzebny jest najpierw pilot, audyt, szkolenie czy uporządkowanie istniejącego wdrożenia.

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