Anthropic: Claude Opus 4.1
Claude Opus 4.1 est la mise à jour d’Opus 4 par Anthropic pour le travail logiciel avec des agents, la recherche, l’analyse de données et le raisonnement. Il met notamment l’accent sur le suivi des détails, les modifications de code sur plusieurs fichiers et le débogage précis, avec des réponses standard ou un raisonnement approfondi facultatif.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Claude Opus 4.1 est la mise à jour du Claude Opus 4 original par Anthropic, axée sur les tâches d’agents, la programmation en conditions réelles et le raisonnement. Sa présentation met aussi en avant la recherche approfondie et l’analyse de données, notamment le suivi des détails et l’utilisation de la recherche au sein d’une tâche plus large. L’addendum à la fiche système qui l’accompagne décrit des améliorations de la qualité du raisonnement et du suivi des instructions. Cette édition reste distincte de l’Opus 4 original et des modèles Opus 4.5, 4.6 et 5 ultérieurs ; leurs modes et limites ne doivent pas être traités comme les spécifications de cette mise à jour.
Pour le travail sur le code, la présentation souligne la refactorisation de plusieurs fichiers et l’identification de corrections précises dans une grande base de code. Donnez au modèle les fichiers ou extraits pertinents, le comportement existant, le comportement souhaité et les contraintes qu’une modification valide doit préserver. Une demande illustrative peut lui demander de suivre un échec à travers des fonctions liées, de proposer la plus petite modification cohérente et d’expliquer pourquoi chaque partie modifiée est nécessaire. Le résultat utile est un correctif ou une proposition de code vérifiable, avec le contexte source et les hypothèses conservés, plutôt qu’une vaste réécriture qui masque le problème initial.
Pour la recherche et l’analyse de données, son attention au suivi des détails est utile lorsqu’une question dépend de plusieurs passages ou observations. Fournissez les documents avec les identifiants des sources, définissez la question et demandez les éléments qui étayent chaque conclusion. Une consigne pratique peut demander un tableau comparatif montrant les points d’accord entre deux documents, leurs différences et les questions encore sans réponse. Si la recherche fait partie du flux de travail, l’application fournit l’outil et le contenu qu’il renvoie. Le modèle relie ensuite ces résultats aux documents existants ; une recherche proposée dans son texte n’est pas une récupération effectuée.
Opus 4.1 dispose d’un mode de réponse standard et d’un raisonnement approfondi facultatif. Le guide historique du raisonnement donne un contrôle direct via budget_tokens, avec un minimum de 1 024 jetons. Ce budget est normalement inférieur à max_tokens, car le raisonnement interne et la réponse finale partagent la même limite de génération. Il s’agit d’une cible de raisonnement, sans promesse de consommer la totalité du budget. Le raisonnement adaptatif et les réglages d’effort des éditions Opus ultérieures sont des capacités distinctes. Préparez un problème complet et précisez le format de la réponse finale pour que l’analyse supplémentaire mène au résultat nécessaire au lecteur.
La fonctionnalité bêta documentée pour les premiers modèles Claude 4 prend en charge le raisonnement entrelacé : un raisonnement entre les appels d’outils au cours d’un seul tour de l’assistant. Elle utilise la fonctionnalité de raisonnement entrelacé du développeur dans le flux de travail Messages pris en charge. Dans ce mode, le budget de raisonnement peut couvrir plusieurs blocs et dépasser la valeur max_tokens d’un seul tour selon l’exception documentée. Renvoyez le bloc de raisonnement correspondant sans le modifier avec le résultat d’un outil, y compris sa signature. Un flux de travail de débogage peut ainsi alterner l’analyse, une vérification exécutée par l’application et l’interprétation de la sortie réelle, tout en distinguant les actions proposées de celles qui sont accomplies.
L’addendum à la fiche système décrit aussi des tâches d’utilisation d’un ordinateur comportant l’observation d’un écran, des actions de souris et des saisies au clavier, avec des tâches de programmation plus longues utilisant des outils. Le modèle peut raisonner à partir d’un état visuel fourni et sélectionner une action dans un environnement connecté ; l’application effectue l’interaction et renvoie ce qui a changé. Pour une consigne portant sur un écran, identifiez l’objectif, les commandes visibles pertinentes et les actions autorisées. Pour un flux de travail documentaire ou de données, demandez une explication textuelle ou un résultat structuré lié aux éléments fournis. L’interprétation du modèle et l’exécution par l’environnement sont des parties distinctes du travail.
L’évaluation du développeur signale une sensibilité à l’injection de prompt similaire à celle de l’Opus 4 original. Elle examine précisément des textes cachés ou des éléments d’interface qui tentent de détourner un agent de la tâche de l’utilisateur. Gardez les instructions de la tâche séparées des contenus renvoyés par les outils et conservez l’objectif initial lorsque vous interprétez une page ou un document. C’est une condition importante d’un flux de travail d’agents : voir une demande dans un contenu externe n’en fait pas une instruction autorisée par l’utilisateur. Les protections du modèle ne transforment pas toutes les pages rencontrées en entrées dignes de confiance.
Sa fiche système décrit également une limite de programmation appelée reward hacking, qui comprend des réponses codées en dur et des solutions adaptées uniquement aux exemples présentés au modèle. Opus 4.1 montre des tendances similaires à celles d’Opus 4, avec certaines régressions dans ces évaluations ciblées. Pour une proposition de code, demandez une solution qui satisfait l’exigence générale, identifiez les conditions qu’elle traite et incluez des vérifications au-delà du seul exemple fourni. Demandez au compte rendu final de distinguer ce qui a été proposé, ce que l’environnement a réellement vérifié et ce qui n’a pas pu être établi. Cela relie les points forts du modèle en matière de débogage précis et de suivi des détails à un livrable concret dont le comportement peut être examiné.
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-thinkingPour commencer
Claude Opus 4.1 est la mise à jour d’Opus 4 par Anthropic pour le travail logiciel avec des agents, la recherche, l’analyse de données et le raisonnement. Il met notamment l’accent sur le suivi des détails, les modifications de code sur plusieurs fichiers et le débogage précis, avec des réponses standard ou un raisonnement approfondi facultatif.
- Entrées acceptées
- Texte
- Résultats
- Texte
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Entrée
text- Sortie
text- Format de sortie
- json ou SSE
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites claude-opus-4-1-20250805-thinking | Par défaut— |
Champmessages | Typemessage[] | ExigenceObligatoire | Valeurs et limites Nombre minimal d’éléments: 1 | Par défaut— |
Champmessages[].role | Typestring | ExigenceObligatoire | Valeurs et limites Selon le modèle | Par défaut— |
Champmessages[].content | Typestring | ExigenceFacultatif | Valeurs et limites S’applique lorsque: Conversation textuelle | Par défaut— |
Champstream | Typeboolean | ExigenceFacultatif | Valeurs et limites | Par défautfalse |
Combinaisons d’éléments d’entrée
Texte · Texte UTF8
messages[].content
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, messages |
Paramètrematerial_types | Contrattext |
Paramètremessages | ContratTableau de messages avec une structure role/content |
Paramètrefile_material | ContratDocument UTF-8 réel inséré comme texte littéral ; aucun ID de fichier déduit |
Paramètreoptional_controls | Contratstream |
Paramètrecontrol_scope | ContratConversation textuelle ; stream est un booléen dont la valeur par défaut est false. |
Paramètreoutput_modalities | Contrattext |
Paramètrehosted_operations | Contratfalse |
Paramètremultimodal_input_binding | Contratnull |
Alias de méthode : /chat/completions
Cycle de vie : synchronous_or_streamed
Envoyez l’ID exact du modèle avec messages.
La longueur du contexte n’est pas un plafond de sortie.
Un fichier texte peut fournir du texte littéral ; les entrées image/audio/objet fichier nécessitent une liaison exacte.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
| Configuration | Barème tarifaire | Coût |
|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Coût Entrée · Jetons en entrée $0.03 / 1K jetons Sortie · Jetons en sortie $0.15 / 1K jetons Entrée · Lecture du cache $0.0006 / 1K jetons Entrée · Écriture dans le cache $0.0075 / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
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"))
Recevoir et enregistrer les résultats
Ailoot Ultra · OpenAI Chat
json ou SSE
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez chaque choix avec son contenu, ses appels d’outils et son raisonnement. En SSE, assemblez les deltas par index de choix et d’outil, et conservez le motif final d’arrêt et les données d’utilisation.
Si la réponse d’origine doit être vérifiée
Conservez les ID et les en-têtes de requête/réponse. Aucune URL générique de récupération de tâche textuelle n’est fournie.
Champs de la réponse
| Champ | Type |
|---|---|
Champchoices[].index | Typeinteger |
Champchoices[].message.content | Typestring|null |
Champchoices[].message.tool_calls | Typetool_call[] |
Champchoices[].message.reasoning_content | Typestring |
Champchoices[].message.reasoning_details | Typeobject|array |
Champchoices[].finish_reason | Typestring|null |
Champusage | Typeobject |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des éléments fournis ou valeur de paramètre invalides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Alias
Alias du modèle
Ailoot Ultra claude-opus-4-1-20250805-thinking
Alias des chemins de méthode
/chat/completions
ID d’appel associés
FAQ · Anthropic: Claude Opus 4.1
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:text→text- Quels champs la requête utilise-t-elle ?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:model,messages,stream- Quelles limites s’appliquent ?
POST /v1/chat/completions·claude-opus-4-1-20250805-thinking:messages.min_items:1