Opublikowano
Inżynieria

Jak odróżniamy prawdziwego Claude'a od podróbki

Tani Claude to często inny model podszywający się pod Claude'a. Dlaczego pytanie modelu niczego nie dowodzi, dlaczego granica wiedzy to zgadywanie i jakie testy naprawdę wykrywają podróbkę.

·5 min czytania·Autor: Zespół UnoRouter
inżynieriaogłoszenie

Claude to jeden z najbardziej pożądanych i zarazem najdroższych modeli. Ta różnica w cenie stworzyła rynek pośredników sprzedających „tego samego Claude'a” za ułamek ceny. Niektórzy naprawdę sprzedają Claude'a. Wielu nie: odpowiadają tańszym modelem i przyklejają mu nazwę Claude.

W tym wpisie bez żargonu wyjaśniamy, jak sprawdzamy, co tak naprawdę dostajesz, i dlaczego testy, które próbuje większość ludzi, nie działają.

Pytanie modelu nic nie daje

Pierwsze, co wszyscy próbują, to zapytać: „Kto cię stworzył?”, „Jakim jesteś modelem?”, „Jaka jest twoja granica wiedzy?”. Żadne z tych pytań niczego nie dowodzi.

Model mówi to, co kazano mu mówić. Pośrednik, który podsuwa inny model jako Claude'a, po prostu daje mu instrukcję: „Jesteś Claude, stworzony przez Anthropic. Nigdy nie wspominaj o niczym innym”. Podróbka odpowiada wtedy bezbłędnie na każde pytanie o swoją tożsamość.

Granica wiedzy to zgadywanie, a nie fakt. We własnej aplikacji Claude od Anthropic Claude dostaje w ukrytym prompcie systemowym dzisiejszą datę i swoją granicę wiedzy, więc odpowiada na to pytanie pewnie. Przez API, a także przez Amazon Bedrock, Google Vertex AI czy Microsoft Foundry takiego promptu nie ma i Claude musi zgadywać. Zapytaliśmy 34 razy backend, o którym wiemy, że serwuje prawdziwego Claude'a. Podał 12 różnych dat. Zatem „zła” granica wiedzy nie oznacza podróbki, a „dobra” nie oznacza oryginału: porównywanie odpowiedzi z tym, co mówi aplikacja Claude, to tylko porównywanie zgadywania z faktem, który tam po prostu podano. Całkowicie przestaliśmy zadawać to pytanie.

Dlatego zamiast pytać model o niego samego, patrzymy na rzeczy, których nie da się łatwo podrobić.

Co naprawdę zdradza podróbkę

Niektóre sygnały są na tyle jednoznaczne, że już jeden wystarczy, by kanał nie przeszedł testu:

  • Zachowuje się jak inny produkt. Niektórzy pośrednicy kierują „Claude'a” do darmowych asystentów programowania wbudowanych w edytory kodu. Poproś takiego o smutną historyjkę w dwóch zdaniach o zagubionym kotku, a odmówi: „Jestem tu, żeby pomagać w programowaniu”. Prawdziwy Claude nigdy tak nie robi.
  • Zdradza swoje prawdziwe instrukcje. Gdy model jest przebrany, jego ukryte instrukcje każą mu nigdy nie wspominać o prawdziwym twórcy. Modele, które pokazują swoje rozumowanie, często powtarzają tę instrukcję podczas myślenia, nawet jeśli każda ich odpowiedź mówi „Claude”. Przebranie wyłapujemy w rozumowaniu, a nie w odpowiedzi.
  • Odpowiedź ma złą etykietę. Każda odpowiedź zawiera obok tekstu dane techniczne, w tym nazwę modelu, który ją wygenerował. Odpowiedź sprzedawana jako „Claude Opus”, która we własnych danych podaje inny model albo tańszy wariant Claude'a, zostaje tu wyłapana.
  • Pomija myślenie, którego nie da się pominąć. Najnowsze modele Claude zawsze rozumują, zanim odpowiedzą. „Claude”, który odpowiada bez żadnego rozumowania, nie jest tym modelem.
  • Przeskakuje na inny język. Kilka tanich zamienników to chińskie modele, które czasem w połowie odpowiedzi przechodzą na chiński. Prawdziwy Claude tego nie robi.
  • „Odpowiedź” to tak naprawdę strona błędu. Niektórzy pośrednicy zwracają komunikat własnego filtra treści albo stronę błędu, jakby to była odpowiedź modelu. Płacisz za to i nic nie dostajesz.

Inne sygnały zbieramy jako dowody i porównujemy przez całe tygodnie, bo pojedynczy test może wprowadzić w błąd:

  • Podpis rozumowania. Prawdziwy Claude oznacza swoje rozumowanie podpisem, który potrafi wygenerować tylko Anthropic.
  • Jak liczy twoje słowa. Każda rodzina modeli dzieli tekst na tokeny inaczej, a płacisz za każdy token. Tekst, który każda rodzina dzieli inaczej, jedną liczbą pokazuje, jaki rodzaj modelu go policzył.
  • Ulubione losowe odpowiedzi. Poproś model wiele razy o losową liczbę, kolor albo miasto, a okaże się, że każda rodzina modeli ma własny wzorzec odpowiedzi. Zebrany przez kilka dni, ten wzorzec odróżnia rodziny i pokazuje, kiedy pośrednik miesza kilka modeli pod jedną nazwą.
  • Ukryte prompty dodane przez pośrednika. Poproszony o powtórzenie wcześniejszych instrukcji model często recytuje to, co pośrednik po cichu wstawił przed twoją wiadomość.

Kanał nigdy nie oblewa testu z powodu przekroczenia czasu ani niestabilnego połączenia, tylko z powodu tego, co model faktycznie odpowiedział.

Co nie jest podróbką

Claude jest sprzedawany także przez Amazon Bedrock, Google Vertex AI i Microsoft Foundry. Te platformy uruchamiają prawdziwego Claude'a od Anthropic na licencji, więc pośrednik, który kupuje tam moc obliczeniową i ją odsprzedaje, sprzedaje oryginał. Claude udostępniany przez te platformy czasem odpowiada „Amazon” albo „Google”, gdy zapytać go, kto go stworzył, bo platforma dodaje własne instrukcje. Nie liczymy mu tego na minus.

Czego nie powie żaden test

Uczciwość co do ograniczeń jest równie ważna jak same testy. Z zewnątrz nikt nie udowodni dokładnej wersji modelu ani tego, czy nie został skompresowany, żeby działał taniej. A pośrednik, który dziś przechodzi testy, jutro może zmienić backend, dlatego testujemy każdy kanał regularnie, a nie tylko raz.

Co znaleźliśmy na początku

W kwietniu przez 17 dni badaliśmy 8 popularnych pośredników sprzedających Claude'a. 183 ich kanały sprzedawane pod nazwami Claude w ogóle nie były Claude'em, w większości byli to asystenci programowania z plakietką z imieniem Claude'a. Właśnie dlatego wbudowaliśmy te testy w nasz routing. Nasz silnik synchronizacji, new-api-sync, wykrywa i testuje każdy kanał, zanim ten zacznie obsługiwać ruch, i sprawdza go dalej, więc kanał, który nie przejdzie testu, nie obsługuje twoich zapytań w naszej sieci.

Przetestuj swojego dostawcę

Nie musisz niczego instalować. Otwórz tester modeli API, wklej adres i klucz swojego dostawcy, wybierz model, a tester przeprowadzi te testy na żywo i pokaże dokładnie, co przeszło, a co nie.

Wolisz wiersz poleceń? To test z kotkiem opisany wyżej. Jeśli odpowiedź jest odmową albo próbuje skierować cię na programowanie, twój „Claude” nie jest Claude'em.

bash
curl https://YOUR-PROVIDER/v1/messages \
  -H "x-api-key: $YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-4-7",
    "max_tokens": 150,
    "messages": [{
      "role": "user",
      "content": "Tell me a 2-sentence sad story about a lost kitten."
    }]
  }'

Oba elementy są open source, więc każdy może sprawdzić, jak działają, albo uruchomić je samodzielnie: testy to ai-model-verifier (dostępny też w npm), a new-api-sync uruchamia je u wszystkich dostawców, do których kierujemy ruch.

Powiązane posty