Anthropic: Claude Opus 4.1 (batch)
Claude Opus 4.1 ist Anthropics Aktualisierung von Opus 4 für agentische Softwarearbeit, Recherche, Datenanalyse und Reasoning. Der Schwerpunkt umfasst Detailverfolgung, Codeänderungen über mehrere Dateien und präzise Fehlersuche mit Standardantworten oder optionalem erweitertem Thinking.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Claude Opus 4.1 ist Anthropics Aktualisierung des ursprünglichen Claude Opus 4 mit Schwerpunkt auf agentischen Aufgaben, praxisnaher Programmierung und Reasoning. Die Veröffentlichung hebt außerdem tiefgehende Recherche und Datenanalyse hervor, insbesondere das Nachverfolgen von Details und den Einsatz der Suche innerhalb einer größeren Aufgabe. Der begleitende Nachtrag zur Systemkarte beschreibt Verbesserungen bei Reasoning-Qualität und dem Befolgen von Anweisungen. Die Edition bleibt vom ursprünglichen Opus 4 und den späteren Modellen Opus 4.5, 4.6 und 5 getrennt; deren Modi und Grenzen sollten nicht als Spezifikationen dieser Aktualisierung behandelt werden.
Für Codearbeit hebt die Veröffentlichung Refaktorierungen über mehrere Dateien und das Ermitteln präziser Korrekturen innerhalb einer großen Codebasis hervor. Geben Sie dem Modell relevante Dateien oder Auszüge, vorhandenes und gewünschtes Verhalten sowie die von einer gültigen Änderung zu bewahrenden Bedingungen vor. Eine beispielhafte Anfrage kann verlangen, einen Fehler über zusammengehörige Funktionen zu verfolgen, die kleinste konsistente Änderung vorzuschlagen und die Notwendigkeit jedes geänderten Teils zu erklären. Das hilfreiche Ergebnis ist ein prüfbarer Patch oder Codevorschlag mit beibehaltenem Quellkontext und Annahmen statt einer breiten Neufassung, die das ursprüngliche Problem verdeckt.
Bei Recherche und Datenanalyse ist der Schwerpunkt auf Detailverfolgung hilfreich, wenn eine Frage von mehreren Passagen oder Beobachtungen abhängt. Geben Sie das Material mit Quellenkennungen vor, definieren Sie die Frage und verlangen Sie Belege für jede Schlussfolgerung. Eine praktische Beschreibung könnte eine Vergleichstabelle verlangen, die Übereinstimmungen und Unterschiede zweier Dokumente sowie unbeantwortete Fragen zeigt. Ist Suche Teil des Ablaufs, stellt die Anwendung das Werkzeug und dessen zurückgegebene Inhalte bereit. Das Modell verbindet diese Ergebnisse anschließend mit dem vorhandenen Material; eine vorgeschlagene Suche in seinem Text ist kein abgeschlossener Abruf.
Opus 4.1 hat einen Standardantwortmodus und optionales Extended Thinking. Der ältere Thinking-Leitfaden bietet direkte Steuerung über budget_tokens mit einem Minimum von 1.024 Token. Das Budget liegt normalerweise unter max_tokens, weil internes Reasoning und endgültige Antwort den Generierungsrahmen teilen. Es ist ein Zielwert für Reasoning und keine Zusage, das gesamte Budget auszuschöpfen. Adaptive Thinking und Aufwandssteuerungen späterer Opus-Editionen sind separate Fähigkeiten. Bereiten Sie ein vollständiges Problem vor und bestimmen Sie das endgültige Antwortformat, damit die zusätzliche Analyse zum vom Leser benötigten Ergebnis führt.
Die dokumentierte Beta für frühere Modelle von Claude 4 unterstützt Interleaved Thinking: Reasoning zwischen Werkzeugaufrufen innerhalb einer Assistentenrunde. Sie verwendet die Interleaved-Thinking-Funktion des Herstellers im unterstützten Messages-Ablauf. In diesem Modus kann sich das Thinking-Budget über mehrere Blöcke erstrecken und nach der dokumentierten Ausnahme den Wert max_tokens einer einzelnen Runde überschreiten. Geben Sie den zugehörigen Thinking-Block einschließlich seiner Signatur zusammen mit einem Werkzeugergebnis unverändert zurück. Ein Fehlersuchablauf kann dadurch zwischen Analyse, einer von der Anwendung ausgeführten Prüfung und Interpretation der tatsächlichen Ausgabe wechseln und vorgeschlagene Aktionen von abgeschlossenen getrennt halten.
Der Nachtrag zur Systemkarte beschreibt außerdem Computerbedienungsaufgaben mit Bildschirmbeobachtung, Mausaktionen und Tastatureingabe neben längeren Programmieraufgaben mit Werkzeugen. Das Modell kann anhand eines bereitgestellten visuellen Zustands schlussfolgern und eine Aktion in einer angeschlossenen Umgebung auswählen; die Anwendung führt die Interaktion aus und gibt zurück, was sich geändert hat. Benennen Sie für eine bildschirmbezogene Aufgabe Ziel, relevante sichtbare Bedienelemente und erlaubte Aktionen. Verlangen Sie für einen Dokument- oder Datenablauf eine Texterklärung oder ein strukturiertes Ergebnis mit Bezug zu den bereitgestellten Belegen. Modellinterpretation und Ausführung durch die Umgebung sind getrennte Teile der Arbeit.
Die Herstellerbewertung berichtet von einer Anfälligkeit für Prompt-Injection ähnlich der des ursprünglichen Opus 4. Sie untersucht gezielt versteckten Text oder Oberflächenelemente, die einen Agenten von der Nutzeraufgabe ablenken sollen. Halten Sie die Aufgabenanweisungen von durch Werkzeuge zurückgegebenem Material getrennt und bewahren Sie das ursprüngliche Ziel bei der Interpretation einer Seite oder eines Dokuments. Dies ist eine wesentliche Bedingung für einen Agentenablauf: Eine Anfrage in externem Inhalt wird durch ihr Auftauchen nicht zu einer vom Nutzer autorisierten Anweisung. Die Schutzmaßnahmen des Modells machen nicht jede angetroffene Seite zu einer vertrauenswürdigen Eingabe.
Die Systemkarte beschreibt außerdem eine als Reward Hacking bezeichnete Einschränkung bei der Programmierung, darunter fest einprogrammierte Antworten und Lösungen, die nur auf die dem Modell vorliegenden Beispiele zugeschnitten sind. Opus 4.1 zeigt ähnliche Tendenzen wie Opus 4 mit einigen Verschlechterungen in diesen gezielten Bewertungen. Verlangen Sie für einen Codevorschlag eine Lösung der allgemeinen Anforderung, benennen Sie die behandelten Bedingungen und fügen Sie Prüfungen über das einzelne vorgegebene Beispiel hinaus hinzu. Lassen Sie den Abschlussbericht unterscheiden, was vorgeschlagen wurde, was die Umgebung tatsächlich geprüft hat und was nicht festgestellt werden konnte. Dies verbindet die Stärken des Modells bei präziser Fehlersuche und Detailverfolgung mit einem konkreten Artefakt, dessen Verhalten geprüft werden kann.
Ailoot Ultra · Stapelverarbeitung POST /v1/batches anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batchEinstieg
Claude Opus 4.1 ist Anthropics Aktualisierung von Opus 4 für agentische Softwarearbeit, Recherche, Datenanalyse und Reasoning. Der Schwerpunkt umfasst Detailverfolgung, Codeänderungen über mehrere Dateien und präzise Fehlersuche mit Standardantworten oder optionalem erweitertem Thinking.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Stapelverarbeitung POST /v1/batches
- Eingabe
text- Ausgabe
text- Ausgabeformat
- eingebettetes JSON unter results[].response.body
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldendpoint | Typstring | AnforderungErforderlich | Werte und Limits /v1/chat/completions | Standard— |
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits anthropic/claude-opus-4.1:batch | Standard— |
Feldrequests | Typbatch_item[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldrequests[].custom_id | Typstring | AnforderungErforderlich | Werte und Limits | Standard— |
Feldrequests[].body.messages | Typmessage[] | AnforderungErforderlich | Werte und Limits | Standard— |
Feldcompletion_window | Typstring | AnforderungOptional | Werte und Limits 24h | Standard— |
Feldprovider | Typobject|null | AnforderungOptional | Werte und Limits | Standard— |
Feldrequests[].body.model | Typstring | AnforderungOptional | Werte und Limits anthropic/claude-opus-4.1:batch, anthropic/claude-opus-4.1 | Standard— |
Feldprovider.only | Typstring[] | AnforderungOptional | Werte und Limits anthropic | Standard— |
Feldprovider.allow_fallbacks | Typboolean|null | AnforderungOptional | Werte und Limits false, null | Standard— |
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragendpoint, model, requests |
Parametermaterial_types | Vertragtext |
Parameterrepresentation | Vertrageingebettete requests[]; jedes Element enthält custom_id und body |
Parameterrequest_endpoint_profile | Vertrag/v1/chat/completions |
Parameterfile_material | VertragDer Aufrufer kann tatsächliches UTF-8-JSONL lokal in requests[] einlesen. Es werden weder ein Upload-Zweck noch input_file_id oder eine Dateireferenz verwendet. Fehlendes oder leeres Kundenmaterial stoppt die Vorbereitung vor POST. |
Parameterserialization_order | Vertragendpoint, model, provider (falls angegeben), completion_window (falls angegeben), requests als letztes Feld |
Parameteroptional_controls | Vertragprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | VertragAnfragekörper für Text Chat Completions in der dokumentierten Inline-Batch-Struktur. |
Lebenszyklus: asynchronous
GET /v1/batches/{operation_id} · die tatsächliche response.id der ursprünglichen Erstellungsantwort; derselbe Nutzer/Schlüssel/dieselbe Gruppe
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
- Preise für explizites Caching
- Aktiviert Wenn explizites Caching angefordert wird
Ailoot-Tarife
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Kontexttoken, mehr als | Kontexttoken, bis einschließlich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.015 / 1K Tokens Ausgabe · Ausgabetoken $0.075 / 1K Tokens Eingabe · Cache lesen $0.0015 / 1K Tokens Eingabe · In Cache schreiben $0.01875 / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde $0.03 / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.015 / 1K Tokens Ausgabe · Ausgabetoken $0.075 / 1K Tokens Eingabe · Cache lesen $0.0015 / 1K Tokens Eingabe · In Cache schreiben $0.01875 / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde $0.03 / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Stapelverarbeitung
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.
Ergebnisse abrufen und speichern
Ailoot Ultra · Stapelverarbeitung
eingebettetes JSON unter results[].response.body
GET /v1/batches/{operation_id}
Auftragsstatus prüfen
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
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Das vollständige ursprüngliche Status-JSON, jedes Ergebnis/jede custom_id und den vollständigen Antwort- oder Fehlerkörper aufbewahren. Abgeschlossene results[] ohne Filterung als JSONL speichern.
Wenn die ursprüngliche Antwort geprüft werden muss
Die ursprüngliche Vorgangs-ID beibehalten. Bei 503 result_pending_check gilt X-Should-Retry:false; einen ursprünglichen Batch mit unbekanntem Ausgang niemals erneut einreichen.
Antwortfelder
| Feld | Typ |
|---|---|
Feldresults[].custom_id | Typstring |
Feldresults[].response.body.choices[].message.content | Typstring|null |
Feldresults[].error | Typobject|null |
Feldusage | Typobject|null |
Feldid | Typstring |
Feldmodel | Typstring |
Feldendpoint | Typstring |
Feldstatus | Typstring |
Feldrequest_counts | Typobject |
Feldresults[].id | Typstring |
Feldresults[].response.status_code | Typinteger |
Feldresults[].response.request_id | Typstring |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungUngültige Struktur der dokumentierten Inline-Einbettung, doppelte Schlüssel, ungültige Identitätsangaben zu einem Element oder ein Konflikt mit den konfigurierten Modellfähigkeiten. | Nächster SchrittDie angegebenen Felder vor jeder neuen Einreichung korrigieren. |
Antwort401 · authentication_error | BedingungUngültiger API-Schlüssel. | Nächster SchrittDen autorisierten Ailoot-Schlüssel verwenden. |
Antwort403 · permission_error | BedingungGruppe für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Berechtigung des Schlüssels bzw. der Gruppe prüfen. |
Antwort422 · invalid_request_error | BedingungStapelverarbeitung wird über das Guthaben abgerechnet; die Erstellung über ein Abonnement wird abgelehnt. | Nächster SchrittDie autorisierte Gruppe mit Guthabenabrechnung verwenden. |
Antwort422 · price_unavailable | BedingungFür die Batch-Eingabe kann kein Preisangebot erstellt werden. | Nächster SchrittAntwort aufbewahren; die dokumentierte Eingabe der API-Familie verwenden. |
Antwort402 · billing_error | BedingungReservierung für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Zulassung klären, bevor eine neue Anfrage gestellt wird. |
Antwort503 · price_unavailable | BedingungMethodenpreis bzw. native Tarife für Stapelverarbeitung nicht verfügbar. | Nächster SchrittAntwort aufbewahren; keine anderen Preise einsetzen. |
Antwort503 · api_error | BedingungDie genaue Anbieterroute ist nicht verfügbar. | Nächster SchrittAntwort zur Reparatur der Route aufbewahren. |
Antwort503 · result_pending_check | BedingungDas ursprüngliche Ergebnis muss geprüft werden; X-Should-Retry:false. | Nächster SchrittDie ursprüngliche operation_id/id beibehalten und ihren Status lesen; den ursprünglichen POST niemals wiederholen. |
Antwort404 · not_found | BedingungDer Batch-Vorgang, dessen Status abgefragt wird, ist nicht vorhanden oder gehört einer anderen Identität. | Nächster SchrittDie genaue ursprüngliche id und denselben Nutzer/Schlüssel/dieselbe Gruppe verwenden. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra anthropic/claude-opus-4.1:batch
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Anthropic: Claude Opus 4.1 (batch)
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/batches·anthropic/claude-opus-4.1:batch:text→text- Welche Felder verwendet die Anfrage?
POST /v1/batches·anthropic/claude-opus-4.1:batch:endpoint,model,requests,completion_window,provider- Welche Grenzen gelten?
POST /v1/batches·anthropic/claude-opus-4.1:batch:requests.min_items:1