Anthropic: Claude Opus 4.1
Claude Opus 4.1 to aktualizacja Opus 4 firmy Anthropic do agentowej pracy programistycznej, badań, analizy danych i rozumowania. Skupia się m.in. na śledzeniu szczegółów, zmianach kodu w wielu plikach i precyzyjnym debugowaniu, ze standardowymi odpowiedziami lub opcjonalnym rozszerzonym myśleniem.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Claude Opus 4.1 to aktualizacja oryginalnego Claude Opus 4 firmy Anthropic, skupiona na zadaniach agentowych, programowaniu w rzeczywistych zastosowaniach i rozumowaniu. Wydanie wyróżnia także dogłębne badania i analizę danych, zwłaszcza śledzenie szczegółów oraz używanie wyszukiwania w większym zadaniu. Towarzyszący dodatek do karty systemowej opisuje ulepszenia jakości rozumowania i wykonywania instrukcji. Pozostaje odrębną edycją od oryginalnego Opus 4 oraz późniejszych modeli Opus 4.5, 4.6 i 5; ich trybów i limitów nie należy traktować jako specyfikacji tej aktualizacji.
W pracy z kodem wydanie wyróżnia refaktoryzację wielu plików i identyfikowanie precyzyjnych korekt wewnątrz dużej bazy kodu. Dostarcz odpowiednie pliki lub fragmenty, istniejące zachowanie, pożądane zachowanie i ograniczenia, które poprawna zmiana musi zachować. Przykładowe żądanie może polegać na prześledzeniu awarii przez powiązane funkcje, zaproponowaniu najmniejszej spójnej zmiany i wyjaśnieniu, dlaczego każda zmieniana część jest potrzebna. Przydatny rezultat to poprawka lub propozycja kodu możliwa do oceny, z zachowanym kontekstem źródłowym i założeniami, a nie szerokie przepisanie kodu przesłaniające pierwotny problem.
W badaniach i analizie danych nacisk na śledzenie szczegółów przydaje się, gdy pytanie zależy od kilku fragmentów lub obserwacji. Dostarcz materiał z identyfikatorami źródeł, określ pytanie i poproś o dowody wspierające każdy wniosek. Praktyczny opis zadania może wymagać tabeli porównawczej pokazującej zgodności i różnice między dwoma dokumentami oraz pytania pozostające bez odpowiedzi. Gdy wyszukiwanie jest częścią przepływu, aplikacja dostarcza narzędzie i zwróconą treść. Model łączy następnie te wyniki z istniejącym materiałem; proponowane wyszukanie w jego tekście nie jest ukończonym pobraniem danych.
Opus 4.1 ma standardowy tryb odpowiedzi i opcjonalne rozszerzone myślenie. Starszy przewodnik myślenia daje bezpośrednią kontrolę przez budget_tokens, z minimum 1024 tokenów. Budżet jest zwykle mniejszy od max_tokens, ponieważ wewnętrzne rozumowanie i odpowiedź końcowa dzielą limit generowania. Jest celem rozumowania, a nie obietnicą zużycia całego przydziału. Adaptacyjne myślenie i kontrolki effort późniejszych edycji Opus są odrębnymi możliwościami. Przygotuj kompletny problem i określ format końcowej odpowiedzi, aby dodatkowa analiza prowadziła do rezultatu potrzebnego czytelnikowi.
Udokumentowana beta dla wcześniejszych modeli Claude 4 obsługuje przeplatane myślenie: rozumowanie między wywołaniami narzędzi w jednej turze asystenta. Korzysta z funkcji przeplatanego myślenia producenta w obsługiwanym przepływie Messages. W tym trybie budżet myślenia może obejmować kilka bloków i przekraczać wartość max_tokens pojedynczej tury w ramach udokumentowanego wyjątku. Przekazuj odpowiedni blok myślenia bez zmian wraz z wynikiem narzędzia, łącznie z sygnaturą. Przepływ debugowania może dzięki temu przeplatać analizę, kontrolę wykonaną przez aplikację i interpretację rzeczywistego wyjścia, zachowując rozdział proponowanych i ukończonych działań.
Dodatek do karty systemowej opisuje także zadania obsługi komputera obejmujące obserwowanie ekranu, działania myszą i wejście z klawiatury, obok dłuższych zadań programistycznych z narzędziami. Model może rozumować na podstawie dostarczonego stanu wizualnego i wybrać działanie w podłączonym środowisku; aplikacja wykonuje interakcję i zwraca to, co się zmieniło. W opisie zadania ekranowego wskaż cel, odpowiednie widoczne kontrolki i dozwolone działania. W przepływie dokumentów lub danych poproś o wyjaśnienie tekstowe lub ustrukturyzowany wynik powiązany z dostarczonymi dowodami. Interpretacja modelu i wykonanie przez środowisko są oddzielnymi częściami pracy.
Ocena producenta podaje podatność na wstrzykiwanie promptów podobną do oryginalnego Opus 4. Bada konkretnie ukryty tekst lub elementy interfejsu próbujące odciągnąć agenta od zadania użytkownika. Oddziel instrukcje zadania od materiału zwróconego przez narzędzia i zachowuj pierwotny cel podczas interpretowania strony lub dokumentu. To istotny warunek przepływu agentowego: zobaczenie żądania w treści zewnętrznej nie czyni go instrukcją autoryzowaną przez użytkownika. Zabezpieczenia modelu nie zamieniają każdej napotkanej strony w zaufane wejście.
Karta systemowa opisuje także ograniczenie programistyczne nazywane hakowaniem nagrody (reward hacking), obejmujące odpowiedzi zakodowane na sztywno i rozwiązania dopasowane tylko do przykładów widocznych dla modelu. Opus 4.1 wykazuje tendencje podobne do Opus 4, z pewnymi regresjami w tych konkretnych ocenach. Przy propozycji kodu poproś o rozwiązanie spełniające ogólne wymaganie, wskaż obsługiwane warunki i uwzględnij kontrole wykraczające poza jeden dostarczony przykład. Poproś, aby raport końcowy oddzielał to, co zaproponowano, co środowisko faktycznie sprawdziło i czego nie udało się ustalić. Łączy to precyzyjne debugowanie i śledzenie szczegółów modelu z konkretnym rezultatem, którego zachowanie można sprawdzić.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-opus-4-1-20250805-thinking
claude-opus-4-1-20250805-thinking
claude-opus-4-1-20250805-thinkingStart
Claude Opus 4.1 to aktualizacja Opus 4 firmy Anthropic do agentowej pracy programistycznej, badań, analizy danych i rozumowania. Skupia się m.in. na śledzeniu szczegółów, zmianach kodu w wielu plikach i precyzyjnym debugowaniu, ze standardowymi odpowiedziami lub opcjonalnym rozszerzonym myśleniem.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- Tekst
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Wejście
text- Wyjście
text- Format wyjściowy
- json lub SSE
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity claude-opus-4-1-20250805-thinking | Domyślnie— |
Polemessages | Typmessage[] | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 | Domyślnie— |
Polemessages[].role | Typstring | WymaganieWymagane | Wartości i limity Zależy od modelu | Domyślnie— |
Polemessages[].content | Typstring | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: Rozmowa tekstowa | Domyślnie— |
Polestream | Typboolean | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |
Kombinacje materiałów wejściowych
Tekst · tekst UTF8
messages[].content
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages |
Parametrmaterial_types | Kontrakttext |
Parametrmessages | Kontrakttablica wiadomości o strukturze role/content |
Parametrfile_material | Kontraktrzeczywisty dokument UTF-8 wstawiony jako dosłowny tekst; bez wywnioskowanego ID pliku |
Parametroptional_controls | Kontraktstream |
Parametrcontrol_scope | KontraktRozmowa tekstowa; stream jest wartością logiczną i domyślnie wynosi false. |
Parametroutput_modalities | Kontrakttext |
Parametrhosted_operations | Kontraktfalse |
Parametrmultimodal_input_binding | Kontraktnull |
Aliasy metody: /chat/completions
Cykl życia: synchronous_or_streamed
Wyślij dokładne ID modelu wraz z messages.
Długość kontekstu nie jest limitem wyjścia.
Plik tekstowy może dostarczyć dosłowny tekst; wejścia obrazowe/dźwiękowe/obiekty plików wymagają dokładnego powiązania.
Cennik
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Stawki Ailoot
Ceny według konfiguracji
| Konfiguracja | Tabela stawek | Opłata |
|---|---|---|
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe $0.03 / 1K tokenów Wyjście · Tokeny wyjściowe $0.15 / 1K tokenów Wejście · Odczyt cache $0.0006 / 1K tokenów Wejście · Zapis do cache $0.0075 / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"claude-opus-4-1-20250805-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="claude-opus-4-1-20250805-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Odbieranie i zapisywanie wyników
Ailoot Ultra · OpenAI Chat
json lub SSE
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj każdy wariant i jego treść/wywołania narzędzi/rozumowanie. W SSE składaj przyrosty według indeksu wariantu/narzędzia, zachowując końcowy powód zakończenia i dane użycia.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Polechoices[].index | Typinteger |
Polechoices[].message.content | Typstring|null |
Polechoices[].message.tool_calls | Typtool_call[] |
Polechoices[].message.reasoning_content | Typstring |
Polechoices[].message.reasoning_details | Typobject|array |
Polechoices[].finish_reason | Typstring|null |
Poleusage | Typobject |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra claude-opus-4-1-20250805-thinking
Aliasy ścieżek metod
/chat/completions
Powiązane ID modeli
FAQ · Anthropic: Claude Opus 4.1
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:text→text- Jakich pól używa żądanie?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:model,messages,stream- Jakie limity obowiązują?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:messages.min_items:1