Lihat postingan blog kami Long context prompting for Claude 2.1 untuk melihat contoh prefilling yang sangat efektif.


Mengapa mengisi respons Claude sebelumnya?

Mengisi respons Claude sebelumnya menawarkan beberapa manfaat utama:

  1. Peningkatan kemampuan mengarahkan: Dengan memberikan beberapa teks awal untuk Claude lanjutkan, Anda dapat mengarahkan respons Claude ke arah yang diinginkan. Ini sangat berguna ketika Anda ingin Claude fokus pada topik tertentu, menghasilkan jenis konten tertentu, atau bertindak dengan cara tertentu.
  2. Kontrol format output: Prefilling memungkinkan Anda menentukan format yang tepat yang ingin Anda gunakan Claude untuk outputnya. Ini sangat berguna saat bekerja dengan format data terstruktur seperti JSON atau XML. Untuk detail lebih lanjut tentang ini, lihat panduan kami tentang mengendalikan format output.
  3. Mempertahankan konsistensi karakter: Dalam skenario bermain peran, mengisi respons Claude sebelumnya dapat membantu Claude tetap dalam karakter sepanjang percakapan yang panjang. Dengan secara konsisten mengingatkan Claude akan perannya dalam pesan Assistant, Anda dapat lebih memastikan bahwa Claude mempertahankan persona yang diinginkan. Lihat keep Claude stay in character untuk detail lebih lanjut.

Cara mengisi respons Claude sebelumnya

Untuk mengisi respons Claude sebelumnya, cukup sertakan teks awal yang diinginkan dalam pesan Assistant saat membuat permintaan API. Berikut adalah contoh prompt:

RoleGood Prompt
UserHarap ekstrak nama, ukuran, harga, dan warna dari deskripsi produk ini dan keluarkan dalam objek JSON.

<description>SmartHome Mini adalah asisten rumah pintar yang ringkas tersedia dalam warna hitam atau putih dengan harga hanya $49,99. Dengan lebar hanya 5 inci, ia memungkinkan Anda mengontrol lampu, termostat, dan perangkat terhubung lainnya melalui suara atau aplikasi—tidak peduli di mana Anda menempatkannya di rumah Anda. Hub kecil yang terjangkau ini membawa kontrol bebas genggam yang nyaman ke perangkat pintar Anda.</description>
Assistant (prefill){

Dalam contoh ini, dengan memulai pesan Assistant dengan {, kami membatasi output Claude menjadi sisa skema JSON yang diminta.

RoleResponse
Assistant (Claude’s response)“name”: “SmartHome Mini”,
“size”: “lebar 5 inci”,
“price”: “$49,99”,
“colors”: [
“hitam”,
“putih”
]
}

Berikut adalah cara prompt di atas akan ditulis dalam kode dalam format Messages API:

Python
import anthropic

client = anthropic.Anthropic(
    # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-2.1",
    max_tokens=1000,
    temperature=0,
    messages=[
        {
            "role": "user",
            "content": "Harap ekstrak nama, ukuran, harga, dan warna dari deskripsi produk ini dan keluarkan dalam objek JSON.\n\n<description>SmartHome Mini adalah asisten rumah pintar yang ringkas tersedia dalam warna hitam atau putih dengan harga hanya $49,99. Dengan lebar hanya 5 inci, ia memungkinkan Anda mengontrol lampu, termostat, dan perangkat terhubung lainnya melalui suara atau aplikasi—tidak peduli di mana Anda menempatkannya di rumah Anda. Hub kecil yang terjangkau ini membawa kontrol bebas genggam yang nyaman ke perangkat pintar Anda.\n</description>"
        }
        {
            "role": "assistant",
            "content": "{"
        }
    ]
)
print(message.content)

Sumber daya tambahan

  • Teknik rekayasa prompt: Jelajahi strategi lain untuk mengoptimalkan prompt Anda dan meningkatkan kinerja Claude.
  • Anthropic cookbook: Telusuri koleksi notebook Jupyter yang menampilkan cuplikan kode yang dapat disalin yang mendemonstrasikan teknik, integrasi, dan implementasi yang sangat efektif dan canggih menggunakan Claude.
  • Perpustakaan prompt: Dapatkan inspirasi dari pilihan prompt pilihan untuk berbagai tugas dan kasus penggunaan.