

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mid-conversation pesan sistem
<a name="claude-messages-mid-conversation-system"></a>

Anda dapat menambahkan `{"role": "system", ...}` pesan ke `messages` array. Ini menambah atau memperbarui instruksi sistem di tengah percakapan tanpa membatalkan awalan cache.

Sebelumnya, instruksi sistem hanya dapat diberikan melalui `system` parameter tingkat atas. Ini memungkinkan untuk memperbarui instruksi tanpa mengatur ulang konteks sebelumnya.

Ini berguna dalam alur kerja agen di mana model perlu beradaptasi saat tugas berlangsung. Contohnya termasuk memperkenalkan kendala baru di tengah tugas, menyegarkan konteks otoritatif, atau mengubah panduan alat untuk giliran selanjutnya.

## Model yang didukung
<a name="claude-messages-mid-conversation-system-supported-models"></a>

Fitur ini hanya tersedia di Claude Opus 4.8. Tidak diperlukan header beta. Permintaan yang menyertakan `role: "system"` `messages[]` pada model yang tidak didukung mengembalikan file. `400 invalid_request_error`

## Bidang pesan
<a name="claude-messages-mid-conversation-system-fields"></a>


| **Bidang** | **Jenis** | **Deskripsi** | 
| --- | --- | --- | 
| role | String | Wajib. Harus system | 
| content | String atau daftar blok teks | Wajib. Gunakan string biasa atau blok konten, sama seperti pesan pengguna atau asisten. | 
| cache\_control | Objek | Tidak wajib. Semantik yang sama dengan parameter sistem tingkat atas. | 

## Aturan penempatan
<a name="claude-messages-mid-conversation-system-placement"></a>

`{"role": "system"}`Pesan di `messages` memiliki batasan penempatan berikut:
+ Tidak bisa menjadi entri pertama masuk`messages`. Gunakan `system` bidang tingkat atas untuk instruksi yang berlaku sejak awal.
+ Harus segera mengikuti pesan pengguna atau pesan asisten yang berakhir dengan penggunaan alat server.
+ Harus menjadi entri terakhir `messages` atau diikuti oleh giliran asisten.
+ Tidak dapat berdekatan dengan pesan sistem lain. Pesan sistem berturut-turut tidak diperbolehkan.

Permintaan yang melanggar aturan penempatan ini mengembalikan a`400 invalid_request_error`.

## Aturan konten
<a name="claude-messages-mid-conversation-system-content-rules"></a>

System-role konten pesan hanya mendukung blok teks. Gambar, dokumen, blok alat, dan kutipan tidak didukung.

Setel `content` ke string biasa atau blok konten. Instruksi berlaku sejak saat itu dalam percakapan dan seterusnya. Gunakan `system` bidang tingkat atas untuk instruksi yang harus diterapkan ke seluruh percakapan, dan gunakan pesan sistem percakapan tengah untuk instruksi yang menjadi relevan nanti.

## Caching cepat
<a name="claude-messages-mid-conversation-system-caching"></a>

Mid-conversation pesan sistem dirancang untuk bekerja dengan caching yang cepat. Cache awalan stabil seperti biasa dengan menempatkan `cache_control` pada blok terakhir yang tetap tidak berubah di seluruh permintaan. Kemudian tambahkan pesan sistem setelah breakpoint itu. Karena instruksi baru muncul setelah awalan cache, itu tidak mengubah hash awalan, dan cache masih bisa mengenai.

Setelah pesan sistem percakapan tengah menjadi bagian dari riwayat stabil, pesan itu sendiri dapat dibaca dari cache pada giliran berikutnya. Hindari mengedit atau menghapus pesan sistem percakapan tengah yang dikirim sebelumnya, karena mengubah pesan sebelumnya membatalkan cache dari titik itu ke depan.

Untuk informasi selengkapnya tentang caching cepat, lihat [Prompt caching untuk inferensi model yang lebih cepat](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html).

## Perilaku respons
<a name="claude-messages-mid-conversation-system-response"></a>

Bentuk respons tidak berubah. System-role pesan tidak muncul dalam array konten respons. Model memproses instruksi sistem tetapi tidak menggemakannya kembali dalam responsnya.

## Contoh kode
<a name="claude-messages-mid-conversation-system-example"></a>

Contoh Python berikut menunjukkan cara menggunakan prompt sistem percakapan tengah dengan Amazon Bedrock:

```
import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.invoke_model(
    modelId="us.anthropic.claude-opus-4-8",
    body=json.dumps({
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 1024,
        "system": "You are a helpful travel planning assistant.",
        "messages": [
            {"role": "user", "content": "Help me plan a week in Paris."},
            {"role": "assistant", "content": "I'd love to help! What kind of experience are you looking for?"},
            {"role": "user", "content": "I want to see the major sights. What should I do on day one?"},
            {"role": "system", "content": "The user has a budget of $150/day. Only suggest options that fit within this budget. Prioritize free attractions and affordable dining."}
        ]
    })
)

result = json.loads(response["body"].read())
print(result["content"][0]["text"])
```