MCP Academy · Lezione

Strumenti idempotenti e consapevoli degli effetti collaterali

Renda le chiamate ripetute sicure e prevedibili.

Lezione 3 di 413 passaggi

Strumenti idempotenti e consapevoli degli effetti collaterali è una lezione MCP Academy gratuita su CoddyKit. Questa è la lezione 3 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 MCP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MCP Academy include 4 lezioni in totale.

I modelli possono chiamare due volte

Un client AI può ritentare uno strumento dopo un timeout o una connessione interrotta. Lo strumento potrebbe essere eseguito due volte per un'operazione che l'utente intendeva eseguire una sola volta.

Cosa significa idempotente

Uno strumento è idempotente quando richiamarlo con lo stesso input non apporta ulteriori modifiche. La seconda chiamata è quindi un'operazione vuota sicura.

Le letture sono naturalmente sicure

Gli strumenti di sola lettura, come il recupero di un record, sono già idempotenti. Ripeterli restituisce semplicemente la stessa risposta senza causare danni.

@mcp.tool()
def get_user(id: int) -> dict:
    return db.find(id)

Le scritture richiedono attenzione

Ripetere uno strumento che crea elementi o addebita denaro è rischioso. Un nuovo tentativo alla cieca potrebbe aggiungere una riga duplicata o effettuare un doppio pagamento.

Usare una chiave fornita dal client

Chieda al chiamante una chiave di idempotenza. Se ha già elaborato quella chiave, restituisca il risultato memorizzato invece di eseguire nuovamente l'operazione.

if key in seen:
    return seen[key]
seen[key] = do_work()

Preferire Upsert a Insert

Un upsert scrive o aggiorna in base a un ID stabile, quindi eseguirlo due volte lascia una sola riga, non due. Riunisce i tentativi ripetuti in un unico stato.

INSERT ... ON CONFLICT (id)
DO UPDATE SET ...

Dichiarare chiaramente gli effetti collaterali

Indichi nella descrizione dello strumento se modifica i dati. Il modello decide in modo più oculato quando sa che una chiamata è distruttiva.

Separare gli strumenti di lettura e scrittura

Mantenga distinti uno strumento di query e uno di modifica, invece di usarne uno che a volte scrive. Confini chiari riducono le modifiche accidentali.

Rendere deterministici i risultati

Quando possibile, restituisca lo stesso output per lo stesso input. Risultati prevedibili aiutano i client a memorizzare nella cache e a ragionare sullo strumento.

Controllare prima di agire

Prima di una scrittura, confermi lo stato corrente dell'elemento destinazione. Se la modifica è già stata applicata, segnali il successo senza ripeterla.

if order.status == "shipped":
    return "already shipped"

Racchiudere il lavoro in più passaggi in una transazione

Se uno strumento modifica diverse righe, esegua tutto in un'unica transazione. In caso di nuovo tentativo, l'operazione verrà applicata completamente oppure annullata completamente, mai a metà.

Verifica rapida

Perché l'idempotenza è importante per uno strumento MCP che crea record?

Riepilogo: ripetizioni sicure

Renda le scritture idempotenti con chiavi o upsert, dichiari gli effetti collaterali, separi letture e scritture e utilizzi le transazioni. Prossimo argomento: versionamento. ♻️

Gratis per iniziare

Impara Python 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
30
Lezioni
120

Domande Frequenti

La lezione «Strumenti idempotenti e consapevoli degli effetti collaterali» è gratuita?

Sì — il testo completo di «Strumenti idempotenti e consapevoli degli effetti collaterali» è 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 MCP Academy, passa a CoddyKit PRO. Il corso MCP Academy include 4 lezioni in totale.

Cosa imparerò in «Strumenti idempotenti e consapevoli degli effetti collaterali»?

Renda le chiamate ripetute sicure e prevedibili. Eserciti MCP Academy 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 MCP Academy?

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

Quanto tempo richiede la lezione «Strumenti idempotenti e consapevoli degli effetti collaterali»?

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 MCP Academy?

Sì. Ogni lezione MCP Academy 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. Architettura server a livelli
  2. Configurazione e segreti tramite l'ambiente
  3. Strumenti idempotenti e consapevoli degli effetti collaterali
  4. Versionare strumenti e schemi
← Torna a MCP Academy