Anthropic: Claude Opus 4.1 (batch)
Claude Opus 4.1 er Anthropics opdatering af Opus 4 til softwarearbejde med agenter, forskning, dataanalyse og ræsonnement. Fokus omfatter detaljeopfølgning, kodeændringer på tværs af flere filer og præcis fejlfinding med standardsvar eller valgfrit udvidet ræsonnement.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Claude Opus 4.1 er Anthropics opdatering af den oprindelige Claude Opus 4 med fokus på agentopgaver, programmering i virkelige projekter og ræsonnement. Udgaven fremhæver også dybdegående forskning og dataanalyse, især at følge detaljer og bruge søgning inden for en større opgave. Det ledsagende tillæg til systemkortet beskriver forbedringer i ræsonnementskvalitet og instruktionsfølgning. Den forbliver en særskilt udgave fra den oprindelige Opus 4 og de senere Opus 4.5-, 4.6- og 5-modeller; deres tilstande og grænser skal ikke behandles som specifikationer for denne opdatering.
Ved kodearbejde fremhæver udgaven omstrukturering på tværs af flere filer og identifikation af præcise rettelser i en stor kodebase. Giv modellen de relevante filer eller uddrag, den eksisterende adfærd, den ønskede adfærd og de begrænsninger, en gyldig ændring skal respektere. En eksempelanmodning kan bede den følge en fejl gennem beslægtede funktioner, foreslå den mindste sammenhængende ændring og forklare, hvorfor hver ændret del er nødvendig. Det nyttige resultat er en patch eller et kodeforslag, som kan gennemgås med bevaret kildekontekst og antagelser, frem for en bred omskrivning, der skjuler det oprindelige problem.
Ved forskning og dataanalyse er detaljeopfølgningen nyttig, når et spørgsmål afhænger af flere passager eller observationer. Giv materialet med kildeidentifikatorer, definer spørgsmålet, og bed om belæggene bag hver konklusion. En praktisk beskrivelse kan bede om en sammenligningstabel, der viser, hvor to dokumenter er enige, hvor de adskiller sig, og hvilke spørgsmål der stadig er ubesvarede. Hvis søgning er en del af forløbet, giver applikationen værktøjet og dets returnerede indhold. Modellen forbinder derefter resultaterne med det eksisterende materiale; en foreslået søgning i teksten er ikke en afsluttet indhentning.
Opus 4.1 har en standardsvartilstand og valgfrit udvidet ræsonnement. Den ældre ræsonnementsvejledning giver direkte kontrol gennem budget_tokens med et minimum på 1.024 tokens. Budgettet er normalt lavere end max_tokens, fordi internt ræsonnement og det endelige svar deler genereringsrammen. Det er et mål for ræsonnement frem for et løfte om at bruge hele mængden. Adaptivt ræsonnement og indsatsindstillingerne i senere Opus-udgaver er separate muligheder. Forbered et fuldstændigt problem, og angiv slutformatet, så den ekstra analyse fører til det resultat, læseren har brug for.
Den dokumenterede beta til tidligere Claude 4-modeller understøtter sammenflettet ræsonnement: ræsonnement mellem værktøjskald inden for én assistenttur. Den bruger udviklerens interleaved-thinking-funktion i det understøttede Messages-forløb. I denne tilstand kan ræsonnementsbudgettet dække flere blokke og overstige max_tokens-værdien for én tur under den dokumenterede undtagelse. Returner den tilhørende ræsonnementsblok uændret sammen med et værktøjsresultat, inklusive signaturen. Et fejlfindingsforløb kan dermed veksle mellem analyse, en applikationsudført kontrol og fortolkning af det faktiske output, mens foreslåede handlinger holdes adskilt fra afsluttede.
Tillægget til systemkortet beskriver også computerbetjeningsopgaver med observation af en skærm, musehandlinger og tastaturinput sammen med længere kodeopgaver med værktøjer. Modellen kan ræsonnere ud fra en given visuel tilstand og vælge en handling i et tilknyttet miljø; applikationen udfører interaktionen og returnerer det ændrede. Ved en skærmbaseret beskrivelse angives målet, relevante synlige betjeningselementer og tilladte handlinger. Ved et dokument- eller dataforløb bedes om en tekstforklaring eller et struktureret resultat knyttet til de givne belæg. Modellens fortolkning og miljøets udførelse er separate dele af arbejdet.
Udviklerens vurdering angiver en modtagelighed for promptinjektion, som ligner den oprindelige Opus 4’s. Den undersøger specifikt skjult tekst eller grænsefladeelementer, som forsøger at omdirigere en agent væk fra brugerens opgave. Hold opgavens instruktioner adskilt fra materiale returneret af værktøjer, og bevar det oprindelige mål ved fortolkning af en side eller et dokument. Det er en væsentlig betingelse for et agentforløb: at se en anmodning i eksternt indhold gør den ikke til en instruktion, som brugeren har godkendt. Modellens beskyttelse gør ikke enhver mødt side til betroet input.
Systemkortet beskriver også en kodebegrænsning kaldet reward hacking, herunder hardkodede svar og løsninger tilpasset kun de eksempler, modellen har foran sig. Opus 4.1 viser lignende tendenser som Opus 4 med visse tilbagegange i disse afgrænsede vurderinger. Ved et kodeforslag bedes om en løsning, som opfylder det generelle krav, de betingelser den håndterer angives, og der medtages kontroller ud over det ene givne eksempel. Bed den endelige rapport skelne mellem det foreslåede, det miljøet faktisk kontrollerede, og det som ikke kunne fastslås. Det forbinder modellens styrker i præcis fejlfinding og detaljeopfølgning med et konkret resultat, hvis adfærd kan undersøges.
Ailoot Ultra · Batch POST /v1/batches anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batchStart
Claude Opus 4.1 er Anthropics opdatering af Opus 4 til softwarearbejde med agenter, forskning, dataanalyse og ræsonnement. Fokus omfatter detaljeopfølgning, kodeændringer på tværs af flere filer og præcis fejlfinding med standardsvar eller valgfrit udvidet ræsonnement.
- Accepterede input
- Tekst
- Resultater
- Tekst
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Batch POST /v1/batches
- Inputtyper
text- Outputtyper
text- Outputformat
- JSON direkte i results[].response.body
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltendpoint | Typestring | KravPåkrævet | Værdier og grænser /v1/chat/completions | Standard— |
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser anthropic/claude-opus-4.1:batch | Standard— |
Feltrequests | Typebatch_item[] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
Feltrequests[].custom_id | Typestring | KravPåkrævet | Værdier og grænser | Standard— |
Feltrequests[].body.messages | Typemessage[] | KravPåkrævet | Værdier og grænser | Standard— |
Feltcompletion_window | Typestring | KravValgfrit | Værdier og grænser 24h | Standard— |
Feltprovider | Typeobject|null | KravValgfrit | Værdier og grænser | Standard— |
Feltrequests[].body.model | Typestring | KravValgfrit | Værdier og grænser anthropic/claude-opus-4.1:batch, anthropic/claude-opus-4.1 | Standard— |
Feltprovider.only | Typestring[] | KravValgfrit | Værdier og grænser anthropic | Standard— |
Feltprovider.allow_fallbacks | Typeboolean|null | KravValgfrit | Værdier og grænser false, null | Standard— |
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktendpoint, model, requests |
Parametermaterial_types | Kontrakttext |
Parameterrepresentation | Kontraktrequests[] direkte i anmodningen; hvert element har custom_id og body |
Parameterrequest_endpoint_profile | Kontrakt/v1/chat/completions |
Parameterfile_material | KontraktDen kaldende part kan læse det faktiske JSONL-indhold i UTF-8 lokalt ind i requests[]. Der angives hverken purpose til upload, input_file_id eller en filreference. Hvis kundematerialet mangler eller er tomt, stoppes forberedelsen før POST. |
Parameterserialization_order | Kontraktendpoint, model, provider (hvis angivet), completion_window (hvis angivet), requests til sidst |
Parameteroptional_controls | Kontraktprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | KontraktAnmodningsindhold for Chat Completions med tekst i den dokumenterede inline Batch-struktur. |
Livscyklus: asynchronous
GET /v1/batches/{operation_id} · det faktiske response.id fra den oprindelige oprettelse; samme bruger/nøgle/gruppe
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
- Priser for eksplicit caching
- Aktiveret Når der anmodes om eksplicit caching
Ailoot-takster
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
|---|---|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.015 / 1K tokens Output · Outputtokens $0.075 / 1K tokens Input · Cachelæsning $0.0015 / 1K tokens Input · Cacheskrivning $0.01875 / 1K tokens Input · Cacheskrivning, 1 time $0.03 / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.015 / 1K tokens Output · Outputtokens $0.075 / 1K tokens Input · Cachelæsning $0.0015 / 1K tokens Input · Cacheskrivning $0.01875 / 1K tokens Input · Cacheskrivning, 1 time $0.03 / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · Batch
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"anthropic/claude-opus-4.1:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['anthropic/claude-opus-4.1:batch', 'anthropic/claude-opus-4.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"anthropic/claude-opus-4.1:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Hent og gem resultater
Ailoot Ultra · Batch
JSON direkte i results[].response.body
GET /v1/batches/{operation_id}
Kontrollér opgavestatus
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Gem hele den oprindelige status i JSON, hvert resultat/custom_id og det fulde svar- eller fejlindhold. Gem færdige results[] som JSONL uden filtrering.
Hvis det oprindelige svar skal kontrolleres
Gem det oprindelige operations-ID. 503 result_pending_check har X-Should-Retry:false; send aldrig en oprindelig batch igen, hvis dens udfald er ukendt.
Svarfelter
| Felt | Type |
|---|---|
Feltresults[].custom_id | Typestring |
Feltresults[].response.body.choices[].message.content | Typestring|null |
Feltresults[].error | Typeobject|null |
Feltusage | Typeobject|null |
Feltid | Typestring |
Feltmodel | Typestring |
Feltendpoint | Typestring |
Feltstatus | Typestring |
Feltrequest_counts | Typeobject |
Feltresults[].id | Typestring |
Feltresults[].response.status_code | Typeinteger |
Feltresults[].response.request_id | Typestring |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldig dokumenteret inline-struktur, dublerede nøgler, ugyldig elementidentitet eller konflikt med modellens konfigurerede funktioner. | Næste trinRet de angivne felter, før du sender en ny anmodning. |
Svar401 · authentication_error | BetingelseUgyldig API-nøgle. | Næste trinBrug den godkendte Ailoot-nøgle. |
Svar403 · permission_error | BetingelseBatch-gruppen er ikke tilgængelig. | Næste trinKontrollér nøglens/gruppens adgangsrettigheder. |
Svar422 · invalid_request_error | BetingelseBatch afregnes via saldoen; oprettelse via et abonnement afvises. | Næste trinBrug den godkendte gruppe med saldoafregning. |
Svar422 · price_unavailable | BetingelseDer kan ikke beregnes en pris for Batch-inputtet. | Næste trinGem svaret; brug det dokumenterede input for API-familien. |
Svar402 · billing_error | BetingelseReservationen til Batch er ikke tilgængelig. | Næste trinAfklar adgangen, før du sender en ny anmodning. |
Svar503 · price_unavailable | BetingelsePrisen for Batch-metoden eller de native satser er ikke tilgængelige. | Næste trinGem svaret; erstat ikke priserne med andre priser. |
Svar503 · api_error | BetingelseDen præcise leverandørrute er ikke tilgængelig. | Næste trinGem svaret, så ruten kan repareres. |
Svar503 · result_pending_check | BetingelseDet oprindelige resultat skal kontrolleres; X-Should-Retry:false. | Næste trinGem det oprindelige operation_id/id, og læs dets status; gentag aldrig den oprindelige POST. |
Svar404 · not_found | BetingelseOperationen til Batch-status findes ikke eller tilhører en anden identitet. | Næste trinBrug det nøjagtige oprindelige id og samme bruger/nøgle/gruppe. |
Aliaser
Modelaliaser
Ailoot Ultra anthropic/claude-opus-4.1:batch
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · Anthropic: Claude Opus 4.1 (batch)
- Hvilke input og resultater er tilgængelige?
POST /v1/batches·anthropic/claude-opus-4.1:batch:text→text- Hvilke felter bruger anmodningen?
POST /v1/batches·anthropic/claude-opus-4.1:batch:endpoint,model,requests,completion_window,provider- Hvilke grænser gælder?
POST /v1/batches·anthropic/claude-opus-4.1:batch:requests.min_items:1