AI untuk pemulaPanduan
Cara menulis prompt yang baik: 5 bagian dan contoh sebelum/sesudah
Ubah permintaan satu baris yang tidak jelas menjadi prompt dengan tugas, konteks, format, contoh dan aturan, lalu kirim melalui API yang kompatibel dengan OpenAI.

Di halaman ini
Model Anda merangkum email pelanggan dalam tiga paragraf pada hari Senin dan dalam dua poin pada hari Selasa. Prompt yang sama, model yang sama. Itulah yang dilakukan permintaan satu baris: ia menyerahkan setiap keputusan kepada model, dan model memutuskan secara berbeda setiap kali.
Prompt yang baik menjawab lima pertanyaan: apa yang harus dilakukan (tugas), apa yang harus dikerjakan (konteks), seperti apa jawabannya (format), seperti apa jawaban yang baik (contoh), dan apa yang harus dihindari (batasan). Di bawah ini, satu permintaan yang tidak jelas menjadi terstruktur, melewati API CheapTokens yang kompatibel dengan OpenAI, dan Anda melihat apa yang ditambahkan prompt yang lebih panjang ke tagihan.
Mengapa "Ringkas email ini" adalah taruhan#
Saat Anda mengetik "Ringkas email ini," Anda sudah memiliki jawaban dalam pikiran: satu kalimat, seberapa mendesak, apa yang harus dilakukan selanjutnya. Model tidak dapat melihat gambaran itu. Jadi ia menebak, dan setiap tebakan masuk akal. Bersama-sama mereka memberi Anda jawaban yang berbeda pada setiap eksekusi, dan skrip yang membaca jawaban tidak memiliki yang stabil untuk diurai.
Panduan rekayasa prompt OpenAI (dibaca 27 Oktober 2026) menyatakan idenya dengan jelas: rekayasa prompt adalah menulis instruksi yang efektif, dan model GPT bekerja lebih baik ketika Anda memberi tahu mereka secara eksplisit cara menyelesaikan tugas. Kebiasaan ini tidak terbatas pada teks. Pada 26 Oktober 2026 satu saluran Telegram membagikan prompt untuk video yang dihasilkan 30 detik yang dipecah menjadi blok: adegan, gaya visual, dialog, audio dan pengecualian, spesifikasi teknis. Tugas berbeda, langkah sama. Penulis menyebutkan setiap keputusan di awal alih-alih menyerahkannya kepada model.
Coba sendiriCoba: apa yang harus ditebak model dari "Ringkas email ini"?Tampilkan jawaban
Panjangnya (satu baris atau satu halaman), audiens (Anda atau pelanggan), bentuk jawaban (prosa, poin, JSON), apa yang dianggap penting, dan apa yang harus dilakukan ketika email tidak menyebutkannya. Setiap hal tersebut adalah sesuatu yang dapat diselesaikan oleh prompt.
Lima bagian, dalam kata-kata sederhana#
Bayangkan memberi pengarahan kepada kolega baru pada hari pertama mereka. "Tangani yang ini" membuat Anda menebak. Catatan tempel dengan pekerjaan, materi, format yang Anda inginkan, contoh, dan "jangan" memberi Anda apa yang Anda maksud.
Tugas adalah satu kata kerja dan satu objek: "Ringkas email dan nilai urgensinya." Bersikaplah literal. "Bantu dengan email ini" bukanlah tugas.
Konteks adalah materi yang dikerjakan model: email, deskripsi produk, kebijakan. Model hanya tahu apa yang dipelajarinya dalam pelatihan ditambah apa yang Anda tempelkan. Bungkus teks yang ditempel dalam pembatas, seperti tag bergaya XML seperti <email>…</email> atau header markdown, sehingga instruksi Anda tidak dapat tercampur dengan teks. Panduan OpenAI menyarankan keduanya.
Format adalah seperti apa jawabannya: "JSON dengan kunci summary, urgency, next_step" atau "tiga poin, masing-masing maksimal 12 kata". Ini paling penting ketika kode membaca balasan.
Contoh adalah satu input dengan output yang Anda inginkan. Panduan merekomendasikan contoh few-shot yang mencakup berbagai input dengan output yang diinginkan. Satu contoh adalah awal yang baik; tambahkan contoh kedua ketika input Anda sangat berbeda.
Batasan adalah "jangan": gunakan hanya fakta dari email, tulis "tidak diketahui" ketika sesuatu hilang, tidak ada pengembalian dana atau diskon.

Urutan juga sedikit penting. Panduan yang sama mengatakan pesan pengembang atau sistem biasanya berisi identitas, instruksi, contoh, konteks, dan konteks berada di dekat akhir karena berubah antar permintaan. Aturan masuk ke pesan sistem; input masuk ke pesan pengguna.
Cocokkan pasangan
Cocokkan setiap bagian prompt dengan pertanyaan yang dijawabnya
Ketuk item di kiri, lalu pasangannya
- TugasApa yang harus dilakukan model?
- KonteksMateri apa yang dikerjakannya?
- FormatSeperti apa jawabannya?
- ContohSeperti apa jawaban yang baik?
- BatasanApa yang tidak boleh dilakukannya?
Sebelum dan sesudah: email pelanggan#
Ini adalah satu baris di samping permintaan yang sama dengan kelima bagian. Email itu sendiri adalah konteks, dan masuk ke pesan pengguna, dibungkus dalam tag <email>.
Bandingkan
Satu permintaan, dua prompt
Sebelum
Summarize this email.Sesudah
You summarize customer emails for a support team.
Task: Summarize the email in the <email> tags and rate how urgent it is.
Format: Reply with JSON only, using the keys "summary" (one sentence), "urgency" ("low", "medium" or "high") and "next_step" (one short sentence).
Example:
<email>Hi, order 1042 was due Monday and it's Thursday. Where is it?</email>
{"summary": "Order 1042 is three days late and the customer asks where it is.", "urgency": "medium", "next_step": "Check the carrier tracking for order 1042 and reply with the status."}
Rules:
- Use only what the email says. If something is missing, write "unknown".
- Don't offer refunds or discounts.
- Output nothing outside the JSON.Baca "sesudah" dari atas ke bawah dan Anda dapat menunjuk setiap bagian: baris pembuka dan tugas, baris format, contoh, aturan. Email sengaja tidak ada dalam teks. Itu berubah setiap permintaan, jadi ia berjalan terpisah.

Kirim melalui API#
Instruksi tidak pernah berubah, jadi mereka hidup dalam konstanta dan pergi lebih dulu. Email berubah, jadi ia pergi terakhir. Ini adalah seluruh skrip, menggunakan SDK Python OpenAI yang diarahkan ke CheapTokens. Modelnya adalah DeepSeek-V4-Flash: konteks 380K, hingga 32.768 token output per jawaban, satu harga kapan pun. Ambil URL dasar dan id model dari dokumentasi CheapTokens; jika Anda belum memiliki kunci, permintaan API pertama Anda memandu Anda.
import json
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
SYSTEM_PROMPT = """You summarize customer emails for a support team.
Task: Summarize the email in the <email> tags and rate how urgent it is.
Format: Reply with JSON only, using the keys "summary" (one sentence), "urgency" ("low", "medium" or "high") and "next_step" (one short sentence).
Example:
<email>Hi, order 1042 was due Monday and it's Thursday. Where is it?</email>
{"summary": "Order 1042 is three days late and the customer asks where it is.", "urgency": "medium", "next_step": "Check the carrier tracking for order 1042 and reply with the status."}
Rules:
- Use only what the email says. If something is missing, write "unknown".
- Don't offer refunds or discounts.
- Output nothing outside the JSON.
"""
email = "Hello, I was charged twice for my subscription this month. Please fix it before Friday, my card is almost at its limit."
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": f"<email>\n{email}\n</email>"},
],
)
reply = response.choices[0].message.content
print(json.loads(reply))
print(response.usage.prompt_tokens, response.usage.completion_tokens)Jika baris format melakukan tugasnya, balasannya adalah satu objek JSON dengan summary, urgency dan next_step, dan json.loads mengubahnya menjadi kamus. Jika muncul error, model membungkus JSON dalam teks tambahan: perketat aturan terakhir atau tambahkan contoh kedua. Baris terakhir mencetak berapa banyak token yang masuk dan keluar, yang merupakan angka yang dibahas di bagian selanjutnya.
Berapa biaya kata-kata tambahan#
Token adalah bagian dari kata. Anda membayar per token untuk apa yang Anda kirim (input) dan untuk apa yang ditulis model (output), dan output adalah sisi yang lebih mahal. Selengkapnya di token input vs output.
Katakanlah Anda menjalankan bot dukungan dengan 1.000 email sehari, dan emailnya sekitar 300 token. Satu baris menambahkan sekitar 10 token instruksi, jadi sekitar 310 masuk; kami mengasumsikan ringkasan bebas sekitar 250 token. System prompt di atas sekitar 200 token, ditambah sekitar 10 untuk tag <email>, jadi sekitar 500 masuk; kami mengasumsikan baris format menahan jawaban ke JSON sekitar 80 token. Pada DeepSeek-V4-Flash itu adalah $0.00003 per email untuk satu baris dan $0.000016 untuk prompt terstruktur. Prompt menjadi lebih panjang, tetapi permintaan menjadi lebih murah, karena bagian yang panjang adalah input dan bagian yang Anda perpendek adalah output. Jalankan skrip dan ganti asumsi ini dengan prompt_tokens dan completion_ Anda sendiri.
Berikut adalah prompt terstruktur pada 1.000 email sehari di seluruh model. Secara total, dengan input dan output dihitung bersama, CheapTokens lebih murah daripada harga referensi OpenRouter pada beban kerja ini; harga saat ini ada di halaman harga.
| Model | Input $/1Jt | Output $/1Jt | Per permintaan | 1.000 permintaan | OpenRouter, 1.000 permintaan |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.000013 | $0.0132 | $0.0234 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.000016 | $0.0155 | $0.0462 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000037 | $0.037 | $0.444 |
500 token input dan 80 token output per permintaan. Harga per 1 juta token adalah harga saat ini dan berubah seiring tarif kami; kolom OpenRouter menunjukkan harga referensi untuk beban kerja yang sama.
Periksa diri Anda#
Satu pertanyaan tentang kebiasaan yang paling menguntungkan ketika skrip menggunakan kembali prompt. Setelah strukturnya berfungsi, tombol berikutnya adalah pesan sistem dan temperature, dibahas di System prompt dan temperature.
Cek cepat
Skrip Anda mengirim instruksi yang sama dengan email baru setiap kali. Di mana email harus diletakkan?
Tampilkan jawaban
Jawaban: Di akhir, setelah instruksi dan contoh
Instruksi tetap sama antar permintaan dan email berubah. Panduan OpenAI menyarankan menempatkan konteks yang bervariasi di dekat akhir prompt.



