AI Prompt Engineering · Lezione

Che cos'è il prompt chaining?

Il concetto di esecuzione sequenziale dei prompt e passaggio delle informazioni

Lezione 1 di 413 passaggi

Che cos'è il prompt chaining? è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Prompt Engineering, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Prompt Engineering include 4 lezioni in totale.

Il limite di un singolo prompt

Un singolo prompt può fare molto, ma ha dei limiti. I compiti complessi che richiedono più sottoattività specializzate, un contesto molto lungo o un perfezionamento iterativo spesso superano ciò che un singolo prompt può svolgere in modo affidabile.

Segnali che indicano che ha raggiunto il limite del prompt singolo:

  • Il modello salta passaggi in un'attività in più fasi
  • La qualità diminuisce nelle parti finali di un'attività lunga
  • L'output è troppo lungo per entrare in un'unica finestra di contesto
  • Parti diverse del compito richiedono competenze o toni differenti

Che cos'è il prompt chaining?

Il prompt chaining è un'esecuzione sequenziale in cui l'output di ogni prompt diventa l'input del prompt successivo. Invece di affidare tutto a un unico prompt molto grande, si suddivide il compito in passaggi specializzati.

Passaggio 1 → output → Passaggio 2 → output → Passaggio 3 → risultato finale

Ogni passaggio può essere ottimizzato indipendentemente, utilizzare modelli diversi o applicare vincoli diversi.

Un semplice esempio di chaining

Consideri la scrittura di un post per un blog. Invece di un solo prompt, ne concatena tre:

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

Quando il prompt chaining è utile: complessità del compito

Il prompt chaining dà il meglio di sé quando un compito è troppo complesso per essere gestito con elevata qualità da un singolo prompt. Suddividere la complessità in passaggi specializzati permette a ogni passaggio di eccellere nel proprio compito specifico.

Esempio: analisi su larga scala del feedback dei clienti

  • Passaggio 1: estrarre tutti i problemi menzionati (estrazione)
  • Passaggio 2: categorizzare ogni problema (classificazione)
  • Passaggio 3: stabilire le priorità in base a frequenza e gravità (ranking)
  • Passaggio 4: redigere un riepilogo esecutivo (sintesi)

Ogni passaggio utilizza un prompt mirato, ottimizzato per la propria sottoattività.

Quando il prompt chaining è utile: qualità attraverso la specializzazione

I prompt specializzati superano i prompt generalisti nella rispettiva sottoattività. Una chain consente di utilizzare lo stile di prompt più adatto a ogni fase:

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

Quando il prompt chaining è utile: limiti della finestra di contesto

Anche con finestre di contesto ampie (oltre 100.000 token), elaborare documenti molto lunghi in un'unica soluzione riduce la qualità a causa dell'effetto lost-in-the-middle. Il chaining offre una soluzione:

  • Passaggio 1: elaborare ogni blocco indipendentemente → produrre un riepilogo o un'estrazione per ogni blocco
  • Passaggio 2: combinare gli output dei blocchi → sintetizzare una risposta finale

Questo pattern map-reduce è una strategia fondamentale di prompt chaining per i documenti lunghi.

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

Chain sincrone e parallele

Le chain non sono sempre lineari. Alcuni passaggi possono essere eseguiti in parallelo quando sono indipendenti:

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

Chain e agenti

Le chain di prompt e gli agenti IA sono concetti correlati, ma diversi:

  • Chain: flusso predefinito e deterministico. La sequenza dei passaggi è fissa. Più facili da testare, sottoporre a debug e prevedere.
  • Agenti: flusso dinamico. Il modello decide il passaggio successivo in base all'output. Più flessibili, ma più difficili da controllare e sottoporre a debug.

Nella maggior parte dei casi d'uso in produzione, inizi dalle chain. Utilizzi gli agenti solo quando il compito è realmente aperto e la struttura della chain non può essere determinata in anticipo.

Considerazioni sui costi delle chain

Ogni passaggio di una chain è una chiamata API separata, con il relativo costo. Progetti le chain tenendo conto dei costi:

  • Utilizzi modelli più economici/più piccoli per i passaggi semplici (estrazione, classificazione)
  • Riservi i modelli costosi (GPT-4o, Claude Opus) ai passaggi che richiedono capacità di ragionamento avanzate
  • Memorizzi nella cache i risultati intermedi per evitare di rieseguire passaggi costosi su input identici
  • Interrompa rapidamente — convalidi l'output di ogni passaggio prima di passarlo a quello successivo
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

Documentare la propria chain

Una chain ben documentata è facile da manutenere. Utilizzi una struttura semplice per descrivere ogni passaggio:

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

Chain reale: analisi della concorrenza

Una chain pratica in tre passaggi per l'analisi della concorrenza:

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

Verifica rapida

Quale scenario è più adatto al prompt chaining rispetto a un singolo prompt?

Prompt chaining — Punti chiave

Il prompt chaining è la base dei sistemi di IA in produzione:

  • Esecuzione sequenziale in cui ogni output alimenta il prompt successivo come input
  • Consente la specializzazione — ogni passaggio utilizza un prompt ottimizzato per la propria sottoattività
  • Risolve i limiti della finestra di contesto tramite pattern map-reduce
  • I passaggi indipendenti possono essere eseguiti in parallelo per ridurre la latenza
  • Più prevedibile e facile da sottoporre a debug rispetto ai sistemi completamente agentici
  • Ottimizzi i costi utilizzando modelli più economici per i passaggi semplici e modelli costosi per il ragionamento complesso
  • Documenti sempre la chain con ID dei passaggi, specifiche di input/output e assegnazioni dei modelli
Gratis per iniziare

Impara AI Prompt Engineering con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
53
Lezioni
199

Domande Frequenti

La lezione «Che cos'è il prompt chaining?» è gratuita?

Sì — il testo completo di «Che cos'è il prompt chaining?» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Prompt Engineering, passa a CoddyKit PRO. Il corso AI Prompt Engineering include 4 lezioni in totale.

Cosa imparerò in «Che cos'è il prompt chaining?»?

Il concetto di esecuzione sequenziale dei prompt e passaggio delle informazioni Eserciti AI Prompt Engineering con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare AI Prompt Engineering?

Non è richiesta alcuna esperienza precedente. AI Prompt Engineering su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Che cos'è il prompt chaining?»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione AI Prompt Engineering?

Sì. Ogni lezione AI Prompt Engineering include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Che cos'è il prompt chaining?
  2. Schemi da output a input
  3. Catene di trasformazione sequenziali
  4. Gestione degli errori nelle catene di prompt
← Torna a AI Prompt Engineering