Migracja do GPT-6.1 Sol: 9 rzeczy, które mogą pójść źle

AIHubMix8 min czytania
Migracja do GPT-6.1 Sol: 9 rzeczy, które mogą pójść źle

Przejście z GPT-6 Sol do 6.1 Sol wydaje się być jedną zmianą w linii, a cena jest taka sama. Jednak istnieje kilka istotnych zmian i przesunięć w zachowaniu, więc zmiana tylko nazwy modelu może prowadzić do błędów, niespodziewanych rachunków lub agenta, który zachowuje się inaczej. Przewodnik migracyjny OpenAI dla GPT-6 obejmuje większość oficjalnych zmian. Ten post dodaje rzeczy, które mogą sprawić problemy w praktyce.

Są one uporządkowane od "głośnych błędów" do "cichych błędów."


1. reasoning_effort: "none" zwraca 400

Co zobaczysz: Żądanie zostaje odrzucone.

Dlaczego: 6.1 Sol nie obsługuje none ani minimal. Najniższy poziom to low. GPT-6 Sol i Luna nadal akceptują none, dlatego twój stary kod działał tam.

Rozwiązanie:

  • Mapowanie OpenAI polega na zastąpieniu none przez low. Dla minimal zacznij od low i porównaj.
  • low jest wolniejsze i droższe niż none, ponieważ generuje tokeny rozumowania. Dla naprawdę wrażliwych na opóźnienia ścieżek, takich jak autouzupełnianie lub klasyfikacja w czasie rzeczywistym, pozostanie na GPT-6 Sol lub przejście do Luny może być lepszym rozwiązaniem.

2. Wywoływanie narzędzi w Chat Completions przestaje działać

Co zobaczysz: Żądania Chat Completions, które zawierają tools nie powiodą się.

Dlaczego: GPT-6 Sol pozwalał na wywoływanie funkcji w Chat Completions tylko wtedy, gdy reasoning_effort był none, a wiele projektów polegało na tej kombinacji dla tanich wywołań narzędzi. Z none znikając, Chat Completions w 6.1 Sol działa tylko dla żądań bez narzędzi. Dla narzędzi musisz użyć API Odpowiedzi. Przewodnik OpenAI dotyczący migracji do API Odpowiedzi przechodzi przez to.

Rozwiązanie: Przejdź do /v1/responses. AIHubMix również to obsługuje; zobacz dokumentację API Odpowiedzi AIHubMix w celu uzyskania parametrów.

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com/v1",
)

resp = client.responses.create(
    model="gpt-6.1-sol",
    reasoning={"effort": "low"},          # zagnieżdżone, nie reasoning_effort
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Pobierz aktualną pogodę dla miasta",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    }],
    input="Jaka jest dzisiaj pogoda w Szanghaju?",
)
print(resp.output)

Łatwe rzeczy do przeoczenia:

  • W Odpowiedziach parametr to reasoning.effort. Wysłanie reasoning_effort spowoduje błąd Unsupported parameter.
  • W przypadku wieloetapowego użycia narzędzi, zwróć z powrotem wszystkie elementy reasoning, function_call i function_call_output od ostatniej wiadomości użytkownika, a nie tylko wyniki funkcji.
  • Przy store: false lub ZDR, elementy reasoning domyślnie zawierają encrypted_content. Odtwórz pełną historię, a to po prostu działa.

3. Parametry próbkowania muszą zostać usunięte

Co zobaczysz: Żądania z temperature lub top_p nie powiodą się.

Dlaczego: Te parametry są dozwolone tylko wtedy, gdy wysiłek wynosi none. 6.1 Sol nie ma none, więc nigdy nie możesz ich używać z tym modelem.

Usuń:

  • temperature, top_p, top_logprobs
  • logprobs w Chat Completions
  • message.output_text.logprobs z include w Odpowiedziach

Jeśli używałeś logprobs do oceniania pewności lub progów klasyfikacji, będziesz potrzebować nowego podejścia. Jedną z opcji są strukturalne wyjścia, które proszą model o bezpośrednie zgłoszenie swojej pewności. Inną jest utrzymanie tych zadań na modelu, który obsługuje none.


4. Caching działa inaczej, a twój rachunek może wzrosnąć

To jest najłatwiejsze do przeoczenia, szczególnie podczas migracji z GPT-5.5 lub wcześniejszych. Wszystko poniżej pochodzi z przewodnika OpenAI dotyczącego cache'owania promptów.

Parametr został przemianowany. prompt_cache_retention to teraz prompt_cache_options.ttl, a jedyną obsługiwaną wartością jest "30m".

Zapisy w cache są płatne. Kosztują 1.25× stawki wejściowej (2,50 USD za milion w 6.1 Sol). Długi prefiks, którego używasz tylko raz, teraz kosztuje 25% więcej przy cache'owaniu niż bez.

Przełomy zostały przesunięte. Starsze modele umieszczały przełomy w stałych odstępach (co 2,048 tokenów w GPT-5.5). Tryb niejawny teraz umieszcza jeden przełom na końcu najnowszej kwalifikującej się wiadomości. W rezultacie, krótszy prefiks dzielony między żądaniami nie jest automatycznie ponownie używany. Jeśli wiele żądań dzieli systemowy prompt, a następnie różne dane wejściowe użytkownika, dodaj wyraźny przełom tuż po systemowym prompt.

Dodawanie do istniejącej wiadomości łamie cache. Cached endpoint kończy się w środku dłuższej wiadomości i nie może być dopasowany. Zamiast tego dodaj nową wiadomość.

Zmiana wysiłku rozumowania łamie cache. reasoning.effort jest częścią prefiksu. Zmień w trakcie rozmowy za pomocą configuration_update (zobacz Część 2). Zauważ, że nie można go łączyć z automatycznym kompresowaniem ani skracaniem, a /responses/compact odrzuca historie, które go zawierają.

Wysoki ruch może obniżyć wskaźniki trafień. Cache działa na poszczególnych maszynach. Więcej niż około 15 żądań na minutę na tym samym prefiksie może przepełnić inne maszyny i spowodować brak trafień. Cached tokens nadal liczą się do limitu TPM.

Przed i po migracji porównaj cached_tokens, cache_write_tokens, opóźnienie i koszt na zadanie.


5. Przekroczenie 272K wejścia podwaja cenę

Okno kontekstowe 1,05M jest kuszące, ale gdy wejście przekroczy 272K tokenów, całe żądanie jest rozliczane po 2× stawce wejściowej i 1,5× stawce wyjściowej. Przejście z 270K do 280K wejścia podnosi koszt żądania z 0,64 USD do 1,27 USD (Część 3 zawiera obliczenia).

Długie sesje agentów wciąż rosną, więc łatwo przekroczyć tę granicę bez zauważenia. Ustaw alarm po stronie klienta na około 250K i uruchom kompresję, gdy się włączy.


6. Mały max_output_tokens zwraca pustą odpowiedź

Co zobaczysz: status: incomplete z powodem max_output_tokens, bez widocznego wyjścia, a ty nadal jesteś obciążany opłatą.

Dlaczego: max_output_tokens zawiera tokeny rozumowania. Limit, który był w porządku przy none, może być całkowicie wykorzystany przez rozumowanie przy low lub wyżej.

Rozwiązanie: Przewodnik OpenAI dotyczący rozumowania zaleca rezerwację co najmniej 25 000 tokenów. Szukaj twardo zakodowanych limitów, szczególnie wartości przeniesionych z Chat Completions max_tokens. Przykładowy kod na stronie modelu AIHubMix używa na przykład 1024. To jest w porządku dla szybkiej demonstracji tekstowej, ale zwiększ to dla rzeczywistych obciążeń.


7. Zachowanie agenta się zmieniło, więc ponownie sprawdź uprawnienia

Ogólnie 6.1 Sol zachowuje się lepiej niż 6 Sol: poważne incydenty spadły o jedną trzecią, a znacznie częściej informuje cię, gdy narzędzie jest uszkodzone. Kilka liczb nadal zasługuje na uwagę (dane OpenAI, skompilowane przez DataCamp):

Zachowanie6.1 Sol6 SolAstra
Próbuje obejść wyraźne ograniczenie23.5%64.4%17.4%
Oszustwa w zadaniach kodowania1.50%1.30%0.51%
Nawiązuje kontakt z innymi agentami38%26%—
…i faktycznie podejmuje nieautoryzowane działanie3%11%—

6.1 Sol jest bardziej wytrwały. Częściej próbuje obejść blokady i jest bardziej skłonny do rozmowy z innymi agentami. To zazwyczaj jest to, czego chcesz od agenta automatyzacji, ale podnosi stawkę, gdy agent ma szerokie uprawnienia.

Co zrobić:

  • Wymuszaj uprawnienia za pomocą piaskownic i list dozwolonych, a nie tylko instrukcji w promptach.
  • Wymagaj zatwierdzenia przez człowieka dla wrażliwych działań: usunięcia, wdrożenia, płatności i wszystkiego, co dotyczy poświadczeń.
  • Przechowuj pełne dzienniki wywołań narzędzi i sprawdzaj roszczenia, takie jak "testy przechodzą" lub "naprawione".
  • W konfiguracjach wieloagentowych dokładnie określ, co agenci mogą dzielić się ze sobą.

8. Twoje prompty mogą wymagać dostrojenia

Przewodnik migracyjny OpenAI dla GPT-6 wymienia kilka zmian w zachowaniu. Są one opisane w kontekście Astry, ale 6.1 Sol pochodzi z tej samej rodziny i działa blisko niej, więc sprawdź je:

  • Zadaje więcej pytań. Może zatrzymać się, aby potwierdzić, gdzie byś się spodziewał, że będzie kontynuować. Powiedz mu, aby skupił się na działaniu i zakończył zadanie, a że sformułowanie "czy możesz..." jest prośbą o wykonanie zadania.
  • Ściślej przestrzega instrukcji. Bardziej zwraca uwagę na pliki AGENTS.md i SKILL.md, więc przestarzała zasada może nagle zacząć być egzekwowana. OpenAI zdecydowanie zaleca audyt tych plików i stwierdzenie, że instrukcje użytkownika mają pierwszeństwo przed umiejętnościami.
  • Opiera się na Markdown, listach i tabelach, i powtarza standardowe frazy. Jeśli chcesz prozy, powiedz to wyraźnie.
  • Przetestowuje małe zmiany zbyt intensywnie. Powiedz mu, że niskiego ryzyka, odwracalne edycje nie potrzebują pełnego testu.
  • Rzadziej deleguje do podagentów, niż byś chciał. Jeśli chcesz równoległej pracy, dokładnie określ, kiedy podzielić zadania.

9. Ograniczenia dostępności i wdrożenia

  • Jeszcze nie w regularnym czacie ChatGPT. Tylko ChatGPT Work i Codex. Administratorzy Enterprise i Edu muszą to włączyć.
  • Tryb szybki nie działa z rezydencją danych w UE. Ultrafast obsługuje tylko rezydencję w USA i globalne przetwarzanie.
  • Data graniczna to 30 kwietnia 2026 roku. Dla nowszych bibliotek, API lub wiadomości użyj wyszukiwania w sieci lub RAG.
  • Nieobsługiwane: dostosowywanie, przewidywane wyniki, wejście audio i wideo oraz API Realtime i Assistants.
  • Limity stawki odpowiadają 6 Sol: od 500 RPM / 500K TPM w Tier 1 do 15 000 RPM / 40M TPM w Tier 5. W AIHubMix żądania mogą przechodzić przez OpenAI lub Azure, z automatycznym ponownym próbą na drugim dostawcy, jeśli jeden zawiedzie lub spowolni.

Lista kontrolna migracji

  • [ ] Zastąp none i minimal przez low, i sprawdź opóźnienie
  • [ ] Przenieś żądania wywołania narzędzi z Chat Completions do API Odpowiedzi
  • [ ] Użyj zagnieżdżonego reasoning.effort parametru
  • [ ] Usuń temperature, top_p, i logprobs, i przekształć wszelką logikę, która zależała od logprobs
  • [ ] Zastąp prompt_cache_retention przez prompt_cache_options.ttl: "30m"
  • [ ] Dodaj wyraźny przełom po wspólnych prefiksach i potwierdź, że mają co najmniej 1 024 tokeny
  • [ ] Użyj configuration_update do zmian wysiłku w trakcie rozmowy
  • [ ] Dodaj alarm dla wejścia 272K
  • [ ] Ustaw max_output_tokens na co najmniej 25 000
  • [ ] Audytuj AGENTS.md, SKILL.md, i systemowe prompty
  • [ ] Przejrzyj uprawnienia piaskownicy, bramy zatwierdzające i logowanie narzędzi
  • [ ] Porównaj wskaźnik sukcesu, cached_tokens, reasoning_tokens, i koszt na zadanie przed i po

Jeśli używasz Codex, uruchomienie $openai-docs migrate this project to the GPT-6 model family zajmie się większością mechanicznych zmian. Mimo to przejdź przez listę kontrolną samodzielnie.


FAQ

Co muszę zmienić, aby przejść z GPT-6 Sol do 6.1 Sol? Trzy rzeczy: nazwa modelu; zastąpienie none i minimal przez low; oraz usunięcie temperature, top_p, i wszystkiego, co jest związane z logprobs. Jeśli wywołujesz narzędzia przez Chat Completions, będziesz musiał również przejść do API Odpowiedzi.

Czy mogę nadal używać Chat Completions do zwykłego tekstu? Tak. Tak długo, jak żądanie nie zawiera tools, Chat Completions działa. Przykład na stronie modelu AIHubMix jest dokładnie takim wywołaniem.

Czy AIHubMix obsługuje API Odpowiedzi? Tak. Ustaw base_url na https://aihubmix.com/v1 i wywołaj client.responses.create.

Mój wskaźnik trafień w cache spadł po aktualizacji. Co powinienem sprawdzić? Trzy rzeczy: czy wspólne prefiksy mają wyraźny przełom po nich, czy dodajesz do istniejących wiadomości, i czy zmieniasz reasoning.effort w trakcie rozmowy. Następnie porównaj cached_tokens i cache_write_tokens przed i po.

Opóźnienie wzrosło po aktualizacji. Czy to jest oczekiwane? Jeśli używałeś none, tak. low wciąż generuje tokeny rozumowania. Dla ścieżek krytycznych pod względem opóźnienia, pozostań na GPT-6 Sol lub Lunie, lub poproś model o krótki wstęp, aby szybciej uzyskać pierwszy token.

Czy 6.1 Sol jest bardziej skłonny niż 6 Sol do przekraczania swoich uprawnień? Ogólnie nie. Poważne incydenty spadły o jedną trzecią, a wskaźnik faktycznego podejmowania nieautoryzowanych działań spadł z 11% do 3%. Jest nieco bardziej skłonny do kontaktu z innymi agentami i do oszustw w zadaniach kodowania, więc wymuszaj uprawnienia za pomocą piaskownicy, a nie polegaj na promptach.

Czy moje istniejące AGENTS.md i systemowe prompty nadal będą działać? Będą działać, ale przeglądaj je. Rodzina GPT-6 ściślej przestrzega instrukcji, więc przestarzałe lub sprzeczne zasady mogą sprawić, że model będzie częściej zatrzymywał się, aby zapytać, lub robił coś, czego nie zamierzałeś.


Czytaj dalej: seria GPT-6.1 Sol


Źródła