Claude Platform Docs
PesanUpaya

Effort per pesan

Gunakan pesan sistem untuk mengubah tingkat effort di tengah percakapan dan mempertahankan cache prompt.

Perubahan effort per pesan menetapkan tingkat effort baru untuk giliran-giliran berikutnya dalam percakapan tanpa mengubah nilai tingkat atas permintaan, sehingga prefiks yang di-cache tetap cocok.

Mengubah tingkat effort

Untuk mengubah tingkat di tengah percakapan:

  1. Tambahkan pesan role: "system" ke messages, dengan content kosong dan tingkat effort baru di output_config.effort.
  2. Kirim header beta mid-conversation-output-config-2026-07-01.
  3. Biarkan nilai tingkat atas tidak berubah.

Contoh berikut mempertahankan nilai tingkat atas pada high dan beralih ke low untuk tindak lanjut rutin:

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=4096,
    output_config={"effort": "high"},
    messages=[
        {
            "role": "user",
            "content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
        },
        {
            "role": "assistant",
            "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
        },
        # Pesan sistem khusus effort: level baru berlaku mulai giliran pengguna berikutnya.
        {"role": "system", "content": [], "output_config": {"effort": "low"}},
        {"role": "user", "content": "Summarize the plan in one sentence."},
    ],
    betas=["mid-conversation-output-config-2026-07-01"],
)

for block in response.content:
    if block.type == "text":
        print(block.text)

Posisi pesan menentukan kapan tingkat baru mulai berlaku:

  • Tepat setelah giliran user dengan input baru: balasan Claude untuk giliran tersebut menggunakan tingkat yang baru.
  • Di posisi lain mana pun, seperti di antara giliran assistant dan giliran user berikutnya seperti pada contoh sebelumnya: tingkat yang baru mulai berlaku pada giliran user berikutnya dengan input baru.

Giliran user yang hanya berisi blok tool_result tidak dianggap sebagai input baru.

Tingkat yang baru tetap berlaku sampai pesan selanjutnya mengubahnya.

Letakkan pesan tersebut setelah semua yang telah Anda kirim, dan pertahankan di tempatnya pada permintaan-permintaan berikutnya. Jangan menyisipkannya sebelum giliran yang telah Anda kirim, dan jangan memindahkan atau menghapusnya di kemudian hari. Pada model dengan pemikiran yang dipertahankan, perubahan apa pun tersebut membuat blok thinking di giliran assistant setelah pesan tersebut menjadi tidak valid. Apa yang dilakukan API terhadap blok yang tidak valid menjelaskan apa yang terjadi selanjutnya.

Jika pesan ini berada di samping pesan system yang memiliki konten, kedua pesan harus mengikuti aturan penempatan untuk pesan sistem di tengah percakapan.

Dengan InvokeModel API Amazon Bedrock, kirim nilai beta di array anthropic_beta pada body permintaan, bukan di header. Untuk model yang mendukung effort per pesan di sana, lihat Pesan sistem di tengah percakapan di Bedrock.

Error

  • Tanpa header beta, output_config per pesan mengembalikan error 400: messages.N.output_config: Extra inputs are not permitted, dengan N adalah indeks pesan system di messages.
  • Dengan header beta, model yang tidak mendukung effort per pesan, seperti Claude Fable 5, mengembalikan error 400: output_config.effort requires a model that supports per-turn effort; this model does not. Di Amazon Bedrock, model-model tersebut dan Claude Opus 5 mengembalikan Extra inputs are not permitted sebagai gantinya.
  • Pada Claude Sonnet 5.5 dengan thinking: {"type": "between_tools"}, dan pada Claude Haiku 5.5 dengan thinking: {"type": "disabled"}, Anda tidak dapat mengubah tingkat effort di tengah percakapan. Di sana, output_config.effort per pesan dengan tingkat baru mengembalikan error 400. Untuk memvariasikan effort pada setiap giliran, gunakan adaptive thinking.

Effort per pesan atau tingkat atas

Utamakan effort per pesan daripada mengubah nilai tingkat atas di antara permintaan. Perubahan per pesan membiarkan semua yang ada sebelumnya tidak berubah, sehingga prefiks yang di-cache tetap cocok. Perubahan tingkat atas memulai ulang cache. Pada Claude Fable 5.1, perubahan tingkat atas juga mengarahkan model dengan kurang andal. Balasan-balasan model sebelumnya ditulis pada tingkat sebelumnya, dan model cenderung tetap konsisten dengan balasan tersebut.

Ketersediaan

Effort per pesan
Status
Beta
API
  • Messages API
  • Managed Agents Tidak didukung
Header beta
Memerlukan
Model
  • Claude Fable 5.2, Fable 5.1
  • Claude Mythos 5.2, Mythos 5.1
  • Claude Opus 5.5, Opus 5
  • Claude Sonnet 5.5
  • Claude Haiku 5.5

Apakah halaman ini membantu?