0Pricing
AI Prompt Engineering · Ders

Boşluk Doldurma Kalıpları Oluşturma

Python'da {{variable}} yer tutucularını ve dize değiştirmeyi kullanın.

Boşluk Doldurma Kalıpları Oluşturma, CoddyKit'te ücretsiz bir AI Prompt Engineering dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Prompt Engineering öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Prompt Engineering kursu toplamda 4 dersten oluşur.

Yer Tutucu Kullanım Kuralı

Doldurulabilir boşluklu bir istem kalıbı, modele gönderilmeden önce gerçek değerlerle değiştirilecek istem bölümlerini işaretlemek için yer tutucular kullanır.

En yaygın yer tutucu kuralı çift küme parantezidir: {{variable_name}}. Bu kuralın okunması kolaydır, normal metinlerde yanlışlıkla görülme olasılığı düşüktür ve şablonlama kitaplıkları tarafından yaygın biçimde desteklenir.

Karşılaşacağınız diğer kurallar şunlardır: tek küme parantezi {variable}, köşeli ayraçlar <variable> ve ALL_CAPS değişkenleri. Birini seçin ve tutarlı olun.

Temel Yer Tutucu İkamesi

En basit boşluk doldurma kalıbı, doğrudan dize ikamesidir:

Şablon: "{{kelime_sayisi}} kelimelik bir {{urun}} açıklamasını {{hedef_kitle}} için yazın."

Dize modele gönderilmeden önce ikame gerçekleşir — model, yer tutucu işaretleri içermeyen temiz ve eksiksiz bir istem görür. Yer tutucular bir ön işleme adımıdır; modelin kendisinin ele aldığı bir şey değildir.

Yaygın Yer Tutucu Kategorileri

Çoğu kullanım alanını kapsayan standart yer tutucu kategorilerini kullanarak şablonlarınızı oluşturun:

  • {{customer_name}} — alıcının veya konunun adı
  • {{product}} — hakkında yazılan ürün, hizmet veya konu
  • {{tone}} — örneğin profesyonel, gündelik, acil veya coşkulu
  • {{audience}} — içeriğin kime yönelik olduğu
  • {{word_count}} — hedef uzunluk
  • {{format}} — madde işaretleri, paragraflar veya numaralı liste
  • {{context}} — bu örneğe özgü arka plan bilgileri

Şablonlar arasında tutarlı adlandırma kullanmak, kütüphanenizde gezinmeyi kolaylaştırır ve hataları azaltır.

Python Dizesinde format ile Yer Tutucu İkamesi

Python'ın yerleşik dize .format() yöntemi, {variable} söz dizimini kullanarak yer tutucuları doldurmanın basit bir yoludur:

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)

Python f Dizeleri Yaklaşımı

Python f dizeleri, bazı geliştiricilerin okunabilirliği nedeniyle tercih ettiği satır içi bir ikame söz dizimi sağlar:

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'
))

Yer Tutuculardaki Özel Karakterleri Ele Alma

Yaygın bir hata: süslü ayraçlar, tırnak işaretleri veya satır sonları içeren kullanıcı değerleri dize ikamesini bozabilir.

Koruyucu yaklaşımlar:

  • İkame işleminden önce girdileri temizleyin — gerektiğinde özel karakterleri kaldırın veya kaçışlayın
  • Yeni satırları güvenli biçimde ele almak için çok satırlı şablonlarda üç tırnaklı dizeler kullanın
  • Değişken değerinin kendisi süslü ayraçlar içerdiğinde (ör. kod), değişken değerini düz metin olarak ele alan bir yaklaşım kullanın (Jinja2 bunu iyi yapar)

Şablonunuzu uç durum girdileriyle her zaman sınayın: boş dizeler, tırnak işareti içeren dizeler, satır sonları içeren dizeler ve çok uzun dizeler.

Şablonlarda Varsayılan Değerler

Tüm değişkenlerin zorunlu olması gerekmez. İsteğe bağlı parametreler için varsayılan değerler kullanıldığında şablonlar daha esnek hâle gelir:

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'))

Çok Bloklu Şablonlar

Karmaşık istemlerde birden çok değişken bloğu bulunabilir — her birinin kendi yer tutucuları olan bir sistem istemi bloğu ve bir kullanıcı mesajı bloğu:

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

Oluşturmadan Önce Yer Tutucuları Doğrulama

İstemi göndermeden önce gerekli tüm yer tutucuların doldurulduğunu her zaman doğrulayın. Eksik bir yer tutucu, modelin {{product}} gibi düz metin almasına ve tuhaf bir çıktı üretmesine neden olabilir:

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'}}

Koşullu Şablon Blokları

Bazen bir şablon bölümü yalnızca bir değişken sağlanmışsa görünmelidir. Python'da bunu koşullu dize oluşturma ile uygulayabilirsiniz:

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'
))

Sabit Seçenekli Değişkenler

Bazı şablon değişkenleri geçerli seçeneklerden oluşan sabit bir kümeyle sınırlandırılmalıdır. Bunu numaralandırma tarzı bir doğrulamayla zorunlu kılın:

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

Bilgi Kontrolü: Boşluk Doldurma Kalıpları

Şu şablona sahipsiniz: 'Write a {tone} email to {recipient} about {topic}. Length: {word_count} words.'

Şablonu şu şekilde çağırıyorsunuz: tone='formal', recipient='the team', word_count=100 — ancak topic parametresini unutuyorsunuz.

Ne olur?

Özet: Boşluk Doldurma Kalıpları Oluşturma

Boşluk doldurma istem kalıpları, yeniden kullanılabilir bir şablonun değişken bölümlerini işaretlemek için yer tutucular ({{variable}}, {variable} veya benzerleri) kullanır. Python'ın .format() ve f dizeleri, en yaygın ikame mekanizmalarıdır.

En iyi uygulamalar: oluşturma işleminden önce gerekli tüm yer tutucuları doğrulayın, isteğe bağlı değişkenler için varsayılan değerler kullanın, numaralandırılmış değişkenleri sınırlandırın ve uç durum girdilerini (boş dizeler, özel karakterler) koruyucu biçimde ele alın.

Sonraki derste, daha güçlü değişken ikamesi ihtiyaçları için Jinja2'yi ve Python'ın string.Template'ını inceleyeceksiniz.

Sıkça Sorulan Sorular

“Boşluk Doldurma Kalıpları Oluşturma” dersi ücretsiz mi?

Evet — “Boşluk Doldurma Kalıpları Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Prompt Engineering kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Prompt Engineering kursu toplamda 4 dersten oluşur.

“Boşluk Doldurma Kalıpları Oluşturma” dersinde ne öğreneceğim?

Python'da {{variable}} yer tutucularını ve dize değiştirmeyi kullanın. AI Prompt Engineering ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Prompt Engineering öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Prompt Engineering, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Boşluk Doldurma Kalıpları Oluşturma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Prompt Engineering dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Prompt Engineering dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İstem Şablonu Nedir?
  2. Boşluk Doldurma Kalıpları Oluşturma
  3. Değişken Değiştirme Teknikleri
  4. Şablonları Farklı Görevlerde Yeniden Kullanma
← AI Prompt Engineering Sayfasına Dön