0Pricing
AI Prompt Engineering · Ders

İstem Zincirleme Nedir?

Sıralı istem yürütme ve bilgi aktarımı kavramını öğrenin.

İstem Zincirleme Nedir?, CoddyKit'te ücretsiz bir AI Prompt Engineering dersidir. Bu, 4 dersinin 1. 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.

Tek İstem Sınırı

Tek bir istem çok şey yapabilir, ancak sınırları vardır. Birden fazla uzmanlaşmış alt görev, çok uzun bağlam veya yinelemeli iyileştirme gerektiren karmaşık görevler, çoğu zaman tek bir istemin güvenilir biçimde yapabileceklerini aşar.

Tek istem sınırına ulaştığınızı gösteren işaretler:

  • Model, birden fazla adımdan oluşan görevde adımları atlar
  • Uzun bir görevin sonraki bölümlerinde kalite düşer
  • Çıktı, tek bir bağlam penceresine sığmayacak kadar uzundur
  • Görevin farklı bölümleri farklı uzmanlık veya üsluplar gerektirir

İstem Zinciri Nedir?

İstem zincirleme, her istemin çıktısının sonraki istemin girdisi hâline geldiği sıralı yürütmedir. Her şeyi yapmaya çalışan tek bir büyük istem kullanmak yerine görevi uzmanlaşmış adımlara bölersiniz.

1. adım → çıktı → 2. adım → çıktı → 3. adım → nihai sonuç

Her adım bağımsız olarak iyileştirilebilir, farklı modeller kullanabilir veya farklı kısıtlamalar uygulayabilir.

Basit Bir Zincirleme Örneği

Bir blog yazısı yazdığınızı düşünün. Tek bir istem kullanmak yerine üçünü zincirlersiniz:

import anthropic

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

def call(prompt):
    r = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=1000,
        messages=[{'role': 'user', 'content': prompt}]
    )
    return r.content[0].text

# Step 1: Generate outline
outline = call('Create a 5-point outline for a blog post about prompt engineering for beginners.')

# Step 2: Expand outline into draft
draft = call(f'Write a full blog post based on this outline:\n\n{outline}')

# Step 3: Edit for clarity
final = call(f'Edit this blog post for clarity and conciseness. Remove jargon:\n\n{draft}')

print(final[:500])

Zincirleme Ne Zaman Yardımcı Olur: Görev Karmaşıklığı

Zincirleme, tek bir istemin yüksek kalitede işleyemeyeceği kadar karmaşık görevlerde başarılıdır. Karmaşıklığı uzmanlaşmış adımlara bölmek, her adımın kendi dar görevinde başarılı olmasını sağlar.

Örnek: Müşteri geri bildirimlerini geniş ölçekte analiz etme

  • 1. adım: Belirtilen tüm sorunları çıkarma (çıkarma)
  • 2. adım: Her sorunu kategorilere ayırma (sınıflandırma)
  • 3. adım: Sıklık ve önem derecesine göre önceliklendirme (sıralama)
  • 4. adım: Yönetici özeti yazma (sentez)

Her adım, kendi alt görevi için iyileştirilmiş odaklı bir istem kullanır.

Zincirleme Ne Zaman Yardımcı Olur: Uzmanlaşma Yoluyla Kalite

Uzmanlaşmış istemler, kendi özel alt görevlerinde genel amaçlı istemlerden daha iyi performans gösterir. Bir zincir, her aşama için doğru istem tarzını kullanmanıza olanak tanır:

# Each step uses a prompt optimized for its role

step1_prompt_template = '''
<task>Extract all named entities from the text below. Return JSON:
{"people": [], "companies": [], "locations": []}</task>
<text>{text}</text>
'''

step2_prompt_template = '''
<task>For each company in the list below, classify it as:
startup, enterprise, government, or nonprofit.
Return JSON: [{"company": str, "type": str}]</task>
<companies>{companies}</companies>
'''

# Each prompt is simpler, more focused, and easier to debug
# than a single prompt trying to do both tasks at once.
print('Specialized prompts per step.')

Zincirleme Ne Zaman Yardımcı Olur: Bağlam Penceresi Sınırları

Büyük bağlam pencerelerinde (100K+ belirteç) bile çok uzun belgeleri tek seferde işlemek, ortada-kaybolma etkisi nedeniyle kaliteyi düşürür. Zincirleme bir çözüm sunar:

  • 1. adım: Her parçayı bağımsız olarak işleyin → parça başına bir özet veya çıkarım üretin
  • 2. adım: Parça çıktılarını birleştirin → nihai bir yanıt sentezleyin

Bu haritala-indirge kalıbı, uzun belgeler için temel bir zincirleme stratejisidir.

def map_reduce_summarize(document, chunk_size=3000):
    chunks = [document[i:i+chunk_size] for i in range(0, len(document), chunk_size)]

    # Map: summarize each chunk
    summaries = []
    for i, chunk in enumerate(chunks):
        summary = call(f'Summarize this section of a document in 3 bullet points:\n\n{chunk}')
        summaries.append(summary)

    # Reduce: synthesize all summaries
    combined = '\n\n'.join(f'Section {i+1}:\n{s}' for i, s in enumerate(summaries))
    final = call(f'Combine these section summaries into a single executive summary:\n\n{combined}')
    return final

Senkron ve Paralel Zincirler

Zincirler her zaman doğrusal değildir. Bazı adımlar bağımsız olduklarında paralel olarak çalıştırılabilir:

import concurrent.futures

def parallel_step(topics):
    # Each topic can be researched in parallel — they do not depend on each other
    def research_topic(topic):
        return call(f'List 5 key facts about: {topic}')

    with concurrent.futures.ThreadPoolExecutor() as executor:
        results = list(executor.map(research_topic, topics))

    # Then synthesize in a sequential step
    combined = '\n\n'.join(f'{t}:\n{r}' for t, r in zip(topics, results))
    synthesis = call(f'Write a comparative analysis of these topics:\n\n{combined}')
    return synthesis

print('Parallel steps can reduce total latency.')

Zincirler ve Aracılar

İstem zincirleri ve yapay zekâ aracıları birbiriyle ilişkilidir, ancak farklıdır:

  • Zincirler: Önceden tanımlanmış, belirlenimci akış. Adım dizisi sabittir. Sınanması, hatalarının ayıklanması ve öngörülmesi daha kolaydır.
  • Aracılar: Dinamik akış. Model, çıktıya göre sonraki adıma karar verir. Daha esnektir, ancak denetlenmesi ve hatalarının ayıklanması daha zordur.

Çoğu üretim kullanım senaryosu için zincirlerle başlayın. Aracıları yalnızca görev gerçekten açık uçlu olduğunda ve zincir yapısı önceden belirlenemediğinde kullanın.

Zincirlerde Maliyet Hususları

Bir zincirdeki her adım, kendine ait bir maliyeti olan ayrı bir API çağrısıdır. Zincirleri maliyet bilinciyle tasarlayın:

  • Basit adımlar için (çıkarma, sınıflandırma) daha ucuz/küçük modeller kullanın
  • Pahalı modelleri (GPT-4o, Claude Opus) yüksek düzeyde akıl yürütme gerektiren adımlara ayırın
  • Aynı girdilerde pahalı adımları yeniden çalıştırmamak için ara sonuçları önbelleğe alın
  • Hızlı başarısız olun — sonraki adıma aktarmadan önce her adımın çıktısını doğrulayın
import anthropic
import functools

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

@functools.lru_cache(maxsize=128)
def cached_call(prompt, model='claude-haiku-4-5'):
    r = client.messages.create(
        model=model,
        max_tokens=500,
        messages=[{'role': 'user', 'content': prompt}]
    )
    return r.content[0].text

# Cheap model for extraction, expensive for synthesis
def smart_chain(text):
    entities = cached_call(f'Extract entities from: {text}', model='claude-haiku-4-5')
    synthesis = cached_call(f'Analyze these entities: {entities}', model='claude-opus-4-5')
    return synthesis

Zincirinizi Belgeleme

İyi belgelenmiş bir zincirin bakımı kolaydır. Her adımı açıklamak için basit bir yapı kullanın:

chain_spec = {
    'name': 'Blog Post Generator',
    'steps': [
        {
            'id': 'step_1',
            'name': 'Outline Generation',
            'model': 'claude-haiku-4-5',
            'input': 'topic (string)',
            'output': 'outline (string, 5 bullet points)',
            'prompt_template': 'outline_prompt.txt'
        },
        {
            'id': 'step_2',
            'name': 'Draft Writing',
            'model': 'claude-opus-4-5',
            'input': 'outline from step_1',
            'output': 'draft (string, ~800 words)',
            'prompt_template': 'draft_prompt.txt'
        },
        {
            'id': 'step_3',
            'name': 'Editorial Polish',
            'model': 'claude-haiku-4-5',
            'input': 'draft from step_2',
            'output': 'final post (string)',
            'prompt_template': 'polish_prompt.txt'
        }
    ]
}

print('Chain documented with step specs.')

Gerçek Dünya Zinciri: Rekabet Analizi

Rekabet analizi için üç adımlı pratik bir zincir:

def competitive_analysis_chain(competitor_list, product_description):
    # Step 1: Research each competitor (parallel)
    def research(competitor):
        return call(f'List key features, pricing model, and target market for: {competitor}')

    with concurrent.futures.ThreadPoolExecutor() as ex:
        research_results = dict(zip(competitor_list, ex.map(research, competitor_list)))

    # Step 2: Compare against our product
    comparison_input = '\n\n'.join(f'{k}:\n{v}' for k, v in research_results.items())
    comparison = call(f'Compare these competitors against our product:\nOur product: {product_description}\n\nCompetitors:\n{comparison_input}')

    # Step 3: Strategic recommendations
    recommendations = call(f'Based on this competitive analysis, provide 3 strategic recommendations:\n\n{comparison}')
    return recommendations

Hızlı Kontrol

Tek bir istem yerine istem zincirleme için hangi senaryo daha uygundur?

İstem Zincirleme — Temel Çıkarımlar

İstem zincirleme, üretim yapay zekâ sistemlerinin temelidir:

  • Her çıktının sonraki isteme girdi olarak aktarıldığı sıralı yürütme
  • Uzmanlaşmayı mümkün kılar — her adım, kendi dar alt görevi için iyileştirilmiş bir istem kullanır
  • Haritala-indirge kalıplarıyla bağlam penceresi sınırlarını çözer
  • Bağımsız adımlar, gecikmeyi azaltmak için paralel çalıştırılabilir
  • Tamamen aracı tabanlı sistemlere göre daha öngörülebilir ve hataları daha kolay ayıklanabilir
  • Basit adımlar için daha ucuz, karmaşık akıl yürütme için daha pahalı modeller kullanarak maliyetleri iyileştirin
  • Zincirinizi her zaman adım kimlikleri, girdi/çıktı özellikleri ve model atamalarıyla belgeleyin

Sıkça Sorulan Sorular

“İstem Zincirleme Nedir?” dersi ücretsiz mi?

Evet — “İstem Zincirleme Nedir?” 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.

“İstem Zincirleme Nedir?” dersinde ne öğreneceğim?

Sıralı istem yürütme ve bilgi aktarımı kavramını öğrenin. 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 1. dersidir.

“İstem Zincirleme Nedir?” 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 Zincirleme Nedir?
  2. Çıktıdan Girdiye Kalıplar
  3. Sıralı Dönüşüm Zincirleri
  4. İstem Zincirlerinde Hata Yönetimi
← AI Prompt Engineering Sayfasına Dön