Claude Code i OpenCode z lokalnym Qwenem
OpenCode ma udokumentowane połączenie z modelem lokalnym. Claude Code wymaga zgodnej bramy, a Anthropic nie wspiera kierowania klienta do modeli innych niż Claude.
Syntalith
OpenCode ma udokumentowaną ścieżkę do lokalnych modeli przez llama.cpp i interfejs zgodny z OpenAI. Podłączenie Qwena do Claude Code wymagało w naszym teście emulacji interfejsu Anthropic w zmodyfikowanym vLLM. Zadanie się udało, ale Anthropic nie wspiera używania Claude Code z modelami innymi niż Claude.
Ta różnica ma znaczenie przy aktualizacjach i awariach. Działająca emulacja może wymagać własnych poprawek po zmianie klienta. Porównanie poniżej pochodzi z konkretnych wersji uruchomionych po godzinach na domowej RTX 3090; pokazuje, co warto sprawdzić przed wyborem klienta dla zespołu.
OpenCode ma udokumentowaną ścieżkę lokalną
Dokumentacja dostawców OpenCode pokazuje llama.cpp przez pakiet @ai-sdk/openai-compatible, parametr baseURL oraz jawne limity kontekstu i wyjścia. Przy interfejsie Responses wskazuje pakiet @ai-sdk/openai.
Poniżej znajduje się użyta przez nas sekcja dostawcy z usuniętymi lokalnymi ścieżkami. Port, nazwa modelu i limity odpowiadają zmierzonemu profilowi vLLM z kontekstem 150 000 tokenów:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"qwen-local": {
"npm": "@ai-sdk/openai-compatible",
"name": "Local Qwen vLLM",
"options": {
"baseURL": "http://127.0.0.1:18020/v1",
"apiKey": "{env:QWEN_VLLM_API_KEY}"
},
"models": {
"qwen3.8-27b": {
"name": "Qwen3.8-27B 150K Medium",
"limit": { "context": 150000, "output": 32768 },
"options": { "reasoningEffort": "medium" }
}
}
}
}
}
Klucz i limity muszą odpowiadać ustawieniom serwera. Konfiguracja do pomiaru miała globalne "*": "allow", aby pytania o zgodę nie zmieniały czasu przebiegu. Tego ustawienia nie przenosimy do zwykłego repozytorium. Tam zostaw pytania o zgodę albo określ wąską listę dozwolonych operacji. Szerokie uprawnienia dotyczyły jednorazowych kopii pozbawionych sekretów.
Cztery rzeczywiste próby OpenCode
| Zadanie | Ukryte kontrole | Czas | Co pokazała próba |
|---|---|---|---|
| eksport CSV | 1/3 | 32,69 s | pominął separator wymagany w README |
| paginacja | 3/3 | 325,88 s | przygotował minimalną poprawkę, potem zbędnie przeglądał .git i podał nieprawdziwe zdanie w raporcie |
| import CSV | 5/5 | 89,04 s | najszybszy w pełni poprawny wynik tego zadania |
| druga tura importu | 3/3 | 130,03 s | poprawnie utworzył lub zaktualizował rekord w tej samej sesji |
To pełniejszy obraz niż zdanie „OpenCode działa”. W jednym zadaniu wypadł bardzo dobrze, w innym naruszył jawny kontrakt, a po poprawnym kodzie czasem kontynuował pracę bez potrzeby. Dlatego sprawdzamy ukryte kontrole, końcowy zestaw zmian i opis wyniku.
Brama Claude Code ma określoną granicę
Dokumentacja połączenia z bramą Claude Code opisuje ANTHROPIC_BASE_URL i poświadczenie. Brama może centralizować uwierzytelnianie, logowanie oraz kierowanie żądań do obsługiwanych modeli Claude.
Dokumentacja wsparcia Anthropic mówi wprost, że kierowanie Claude Code do modeli innych niż Claude nie jest obsługiwane. Standard firmowy nie powinien zależeć od tego, czy kolejna wersja klienta nadal będzie zgodna z emulatorem.
Co pokazał eksperyment Claude Code
Wczesna próba Claude Code na llama.cpp trwała 7298,5 sekundy i przekroczyła dostępny kontekst. Zadanie pozostało nieukończone, a pozostawionego testu nie dało się skompilować, więc próba nie dostała końcowej oceny jakości.
Na zmodyfikowanym vLLM z kontekstem 150 000 tokenów Claude Code i Qwen Code dostały to samo długie polecenie: naprawić dwa miejsca w Go, które ignorowały błędy json.Marshal, zachować format poprawnej odpowiedzi, dodać deterministyczne zachowanie awaryjne, testy oraz dokumentację.
| Klient sterujący Qwen3.8-27B | Ocena | Czas | Wywołania | Co sprawdzono |
|---|---|---|---|---|
| Qwen Code | 100/100 | 502,14 s | 52 | brak odjęć według kryteriów, 2 testy regresji |
| Claude Code przez emulację | 98/100 | 1732,38 s | 50 | dwa punkty odjęte, poprawne zachowanie awaryjne i 6 testów |
Codex przyznał obie oceny po przebiegach agentów, stosując kryteria Syntalith: poprawność (40 punktów), testy regresji (20), zgodność (15), zakres zmian i utrzymywalność (10), weryfikacja (10) oraz dokumentacja (5). Wynik 100/100 oznacza brak odjętych punktów w tych kryteriach podczas tej jednej próby. Wynik 98/100 oznacza dwa punkty mniej w tej samej ocenie, ale opublikowane podsumowanie nie rozbija tej różnicy na kategorie. Nie jest to ocena zewnętrznego audytora ani dowód powtarzalności.
Claude Code potrzebował 3,45 razy więcej czasu. W tej próbie połączył dobry wynik jakościowy z wysokim kosztem czasowym. Rezultat pokazuje zgodność tej wersji klienta z tą wersją emulatora i nie uzasadnia szerszych wniosków.
Jak podjąć decyzję na podstawie pracy
- Daj klientom ten sam stan kodu, polecenie, limit kontekstu, poziom wysiłku i politykę narzędzi.
- Użyj ukrytych kontroli, których agent nie widzi w prompcie.
- Odrzuć wynik, gdy narusza kontrakt, nawet przy zielonych testach publicznych.
- Zapisz wersje klienta, dostawcy i szablonu czatu.
- Po aktualizacji powtórz krótki test podstawowy, wznowienie sesji i jedno zadanie regresyjne.
OpenCode jest mocnym kandydatem do udokumentowanego profilu lokalnego. Qwen Code uzyskał najlepszy wynik w naszym długim zadaniu. Codex ma oficjalną konfigurację własnego dostawcy. Emulacja Claude Code ma wartość badawczą, lecz Anthropic jej nie wspiera, więc nie proponujemy jej jako firmowego standardu.
Syntalith dobiera klienta i lokalny model do pracy zespołu. Przygotowujemy porównanie na wspólnych zadaniach, konfigurujemy wybrany profil i dokumentujemy jego ograniczenia. Kurs AI-Native pozwala przećwiczyć późniejszą ocenę aktualizacji we własnym repozytorium.
Syntalith ma status OpenAI Select Partner w OpenAI Partner Network.
Pomagamy szybciej odpowiadać klientom i znajdować informacje w firmowych dokumentach. Dobieramy i wdrażamy narzędzia AI, a Twój zespół uczymy z nich korzystać.
Jak wdrożyć ChatGPT i OpenAI w firmieOceńmy prywatne AI w warunkach Twojej firmy
Pomagamy firmom i osobom prywatnym dobrać sprzęt, uruchomić model i sprawdzić go na własnych zadaniach. Możesz zacząć od komputera, który już masz, albo od rozmowy przed zakupem. Pierwsza rozmowa jest bezpłatna, a wycenę przygotowujemy po ocenie zadania i sprzętu.
Prywatne modele LLM i fine-tuning