Plugin e funzioni di Semantic Kernel spiegati per sviluppatori .NET e Python
By Mirko Peters ·
Scopri come i plugin e le funzioni di Semantic Kernel collegano il codice personalizzato ai modelli di AI in modo sicuro. Padroneggia descrizioni, OpenAPI, server MCP e limiti degli strumenti.
Automatically translated with AI from the original post. Read the English original

I plugin e le funzioni di Semantic Kernel costituiscono i mattoni che permettono ai modelli linguistici di interagire in modo sicuro con software esterni. Associando descrizioni in linguaggio naturale al codice personalizzato, gli sviluppatori possono consentire ai modelli di AI di scoprire, pianificare ed eseguire automaticamente funzioni aziendali senza codificare la logica in modo rigido e senza rischiare un'esposizione diretta del database.
Punti chiave
- I plugin di Semantic Kernel raggruppano funzioni correlate per esporre direttamente ai modelli linguistici di grandi dimensioni le capacità del software personalizzato.
- Le descrizioni delle funzioni sono istruzioni fondamentali per l'AI; descrizioni vaghe o scritte male portano il modello a fare supposizioni errate o a fallire del tutto.
- I plugin possono essere scritti nativamente in C#, Python o Java, importati tramite specifiche OpenAPI oppure integrati tramite server Model Context Protocol (MCP).
- Incapsulare connessioni al database e client web all'interno dei plugin impedisce al modello di AI di accedere direttamente all'infrastruttura sensibile.
- Seguire le raccomandazioni di OpenAI di mantenere gli elenchi di strumenti attivi tra dieci e venti funzioni preserva un'elevata precisione del modello durante l'esecuzione.
Comprendere plugin e funzioni
Quando gli sviluppatori iniziano a costruire applicazioni che collegano le tradizionali basi di codice software con i modelli linguistici di grandi dimensioni, si rendono presto conto che questi modelli sono brillanti nella generazione di testo ma del tutto incapaci di eseguire autonomamente comandi operativi. Un modello non può interrogare un database clienti, inviare un'email o accendere le luci intelligenti dell'ufficio senza uno strato intermedio. Nell'architettura di Semantic Kernel, questo ponte mancante è costruito con plugin e funzioni.
Una funzione è semplicemente un pezzo di codice standard, scritto in C#, Python o Java, che svolge un compito specifico. Ciò che trasforma una funzione ordinaria in uno strumento pronto per l'AI è la descrizione in linguaggio naturale che la accompagna. Quando la tua applicazione registra una funzione nel kernel, alleghi dei metadati che spiegano cosa fa la funzione, quali parametri richiede e quali dati restituisce. Il modello linguistico di grandi dimensioni legge queste descrizioni in fase di esecuzione per stabilire quando e come invocare il tuo codice.
L'anatomia di una funzione ben descritta
Chi inizia spesso considera le descrizioni delle funzioni come commenti facoltativi o dettagli di documentazione secondari, ma nell'ecosistema di Semantic Kernel la descrizione è il prompt. Se la descrizione della funzione è vaga, ambigua o troppo tecnica, il modello linguistico interpreterà male il suo scopo oppure la ignorerà del tutto.
Scrivere descrizioni efficaci per l'AI
Per garantire un'elevata affidabilità negli ambienti di produzione, devi scrivere le descrizioni delle funzioni come se stessi spiegando la capacità a un nuovo collega. Ad esempio, invece di descrivere un'utilità di ricerca come get_ord_st() senza alcun contesto, il tuo plugin dovrebbe dichiarare esplicitamente che la funzione recupera lo stato di un ordine cliente, accettando come input una stringa con l'ID dell'ordine e restituendo i dettagli attuali dell'evasione. Input chiari, tipi espliciti e spiegazioni funzionali precise eliminano le supposizioni per il modello.
Origine dei plugin: codice, OpenAPI e server MCP
Semantic Kernel offre una grande flessibilità permettendo agli sviluppatori di ricavare i plugin da tre origini distinte. Capire da dove provengono i plugin determina quanto facilmente possono essere scalati e condivisi tra i team di sviluppo.
Plugin di codice nativo
Il metodo più diretto è scrivere i plugin direttamente all'interno della codebase dell'applicazione esistente, usando il linguaggio nativo del progetto. Che tu stia sviluppando un backend enterprise in C# o una pipeline di elaborazione dati in Python, i tuoi metodi personalizzati si integrano senza attriti nel kernel container.
OpenAPI e Model Context Protocol (MCP)
Oltre al codice nativo, puoi importare funzionalità esterne tramite formati web standardizzati come OpenAPI. Inoltre, le implementazioni moderne sfruttano i server Model Context Protocol (MCP). I server MCP consentono a un team centralizzato di costruire una funzionalità sicura una sola volta e di condividerla tra più applicazioni e ambienti di sviluppo, permettendo sia ai maker low-code sia agli ingegneri del software di accedere esattamente alla stessa logica di business.
Best practice di sicurezza e architettura
Uno dei vantaggi architetturali più potenti dei plugin di Semantic Kernel è l'isolamento. Un plugin ben progettato funge da confine sicuro tra il modello linguistico e la tua infrastruttura enterprise. Il plugin incapsula internamente le connessioni ai database, le chiavi API e i client web sensibili. Il modello di AI non interagisce mai con le tue credenziali o con le tabelle grezze del database: vede solo la descrizione in testo semplice della funzione e l'output sanificato restituito dal ciclo di esecuzione.
Gestire i limiti degli strumenti per un'accuratezza ottimale
Per gli sviluppatori è allettante costruire enormi cassette degli attrezzi con decine o centinaia di funzioni, ma i dati empirici di OpenAI suggeriscono prudenza. L'accuratezza del modello cala in modo significativo man mano che aumenta l'elenco degli strumenti disponibili. Le best practice indicano di mantenere sotto le dieci gli strumenti attivi in una singola richiesta, evitando rigorosamente totali superiori a venti. Poche funzioni mirate superano sistematicamente una libreria affollata di utilità marginali.
Conclusioni
Padroneggiare plugin e funzioni di Semantic Kernel è la chiave per trasformare modelli linguistici statici in agenti dinamici capaci di eseguire flussi di lavoro aziendali reali. Scrivendo con cura le descrizioni delle funzioni, sfruttando gli standard OpenAPI e MCP e mantenendo rigorosi confini di sicurezza, gli sviluppatori possono costruire applicazioni AI robuste e scalabili senza esporre infrastrutture sensibili. Per approfondire come il kernel orchestra memoria, connettori e pianificazione, ascolta l'episodio completo del podcast M365 FM: una spiegazione completa e senza gergo tecnico del livello di orchestrazione AI di Microsoft.
Domande frequenti
Che cos'è un plugin di Semantic Kernel?
Un plugin di Semantic Kernel è una raccolta di funzioni correlate esposte a un large language model, che consente all'AI di comprendere e invocare automaticamente la logica software personalizzata.
Perché le descrizioni delle funzioni sono fondamentali in Semantic Kernel?
Le descrizioni delle funzioni funzionano da istruzioni per il modello di AI. Il modello le legge per decidere quale funzione chiamare, quindi descrizioni vaghe portano a errori di esecuzione o a scelte sbagliate.
I modelli di AI possono accedere direttamente al mio database tramite i plugin?
No. I plugin incapsulano dettagli sensibili come connessioni al database e credenziali, garantendo che il modello di AI interagisca solo con descrizioni in testo semplice e output di funzioni sanificati.
Quante funzioni si dovrebbero includere in una singola richiesta con plugin?
Si consiglia di mantenere sotto le dieci gli strumenti attivi, con un massimo rigido di venti, per evitare il degrado dell'accuratezza del modello causato da un sovraccarico di strumenti.