Przejdź do treści
Wróć do bloga
qwen codeArtykuł

Lokalny Qwen Code: działająca konfiguracja krok po kroku

Wyjaśniamy każde ustawienie profilu Qwen Code: poziom rozumowania, limit odpowiedzi, zachowanie toku myślenia, długość kontekstu i liczbę agentów.

Autor

Syntalith

Opublikowano Zaktualizowano 3 min czytania

W domowym eksperymencie wybrany profil Qwen Code używał poziomu rozumowania medium ustawionego w kliencie i w żądaniu, zachowanego toku myślenia, deklarowanego kontekstu 150 000 tokenów oraz braku stałego limitu max_tokens. Jedna karta RTX 3090 obsługiwała jeden aktywny przebieg agenta, ponieważ serwer miał jeden dostępny proces generowania.

Każde ustawienie odpowiada na błąd zaobserwowany w tym eksperymencie. Tekst opisuje tę działającą próbę i nie stanowi ogólnej listy zaleceń z dokumentacji.

Rdzeń profilu

Poniższy fragment pokazuje strukturę konfiguracji. Zastąp URL i nazwę zmiennej środowiskowej. Klucza nie wpisuj do JSON:

{
  "$version": 4,
  "model": {
    "name": "qwen3.8-27b",
    "reasoningEffort": "medium",
    "skipLoopDetection": true
  },
  "tools": { "approvalMode": "auto-edit" },
  "modelProviders": {
    "openai": [{
      "id": "qwen3.8-27b",
      "envKey": "QWEN_VLLM_API_KEY",
      "baseUrl": "http://127.0.0.1:18020/v1",
      "generationConfig": {
        "timeout": 0,
        "maxRetries": 1,
        "contextWindowSize": 150000,
        "extra_body": {
          "top_k": 20,
          "min_p": 0,
          "reasoning_effort": "medium",
          "chat_template_kwargs": { "preserve_thinking": true }
        }
      }
    }]
  }
}

Sprawdź aktualny schemat w dokumentacji dostawców Qwen Code. Pomiary opisane tutaj wykonaliśmy z Qwen Code 0.21.13. Po aktualizacji klienta uruchom ponownie krótki test kontrolny.

Poziom rozumowania musi dotrzeć do modelu

Samo reasoningEffort w warstwie klienta nie wystarczyło przy dostawcy zgodnym z interfejsem OpenAI. Wbudowany szablon Qwena wybiera xhigh, gdy żądanie nie podaje poziomu. Dlatego konfiguracja wysyła także extra_body.reasoning_effort, czyli wartość bezpośrednio do warstwy modelu.

W małym eksporcie CSV pojedynczy przebieg z low zakończył się o 3,47 s wcześniej niż przebieg z medium; 3,47 s oznacza różnicę łącznego czasu od uruchomienia do końca. Ten szybszy przebieg pominął separator opisany w README. Starsze przebiegi z xhigh trwały dłużej i nie dawały powtarzalnej poprawy. Medium zostało domyślnym kompromisem dla tej konfiguracji; nadal może popełniać błędy.

Dlaczego usunęliśmy stałe max_tokens

Stały limit 8192 tokenów odpowiedzi wyłączał adaptacyjną ścieżkę Qwen Code dla zapisów o długości 8k–64k tokenów. Długie zapisy narzędzi kończyły się ucięciem, a agent próbował je powtarzać. Obecna konfiguracja pomija to pole i pozwala klientowi użyć własnego mechanizmu ponowienia.

Brak stałego limitu nie usuwa granic systemu. Serwer ma limit kontekstu, kolejka ma limit zadań, a zewnętrzny nadzór może zatrzymać identyczną sekwencję bez postępu. Znika za to sztuczne cięcie poprawnego zapisu w przypadkowym miejscu.

Fałszywy detektor pętli

Podczas pierwszego przebiegu interfejsu Qwen Code wykonywał różne, udane edycje, które heurystyka uznała za stagnację. Sesja zakończyła się przed testem w przeglądarce. W próbach nastawionych na dokończenie pracy ustawiliśmy skipLoopDetection: true, czyli wyłączyliśmy wbudowany detektor pętli.

Zewnętrzna kontrola nadal zatrzymuje rzeczywisty brak postępu: identyczny błąd powtarzany bez zmiany, tę samą komendę bez zmiany stanu albo rosnącą kolejkę. Heurystyka klienta i zabezpieczenia procesu pełnią różne funkcje.

Jedna karta, jeden agent

Serwer miał jeden dostępny proces generowania, czyli mógł generować jedną odpowiedź naraz. Uruchamianie wielu subagentów ustawiało rozmowy w kolejce i powiększało użycie kontekstu. Konfiguracja zespołowa powinna wyłączyć równoległych agentów albo skierować ich do osobnych procesów z własnymi zasobami.

Uprawnienia także zależą od środowiska. auto-edit sprawdzało się w odłączonych kopiach repozytorium używanych do testów. Repozytorium produkcyjne potrzebuje ochrony gałęzi, testów i możliwości odzyskania zmiany. Polecenia wdrożeniowe, sekrety i zasoby chmurowe wymagają osobnych bramek.

Higiena sesji

Wznawiaj sesję, gdy nowe polecenie zależy od wcześniejszych decyzji. Niezależne zadanie zacznij w świeżej sesji po zakończeniu poprzedniego. Kod już istnieje w repozytorium, więc nie trzeba ponownie przesyłać całej wcześniejszej historii rozmowy.

W naszej długiej sesji poprawka dwóch reguł CSS zajęła 477,80 s, liczonych od rozpoczęcia do zakończenia tego etapu. Wynik był poprawny, lecz duża historia i poziom medium wydłużyły pracę. To argument za sesjami przypisanymi do zadań. Nie wynika z niego potrzeba obniżania jakości wszystkich prac.

Kopiowalny test profilu

Po zmianie klienta lub ustawień uruchom Qwen Code w pustej kopii repozytorium i podaj:

Utwórz qwen-smoke.json z dokładną treścią {"profile":"medium","ok":true}. Sprawdź ją poleceniem jq -e '.profile == "medium" and .ok == true' qwen-smoke.json. Nie zmieniaj innych plików.

Oczekiwany wynik to jeden nowy plik, kod wyjścia 0 z jq oraz końcowa odpowiedź opisująca wyłącznie tę zmianę. Potem w tej samej sesji poproś o zmianę profile na medium-resumed i ponowne wykonanie kontroli. Ten test sprawdza zapis narzędziowy, odczyt wyniku i wznowienie sesji. Nie ocenia jakości kodowania, więc później nadal uruchamiamy zadanie repozytoryjne ze wspólną ukrytą kontrolą.

Konfigurację trzeba przekazać z testem

Plik ustawień bez kryteriów akceptacji szybko staje się legendą. Do konfiguracji dołącz:

  • skróty pliku modelu i obraz serwera;
  • wersję Qwen Code;
  • krótki test JSON i narzędzia;
  • jedno zadanie repozytoryjne z ukrytą kontrolą;
  • spodziewany zakres łącznego czasu od uruchomienia do końca oraz użycia pamięci VRAM;
  • poprzedni działający profil.

Syntalith przygotowuje taki pakiet w lokalnym wdrożeniu i może nauczyć zespół, jak go aktualizować na Kursie AI-Native. Jeśli potrzebujesz architektury i wyceny, zacznij od bezpłatnego skanu procesu.

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