0Pricing
AI Prompt Engineering · Pelajaran

Membuat Pola Isian

Gunakan placeholder {{variable}} dan substitusi string dalam Python.

Membuat Pola Isian 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.

Konvensi Placeholder

Pola prompt isian menggunakan placeholder untuk menandai bagian prompt yang akan diganti dengan nilai nyata sebelum dikirim ke model.

Konvensi placeholder yang paling umum adalah kurung kurawal ganda: {{variable_name}}. Konvensi ini mudah dibaca, kecil kemungkinannya muncul secara tidak sengaja dalam teks biasa, dan didukung secara luas oleh pustaka templat.

Konvensi lain yang akan Anda temui: kurung kurawal tunggal {variable}, kurung sudut <variable>, dan variabel dengan HURUF_KAPITAL. Pilih satu dan gunakan secara konsisten.

Substitusi Placeholder Dasar

Pola isian yang paling sederhana adalah substitusi string secara langsung:

Templat: "Write a {{word_count}}-word description of {{product}} for {{audience}}."

Hasil pengisian: "Write a 150-word description of TaskFlow Pro for small business owners."

Substitusi dilakukan sebelum string dikirim ke model — model menerima prompt yang bersih dan lengkap tanpa penanda placeholder. Placeholder merupakan langkah prapemrosesan, bukan sesuatu yang ditangani oleh model itu sendiri.

Kategori Placeholder Umum

Bangun templat Anda menggunakan kategori placeholder standar yang mencakup sebagian besar kebutuhan:

  • {{customer_name}} — nama penerima atau subjek
  • {{product}} — produk, layanan, atau topik yang sedang dibahas
  • {{tone}} — misalnya profesional, santai, mendesak, antusias
  • {{audience}} — pihak yang dituju oleh konten
  • {{word_count}} — panjang yang ditargetkan
  • {{format}} — poin-poin, paragraf, daftar bernomor
  • {{context}} — informasi latar belakang yang khusus untuk konteks ini

Penamaan yang konsisten di seluruh templat membuat pustaka Anda lebih mudah dijelajahi dan mengurangi kesalahan.

Substitusi Format String Python

Metode string bawaan Python, .format(), adalah cara sederhana untuk mengisi placeholder menggunakan sintaks {variable}:

import openai

client = openai.OpenAI(api_key='sk-...')

EMAIL_TEMPLATE = '''Write a follow-up email from {sender_name} to {recipient_name}.
Context: {context}
Tone: {tone}
Length: {word_count} words.
Include a clear call to action: {cta}.
Do not mention competitors. Active voice. No bullet points.'''

def generate_email(sender, recipient, context, tone, word_count, cta):
    prompt = EMAIL_TEMPLATE.format(
        sender_name=sender,
        recipient_name=recipient,
        context=context,
        tone=tone,
        word_count=word_count,
        cta=cta
    )

    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': prompt}]
    )
    return response.choices[0].message.content

result = generate_email(
    sender='Sarah Chen',
    recipient='Mr. Patel',
    context='We met at the DevConf conference last week and discussed API integration.',
    tone='warm and professional',
    word_count=120,
    cta='Schedule a 20-minute demo call'
)
print(result)

Pendekatan f-string Python

f-string Python menyediakan sintaks substitusi sebaris yang disukai sebagian pengembang karena mudah dibaca:

import openai

client = openai.OpenAI(api_key='sk-...')

def generate_product_description(product, audience, tone, word_count, key_benefit):
    prompt = (
        f'Write a product description for {product}, designed for {audience}. '
        f'Tone: {tone}. '
        f'Length: {word_count} words. '
        f'Lead with this key benefit: {key_benefit}. '
        'Active voice. No bullet points. No pricing mentions.'
    )

    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': prompt}]
    )
    return response.choices[0].message.content

print(generate_product_description(
    product='FocusFlow, a time-blocking productivity app',
    audience='freelancers and independent consultants',
    tone='energetic and practical',
    word_count=150,
    key_benefit='Reclaim two hours every day by blocking distractions automatically'
))

Menangani Karakter Khusus dalam Placeholder

Kesalahan yang umum terjadi: nilai yang diberikan pengguna dan mengandung kurung kurawal, tanda kutip, atau baris baru dapat merusak substitusi string.

Pendekatan defensif:

  • Bersihkan input sebelum substitusi — hapus atau lakukan escape pada karakter khusus jika diperlukan
  • Gunakan string yang diapit tiga tanda kutip untuk templat multibaris agar baris baru dapat ditangani dengan aman
  • Jika nilai variabel itu sendiri mengandung kurung kurawal (misalnya kode), gunakan pendekatan yang memperlakukan nilai variabel sebagai teks literal (Jinja2 menanganinya dengan baik)

Selalu uji templat Anda dengan input kasus khusus: string kosong, string yang mengandung tanda kutip, string dengan baris baru, dan string yang sangat panjang.

Nilai Bawaan dalam Templat

Tidak semua variabel harus diwajibkan. Templat menjadi lebih fleksibel dengan nilai bawaan untuk parameter opsional:

def build_prompt(product, audience, tone='professional and friendly', word_count=200, format_style='prose'):
    format_instruction = {
        'prose': 'Write in continuous paragraphs. No bullet points.',
        'bullets': 'Use bullet points. Each point is one sentence.',
        'numbered': 'Use a numbered list. Each item is one sentence.'
    }.get(format_style, 'Write in continuous paragraphs.')

    return (
        f'Write a description of {product} for {audience}. '
        f'Tone: {tone}. '
        f'Length: {word_count} words. '
        f'{format_instruction} '
        'Active voice. No competitor mentions.'
    )

# Minimal call — uses all defaults
print(build_prompt('Notion', 'students'))

# Full call — overrides defaults
print(build_prompt('Notion', 'students', tone='casual', word_count=100, format_style='bullets'))

Templat dengan Banyak Blok

Prompt yang kompleks dapat memiliki beberapa blok variabel — blok prompt sistem dan blok pesan pengguna, masing-masing dengan placeholdernya sendiri:

SYSTEM_TEMPLATE = 'You are a {role} writing for {company}. Your audience is {audience}. Style: {style}.'

USER_TEMPLATE = 'Write a {content_type} about {topic}. Length: {word_count} words. Deadline tone: {urgency}.'

import openai

client = openai.OpenAI(api_key='sk-...')

def generate(role, company, audience, style, content_type, topic, word_count, urgency):
    system_msg = SYSTEM_TEMPLATE.format(
        role=role, company=company, audience=audience, style=style
    )
    user_msg = USER_TEMPLATE.format(
        content_type=content_type, topic=topic,
        word_count=word_count, urgency=urgency
    )

    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[
            {'role': 'system', 'content': system_msg},
            {'role': 'user', 'content': user_msg}
        ]
    )
    return response.choices[0].message.content

Memvalidasi Placeholder Sebelum Merender

Selalu validasikan bahwa semua placeholder yang diwajibkan telah diisi sebelum mengirim prompt. Placeholder yang tidak diisi berarti model menerima teks literal seperti {{product}} dan mungkin menghasilkan keluaran yang aneh:

import re

def validate_template(template_str, provided_vars):
    required = set(re.findall(r'\{\{(\w+)\}\}', template_str))
    missing = required - set(provided_vars.keys())

    if missing:
        raise ValueError(f'Missing required template variables: {missing}')

    return True

template = 'Write a {{word_count}}-word {{tone}} description of {{product}} for {{audience}}.'
vars_provided = {'word_count': 150, 'tone': 'friendly', 'product': 'TaskFlow'}

try:
    validate_template(template, vars_provided)
except ValueError as e:
    print(f'Template error: {e}')
    # Output: Template error: Missing required template variables: {{'audience'}}

Blok Templat Kondisional

Terkadang suatu bagian templat hanya boleh ditampilkan jika sebuah variabel diberikan. Anda dapat menerapkannya di Python dengan membangun string secara kondisional:

def build_report_prompt(topic, audience, word_count, include_recommendations=False, cta=None):
    prompt = f'Write a report on {topic} for {audience}. Length: {word_count} words. Active voice.'

    if include_recommendations:
        prompt += ' End with a numbered list of 3 specific recommendations.'

    if cta:
        prompt += f' Close with this call to action: {cta}'

    return prompt

# Without optional sections
print(build_report_prompt('cloud cost optimization', 'engineering managers', 400))

# With optional sections
print(build_report_prompt(
    topic='cloud cost optimization',
    audience='engineering managers',
    word_count=600,
    include_recommendations=True,
    cta='Book a cost audit with our team at cloudcost.io'
))

Variabel Pilihan Terbatas

Beberapa variabel templat harus dibatasi pada sekumpulan opsi valid yang tetap. Terapkan hal ini dengan validasi bergaya enumerasi:

VALID_TONES = ['professional', 'casual', 'urgent', 'empathetic', 'enthusiastic']
VALID_FORMATS = ['prose', 'bullets', 'numbered', 'table']

def generate_content(topic, tone, format_style, word_count):
    if tone not in VALID_TONES:
        raise ValueError(f'Invalid tone: {tone}. Choose from: {VALID_TONES}')
    if format_style not in VALID_FORMATS:
        raise ValueError(f'Invalid format: {format_style}. Choose from: {VALID_FORMATS}')

    format_map = {
        'prose': 'continuous paragraphs, no lists',
        'bullets': 'bullet points',
        'numbered': 'numbered list',
        'table': 'a markdown table'
    }

    prompt = (f'Write about {topic} in {tone} tone. '
              f'Format: {format_map[format_style]}. '
              f'Length: {word_count} words. Active voice.')

    return prompt

Uji Pemahaman: Pola Isian

Anda memiliki templat berikut: 'Write a {tone} email to {recipient} about {topic}. Length: {word_count} words.'

Anda memanggilnya dengan: tone='formal', recipient='the team', word_count=100 — tetapi lupa memberikan parameter topic.

Apa yang terjadi?

Ringkasan: Membuat Pola Isian

Pola prompt isian menggunakan placeholder ({{variable}}, {variable}, atau bentuk serupa) untuk menandai bagian variabel dalam templat yang dapat digunakan kembali. .format() Python dan f-string merupakan mekanisme substitusi yang paling umum.

Praktik terbaik: validasikan semua placeholder yang diwajibkan sebelum merender, gunakan nilai bawaan untuk variabel opsional, batasi variabel enumerasi, dan tangani input kasus khusus (string kosong, karakter khusus) secara defensif.

Dalam pelajaran berikutnya, Anda akan mempelajari Jinja2 dan string.Template Python untuk kebutuhan substitusi variabel yang lebih canggih.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membuat Pola Isian” gratis?

Ya — teks lengkap “Membuat Pola Isian” 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 “Membuat Pola Isian”?

Gunakan placeholder {{variable}} dan substitusi string dalam Python. 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 “Membuat Pola Isian” 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

  1. Apa Itu Templat Perintah?
  2. Membuat Pola Isian
  3. Teknik Substitusi Variabel
  4. Menggunakan Ulang Templat untuk Berbagai Tugas
← Kembali ke AI Prompt Engineering