Anthropic: Claude Opus 4.1 (batch)
Claude Opus 4.1 adalah pembaruan Anthropic atas Opus 4 untuk pekerjaan perangkat lunak berbasis agen, riset, analisis data, dan penalaran. Fokusnya mencakup pelacakan detail, perubahan kode di beberapa berkas, dan pelacakan bug yang presisi, dengan respons standar atau pilihan berpikir mendalam.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Claude Opus 4.1 adalah pembaruan Anthropic atas Claude Opus 4 asli, dengan fokus pada tugas berbasis agen, pemrograman dalam penggunaan nyata, dan penalaran. Peluncurannya juga menyoroti riset mendalam dan analisis data, terutama pelacakan detail serta penggunaan pencarian dalam tugas yang lebih besar. Adendum kartu sistem yang menyertainya menjelaskan peningkatan kualitas penalaran dan kepatuhan terhadap instruksi. Edisi ini tetap berbeda dari Opus 4 asli dan model Opus 4.5, 4.6, serta 5 yang muncul kemudian; mode dan batas model-model itu tidak boleh dianggap sebagai spesifikasi pembaruan ini.
Untuk pekerjaan kode, peluncurannya menyoroti refaktor beberapa berkas dan identifikasi perbaikan yang tepat dalam basis kode besar. Berikan berkas atau cuplikan yang relevan, perilaku saat ini, perilaku yang diinginkan, dan batasan yang harus dipertahankan oleh perubahan yang valid. Contoh permintaan dapat meminta model menelusuri kegagalan melalui fungsi yang saling terkait, mengusulkan perubahan terkecil yang tetap koheren, dan menjelaskan alasan setiap bagian perlu diubah. Hasil yang berguna adalah patch atau usulan kode yang dapat ditinjau, dengan konteks sumber dan asumsi tetap disertakan, bukan penulisan ulang besar-besaran yang mengaburkan masalah awal.
Untuk riset dan analisis data, fokus pada pelacakan detail berguna ketika pertanyaan bergantung pada beberapa kutipan atau pengamatan. Berikan materi dengan pengenal sumber, tentukan pertanyaan, dan mintalah bukti yang mendukung setiap kesimpulan. Arahan praktis dapat meminta tabel perbandingan yang menunjukkan kesamaan dua dokumen, perbedaannya, dan pertanyaan yang belum terjawab. Jika pencarian merupakan bagian dari alur kerja, aplikasi menyediakan alat dan konten hasilnya. Model kemudian menghubungkan hasil tersebut dengan materi yang sudah ada; usulan pencarian dalam teksnya bukan pencarian yang telah selesai dilakukan.
Opus 4.1 memiliki mode respons standar dan pilihan berpikir mendalam. Panduan berpikir lama memberikan kendali langsung melalui budget_tokens, dengan minimum 1,024 token. Anggaran biasanya lebih rendah daripada max_tokens karena penalaran internal dan respons akhir berbagi jatah generasi. Anggaran ini merupakan sasaran penalaran, bukan janji untuk menghabiskan seluruh jumlahnya. Berpikir adaptif dan kontrol effort pada edisi Opus yang lebih baru merupakan kemampuan terpisah. Siapkan masalah yang lengkap dan tentukan format jawaban akhir agar analisis tambahan mengarah pada hasil yang dibutuhkan pembaca.
Beta yang didokumentasikan untuk model Claude 4 terdahulu mendukung penalaran berselang-seling: penalaran di antara pemanggilan alat dalam satu giliran asisten. Mode ini menggunakan fitur interleaved-thinking dari pembuatnya dalam alur kerja Messages yang didukung. Dalam mode itu, anggaran berpikir dapat mencakup beberapa blok dan melampaui nilai max_tokens untuk satu giliran berdasarkan pengecualian yang didokumentasikan. Kembalikan blok berpikir yang terkait tanpa perubahan bersama hasil alat, termasuk tanda tangannya. Dengan demikian, alur pelacakan bug dapat bergantian antara analisis, pemeriksaan yang dijalankan aplikasi, dan penafsiran keluaran aktual, sambil tetap memisahkan tindakan usulan dari tindakan yang sudah selesai.
Adendum kartu sistem juga menjelaskan tugas penggunaan komputer yang melibatkan pengamatan layar, tindakan tetikus, dan masukan papan ketik, bersama tugas pemrograman yang lebih panjang dengan alat. Model dapat menalar berdasarkan keadaan visual yang diberikan dan memilih tindakan dalam lingkungan yang terhubung; aplikasi menjalankan interaksi itu dan mengembalikan perubahannya. Untuk arahan berbasis layar, tentukan tujuan, kontrol relevan yang terlihat, dan tindakan yang diizinkan. Untuk alur dokumen atau data, mintalah penjelasan teks atau hasil terstruktur yang terhubung dengan bukti yang diberikan. Penafsiran model dan eksekusi lingkungan merupakan bagian pekerjaan yang terpisah.
Penilaian pembuatnya melaporkan kerentanan terhadap injeksi prompt yang serupa dengan Opus 4 asli. Penilaian itu secara khusus memeriksa teks tersembunyi atau elemen antarmuka yang mencoba mengalihkan agen dari tugas pengguna. Pisahkan instruksi tugas dari materi hasil alat dan pertahankan tujuan awal saat menafsirkan halaman atau dokumen. Ini merupakan kondisi penting bagi alur kerja agen: melihat permintaan dalam konten eksternal tidak menjadikannya instruksi yang diizinkan pengguna. Perlindungan model tidak menjadikan setiap halaman yang ditemui sebagai masukan tepercaya.
Kartu sistemnya juga menjelaskan keterbatasan pemrograman yang disebut reward hacking, termasuk jawaban yang ditulis langsung di dalam kode dan solusi yang hanya disesuaikan dengan contoh di hadapan model. Opus 4.1 menunjukkan kecenderungan serupa dengan Opus 4, dengan beberapa kemunduran pada penilaian terfokus tersebut. Untuk usulan kode, mintalah solusi yang memenuhi persyaratan umum, tentukan kondisi yang ditanganinya, dan sertakan pemeriksaan di luar satu contoh yang diberikan. Mintalah laporan akhir membedakan hal yang diusulkan, hal yang benar-benar diperiksa oleh lingkungan, dan hal yang belum dapat dipastikan. Ini menghubungkan keunggulan model dalam pelacakan bug yang presisi dan pelacakan detail dengan artefak konkret yang perilakunya dapat diperiksa.
Ailoot Ultra · Batch POST /v1/batches anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batchMulai
Claude Opus 4.1 adalah pembaruan Anthropic atas Opus 4 untuk pekerjaan perangkat lunak berbasis agen, riset, analisis data, dan penalaran. Fokusnya mencakup pelacakan detail, perubahan kode di beberapa berkas, dan pelacakan bug yang presisi, dengan respons standar atau pilihan berpikir mendalam.
- Masukan yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Batch POST /v1/batches
- Masukan
text- Keluaran
text- Format keluaran
- JSON inline pada results[].response.body
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolomendpoint | Jenisstring | PersyaratanWajib | Nilai & batasan /v1/chat/completions | Bawaan— |
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan anthropic/claude-opus-4.1:batch | Bawaan— |
Kolomrequests | Jenisbatch_item[] | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
Kolomrequests[].custom_id | Jenisstring | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomrequests[].body.messages | Jenismessage[] | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomcompletion_window | Jenisstring | PersyaratanOpsional | Nilai & batasan 24h | Bawaan— |
Kolomprovider | Jenisobject|null | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolomrequests[].body.model | Jenisstring | PersyaratanOpsional | Nilai & batasan anthropic/claude-opus-4.1:batch, anthropic/claude-opus-4.1 | Bawaan— |
Kolomprovider.only | Jenisstring[] | PersyaratanOpsional | Nilai & batasan anthropic | Bawaan— |
Kolomprovider.allow_fallbacks | Jenisboolean|null | PersyaratanOpsional | Nilai & batasan false, null | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakendpoint, model, requests |
Parametermaterial_types | Kontraktext |
Parameterrepresentation | Kontrakrequests[] inline; setiap item memiliki custom_id dan body |
Parameterrequest_endpoint_profile | Kontrak/v1/chat/completions |
Parameterfile_material | KontrakPemanggil dapat membaca JSONL UTF-8 aktual secara lokal ke dalam requests[]. Tidak menggunakan purpose unggahan, input_file_id, atau referensi file. Materi pelanggan yang tidak ada atau kosong menghentikan persiapan sebelum POST. |
Parameterserialization_order | Kontrakendpoint, model, provider (jika disertakan), completion_window (jika disertakan), requests paling akhir |
Parameteroptional_controls | Kontrakprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | Kontrakbody teks Chat Completions dalam envelope Batch inline yang didokumentasikan. |
Siklus hidup: asynchronous
GET /v1/batches/{operation_id} · response.id aktual dari operasi create awal; user/key/group yang sama
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
- Harga cache eksplisit
- Aktif Saat cache eksplisit diminta
Tarif Ailoot
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Token konteks, lebih dari | Token konteks, hingga dan termasuk | Biaya |
|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Token konteks, lebih dari— | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.015 / 1K token Keluaran · Token keluaran $0.075 / 1K token Masukan · Pembacaan cache $0.0015 / 1K token Masukan · Penulisan cache $0.01875 / 1K token Masukan · Penulisan cache, 1 jam $0.03 / 1K token |
| KonfigurasiPanjang permintaan · tingkat 1 | Jadwal tarif— | Token konteks, lebih dari0 | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.015 / 1K token Keluaran · Token keluaran $0.075 / 1K token Masukan · Pembacaan cache $0.0015 / 1K token Masukan · Penulisan cache $0.01875 / 1K token Masukan · Penulisan cache, 1 jam $0.03 / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
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.
Terima dan simpan hasil
Ailoot Ultra · Batch
JSON inline pada results[].response.body
GET /v1/batches/{operation_id}
Periksa status tugas
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
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Pertahankan JSON status asli secara lengkap, setiap result/custom_id, serta body response atau error yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penyaringan.
Jika respons asli perlu diperiksa
Pertahankan ID operasi asli. 503 result_pending_check memiliki X-Should-Retry:false; jangan pernah kirim ulang batch asli yang statusnya tidak diketahui.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomresults[].custom_id | Jenisstring |
Kolomresults[].response.body.choices[].message.content | Jenisstring|null |
Kolomresults[].error | Jenisobject|null |
Kolomusage | Jenisobject|null |
Kolomid | Jenisstring |
Kolommodel | Jenisstring |
Kolomendpoint | Jenisstring |
Kolomstatus | Jenisstring |
Kolomrequest_counts | Jenisobject |
Kolomresults[].id | Jenisstring |
Kolomresults[].response.status_code | Jenisinteger |
Kolomresults[].response.request_id | Jenisstring |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiEnvelope inline yang didokumentasikan tidak valid, ada kunci duplikat, atau terdapat konflik pada identitas item atau kemampuan model yang dikonfigurasi. | Langkah berikutnyaPerbaiki kolom yang ditunjukkan sebelum pengiriman baru apa pun. |
Respons401 · authentication_error | KondisiKunci API tidak valid. | Langkah berikutnyaGunakan kunci Ailoot yang berizin. |
Respons403 · permission_error | KondisiGrup Batch tidak tersedia. | Langkah berikutnyaPeriksa hak akses key/group. |
Respons422 · invalid_request_error | KondisiBatch menggunakan penagihan dari saldo; pembuatan dengan langganan ditolak. | Langkah berikutnyaGunakan grup berizin yang ditagih dari saldo. |
Respons422 · price_unavailable | KondisiPenawaran harga untuk input Batch tidak dapat dibuat. | Langkah berikutnyaSimpan respons; gunakan input keluarga API yang didokumentasikan. |
Respons402 · billing_error | KondisiCadangan Batch tidak tersedia. | Langkah berikutnyaSelesaikan kendala penerimaan sebelum mengirim permintaan baru. |
Respons503 · price_unavailable | KondisiHarga metode Batch/tarif native tidak tersedia. | Langkah berikutnyaSimpan respons; jangan mengganti harga. |
Respons503 · api_error | KondisiRute pemasok yang tepat tidak tersedia. | Langkah berikutnyaSimpan respons untuk perbaikan rute. |
Respons503 · result_pending_check | KondisiHasil asli perlu diperiksa; X-Should-Retry:false. | Langkah berikutnyaSimpan operation_id/id asli dan baca statusnya; jangan pernah mengulangi POST asli. |
Respons404 · not_found | KondisiOperasi status Batch tidak ada atau dimiliki oleh identitas lain. | Langkah berikutnyaGunakan id asli yang persis sama dan user/key/group yang sama. |
Alias
Alias model
Ailoot Ultra anthropic/claude-opus-4.1:batch
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Anthropic: Claude Opus 4.1 (batch)
- Input dan hasil apa yang tersedia?
POST /v1/batches·anthropic/claude-opus-4.1:batch:text→text- Kolom apa yang digunakan permintaan?
POST /v1/batches·anthropic/claude-opus-4.1:batch:endpoint,model,requests,completion_window,provider- Batasan apa yang berlaku?
POST /v1/batches·anthropic/claude-opus-4.1:batch:requests.min_items:1