Bagian-Bagian Perintah Modular
Pisahkan konteks, instruksi, batasan, dan format keluaran secara rapi.
Bagian-Bagian Perintah Modular adalah pelajaran AI Prompt Engineering gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Prompt Engineering, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Prompt Engineering mencakup 4 pelajaran total.
Masalah dengan Perintah Monolitik
Perintah monolitik memasukkan semuanya ke dalam satu paragraf: latar belakang, tugas, aturan, contoh, dan format keluaran tercampur menjadi satu. Seiring bertambahnya kompleksitas perintah, struktur monolitik menyebabkan:
- Model menerapkan aturan pada bagian yang keliru
- Kesulitan menelusuri bagian mana yang menyebabkan keluaran buruk
- Rangkaian teks perintah yang mustahil dipelihara
- Perilaku yang tidak konsisten di berbagai versi model
Perintah modular mengatasi semua masalah ini.
Lima Bagian Inti Perintah
Perintah yang tersusun dengan baik memiliki lima bagian berbeda, masing-masing dengan tujuan yang jelas:
- Konteks — Latar belakang yang diperlukan model untuk memahami situasi
- Tugas — Hal yang harus dilakukan model, dinyatakan dengan jelas
- Batasan — Aturan dan batasan pada respons
- Format Keluaran — Struktur, panjang, dan skema respons yang diharapkan
- Contoh — Demonstrasi perilaku yang benar
Tidak semua perintah memerlukan kelima bagian. Gunakan hanya yang diperlukan.
Bagian Konteks
Bagian konteks menyediakan informasi latar belakang tanpa memberi tahu model apa yang harus dilakukan. Konteks yang baik mencakup:
- Siapa pengguna akhir
- Platform atau produk yang menjadi tujuan
- Pengetahuan domain yang relevan
- Keadaan sebelumnya yang perlu diketahui model
context_section = '''
<context>
You are assisting a customer support agent at a B2B SaaS company.
The company sells project management software used by engineering teams.
Customers are typically CTOs, engineering managers, or senior developers.
The support agent is handling a live chat conversation with a customer.
</context>
'''
print(context_section)Bagian Tugas
Bagian tugas menyatakan dengan tepat apa yang harus dihasilkan model. Bagian ini harus spesifik, berorientasi tindakan, dan bebas dari informasi latar belakang yang tidak diperlukan.
task_section = '''
<task>
Draft a response to the customer message below.
The response should:
1. Acknowledge the customer's issue
2. Provide a concrete next step
3. Set a realistic expectation for resolution time
</task>
<customer_message>
Our Gantt chart view stopped loading after the last update.
This is blocking our sprint planning session today.
</customer_message>
'''
print(task_section)Bagian Batasan
Batasan menentukan rambu-rambu — hal yang TIDAK boleh dilakukan model dan batasan eksplisit yang harus dipatuhinya.
constraints_section = '''
<constraints>
- Do not promise a fix by a specific date unless you are certain.
- Do not mention competitor products by name.
- Keep the response under 100 words.
- Use a professional but empathetic tone.
- Do not ask the customer for information already provided in their message.
</constraints>
'''
print(constraints_section)Bagian Format Keluaran
Bagian format keluaran memberi tahu model secara tepat cara menyusun responsnya — skema JSON, tajuk markdown, teks biasa, daftar bernomor, dan sebagainya.
output_format_section = '''
<output_format>
Respond with a JSON object containing:
{
"subject": "string (email subject line)",
"body": "string (email body, plain text, under 150 words)",
"priority": "high | medium | low",
"escalate": true | false
}
Do not include any text outside the JSON object.
</output_format>
'''
print(output_format_section)Bagian Contoh
Contoh menunjukkan kepada model pasangan masukan-keluaran yang benar. Letakkan contoh setelah batasan agar model melihat aturan sebelum demonstrasi.
examples_section = '''
<examples>
<example>
<input>Customer: My invoices are not downloading.</input>
<output>{
"subject": "Invoice Download Issue",
"body": "Thank you for reaching out. We see the issue with invoice downloads and our team is investigating. We expect a fix within 2 hours. We will email you once resolved.",
"priority": "high",
"escalate": true
}</output>
</example>
</examples>
'''
print(examples_section)Menyusun Perintah Modular
Pendekatan modular membuat penyusunan dan penyuntingan menjadi mudah. Setiap bagian dapat diubah secara independen.
def build_support_prompt(customer_message):
context = '<context>B2B SaaS customer support for project management software.</context>'
task = f'<task>Draft a JSON response to this customer message.</task>\n<customer_message>{customer_message}</customer_message>'
constraints = '<constraints>Under 100 words. Professional tone. No competitor names.</constraints>'
output_fmt = '<output_format>Return JSON: {"subject": str, "body": str, "priority": str, "escalate": bool}</output_format>'
return '\n\n'.join([context, task, constraints, output_fmt])
message = 'The Gantt chart stopped loading after your last update.'
print(build_support_prompt(message))Manfaat untuk Penelusuran Kesalahan
Ketika perintah modular menghasilkan keluaran yang buruk, Anda dapat mengisolasi bagian yang bermasalah:
- Tugas yang dilakukan keliru? — Periksa bagian Tugas
- Melanggar aturan? — Periksa bagian Batasan
- Struktur keluaran keliru? — Periksa bagian Format Keluaran
- Kualitas buruk? — Periksa bagian Contoh atau tambahkan konteks
Anda dapat mengubah satu bagian pada satu waktu dan menguji ulang tanpa menulis ulang seluruh perintah.
Manfaat untuk Pemeliharaan
Perintah modular yang disimpan sebagai objek terstruktur atau fungsi jauh lebih mudah dipelihara daripada literal string yang panjang:
- Perbarui konteks ketika produk Anda berubah tanpa menyentuh logika tugas
- Ganti format keluaran dari JSON ke markdown tanpa mengubah batasan
- Uji A/B berbagai kumpulan contoh sambil mempertahankan semua hal lainnya
- Kelola versi setiap bagian secara independen
class Prompt:
def __init__(self):
self.context = ''
self.task = ''
self.constraints = []
self.output_format = ''
self.examples = []
def build(self):
parts = []
if self.context:
parts.append(f'<context>\n{self.context}\n</context>')
if self.task:
parts.append(f'<task>\n{self.task}\n</task>')
if self.constraints:
c = '\n'.join(f'- {r}' for r in self.constraints)
parts.append(f'<constraints>\n{c}\n</constraints>')
if self.output_format:
parts.append(f'<output_format>\n{self.output_format}\n</output_format>')
return '\n\n'.join(parts)Kapan Melewati Bagian
Tidak semua perintah memerlukan kelima bagian. Gunakan panduan ini:
- Lewati Konteks ketika tugas sudah dapat dipahami dengan sendirinya (misalnya, terjemahkan kalimat ini)
- Lewati Batasan untuk tugas ekstraksi sederhana tanpa kasus khusus
- Lewati Contoh ketika tugasnya mudah atau model sudah dapat melakukannya dengan baik secara zero-shot
- Selalu sertakan Tugas dan Format Keluaran — keduanya adalah bagian minimum yang layak digunakan
Menentukan terlalu banyak hal pada perintah sederhana hanya menambah gangguan tanpa manfaat.
Pemeriksaan Singkat
Sebuah perintah modular menghasilkan struktur keluaran yang salah. Bagian mana yang harus Anda periksa terlebih dahulu?
Bagian Modular — Inti Pembelajaran
Bagian perintah modular adalah dasar rekayasa perintah yang mudah dipelihara dan ditelusuri kesalahannya:
- Lima bagian inti: Konteks, Tugas, Batasan, Format Keluaran, Contoh
- Setiap bagian memiliki satu tanggung jawab — mencampurkannya menimbulkan kebingungan
- Struktur modular memungkinkan penelusuran kesalahan dan pengujian A/B per bagian
- Simpan perintah sebagai objek terstruktur atau fungsi, bukan string mentah
- Lewati bagian yang tidak diperlukan — menentukan terlalu banyak hal hanya menambah gangguan
- Selalu sertakan setidaknya Tugas dan Format Keluaran untuk setiap perintah yang tidak sepele
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Bagian-Bagian Perintah Modular” gratis?
Ya — teks lengkap “Bagian-Bagian Perintah Modular” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Prompt Engineering, upgrade ke CoddyKit PRO. Kursus AI Prompt Engineering mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Bagian-Bagian Perintah Modular”?
Pisahkan konteks, instruksi, batasan, dan format keluaran secara rapi. Kamu berlatih AI Prompt Engineering dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Prompt Engineering?
Tidak diperlukan pengalaman sebelumnya. AI Prompt Engineering di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Bagian-Bagian Perintah Modular” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Prompt Engineering ini?
Ya. Setiap pelajaran AI Prompt Engineering menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menggunakan Tag XML sebagai Pembatas
- Bagian-Bagian Perintah Modular
- Pola Perintah Header-Isi-Footer
- Praktik Terbaik Pengorganisasian Perintah