ebook

La tua guida all’Agentic AI con MATLAB

Introduzione: Agentic AI con MATLAB

L’AI generativa ha trasformato il modo in cui interagiamo con i computer, ma andare oltre la semplice chat per sviluppare sistemi di AI in grado di ragionare, agire ed eseguire codice MATLAB® in modo autonomo richiede un nuovo approccio. Oggi, quando si chiede a un LLM di risolvere un problema ingegneristico, spesso ci si ritrova a trasferire codice manualmente, correggere errori uno a uno e a confidare che l’AI abbia davvero compreso il contesto applicativo. Agentic AI cambia questo approccio.

Questa guida mostra come costruire sistemi di intelligenza artificiale che non si limitano a suggerire soluzioni, ma le eseguono. Collegando i LLM a MATLAB tramite il Model Context Protocol (MCP), è possibile creare agenti di intelligenza artificiale che scrivono codice, eseguono simulazioni, analizzano i risultati e iterano fino al completamento del lavoro.

Tre riquadri che illustrano il passaggio dall’AI generativa (copia e incolla manuale) all’AI generativa con strumenti (l’AI scrive, tu correggi) fino all’AI agentica (l’AI scrive, esegue e corregge il codice).

Il passaggio da un’AI limitata alla conversazione a sistemi agentici in grado di operare in modo autonomo.


Dalla conversazione all'azione: Perché Agentic AI?

Se hai usato ChatGPT o Claude per aiutarti con codice MATLAB, conosci bene il copione: fai una domanda, ottieni del codice, lo incolli in MATLAB, compare un errore, torni nella chat, spieghi l’errore, ricevi nuovo codice, e si ripete il ciclo. Funziona, ma è lento e frustrante.

Agentic AI chiude questo loop. Invece di essere un generatore di testo che si orchestra manualmente, un agente AI può:

  • Scrivere il codice ed eseguirlo direttamente
  • Vedere gli errori e correggerli automaticamente
  • Accedere allo spazio di lavoro e dati personali
  • Iterare fino al completamento dell’operazione
  • Fornire risultati verificati e utili

Ora fai il confronto con l’IA generativa, che:

  • Genera frammenti di codice su richiesta
  • Richiede di copiare, incollare ed eseguire il codice manualmente
  • Si affida a te per interpretare gli errori e fare domande di follow-up
  • Non ha accesso ai tuoi file o dati
  • Non è in grado di verificare se il codice funziona davvero

Quattro capacità che trasformano un chatbot in un collega

L'intelligenza artificiale generativa è come avere un consulente che redige rapporti. L'Agentic AI è come avere un collega che svolge il lavoro. L'intelligenza artificiale non si limita a indicarti come risolvere un problema: lo risolve, ti mostra i risultati e ti chiede se desideri apportare modifiche.

Capacità dei sistemi agentici

Un sistema agentico possiede quattro capacità chiave che lo trasformano da chatbot a risolutore autonomo di problemi.

Funzionalità Cosa significa Esempio di MATLAB
Ragionamento Scompone problemi complessi in passaggi “Per ottimizzare questo controllore, prima analizzo il sistema (plant), poi progetto un PID e infine lo regolerò.”
Pianificazione Sequenze di azioni verso un obiettivo “Passaggio 1: Caricamento dei dati. Passaggio 2: Addestramento del modello. Passaggio 3: Validazione. Passaggio 4: Esportazione.”
Uso degli strumenti Chiama funzioni esterne e API Invoca trainnet, sim, o funzioni MATLAB personalizzate
Adattamento Impara dai feedback e dagli errori "Si è verificato un errore: consentimi di controllare le dimensioni e di riprovare."

Perché combinare MATLAB con Agentic AI?

MATLAB è particolarmente utile per Agentic AI in ambito ingegneristico e scientifico perché mette a disposizione:

  • Calcolo affidabile: i modelli linguistici possono commettere errori nei calcoli matematici, mentre MATLAB li esegue in modo corretto e affidabile.
  • Competenza nel dominio: sono disponibili più di 100 toolbox per l'elaborazione dei segnali, i controlli, il Deep Learning e altro ancora.
  • Capacità di simulazione: collegamento a Simulink® per il test e la verifica a livello di sistema.
  • Strumenti professionali: Le capacità di analisi del codice, visualizzazione e distribuzione sono integrate.

Informazioni su Model Context Protocol

Per permettere a un LLM di usare MATLAB, serve un modo per individuare gli strumenti disponibili, invocarli con i parametri corretti e ricevere i risultati. Questo è esattamente ciò che Model Context Protocol offre: un framework comune che consente l'interazione tra l'intelligenza artificiale e gli strumenti. Pensa a MCP come a una porta USB-C per l’IA: così come USB-C permette a qualsiasi dispositivo di collegarsi a periferiche diverse, MCP consente a qualsiasi modello di IA di collegarsi a strumenti esterni, incluso MATLAB.

Diagramma a tre fasi: L'AI Agent (Claude, Copilot, ecc.) si connette a un server MCP (Protocol Bridge), che a sua volta si connette a MATLAB (esegue il codice).

L'architettura MCP: come gli agenti di intelligenza artificiale si connettono a MATLAB.

Il server MCP traduce tra le richieste di intelligenza artificiale e l'esecuzione di MATLAB. L’ agente AI decide cosa fare; MATLAB esegue il calcolo.

Due modi per utilizzare MCP con MATLAB

Approccio Caso d'uso Ti serve
MATLAB come strumento (MCP Core Server) Consenti alle applicazioni AI esterne (Claude Desktop, GitHub Copilot, VS Code) di eseguire codice MATLAB MATLAB + Server Base MCP + client AI di propria scelta
MATLAB come host (MCP Client) Crea i tuoi agenti AI in MATLAB che utilizzano strumenti esterni e API MATLAB + componente aggiuntivo MCP Client + LLM con MATLAB

Consenti agli agenti AI di utilizzare MATLAB (Server Base MCP)

Il server base MATLAB MCP rende MATLAB disponibile per qualsiasi applicazione AI compatibile con MCP. Una volta installato, assistenti IA come Claude Desktop, GitHub Copilot o Gemini CLI possono scrivere ed eseguire codice MATLAB per tuo conto, mantenendo comunque il controllo da parte tua.

Dietro le quinte, il MCP Core Server offre cinque funzionalità di base che permettono agli agenti IA di operare con MATLAB in maniera autonoma. Non è necessario chiamarli direttamente; l'agente AI li utilizza automaticamente in base a ciò che gli chiedi di fare:

Quando si chiede all'IA di ... Il server gestisce ...
“Scrivere una funzione che filtra questo segnale” generazione di codice — Crea e salva file .m nel tuo spazio di lavoro
“Eseguire questo script e mostrare i risultati” esecuzione codicecode — Esegue il codice MATLAB e registra l'output, i grafici e gli errori
“Controllare il codice per eventuali problemi" analisi del codice — Utilizza il linter integrato di MATLAB per valutare lo stile e la correttezza
“Correggere quell'errore e riprovare” miglioramento progressivo — AI vede l’errore, modifica il codice e lo riesegue
(Automatico) gestione sessione — Avvia e mantiene la connessione MATLAB in modo trasparente

Il workflow agentico in azione

Un'interazione tipica si presenta così: Si chiede, “Crea un filtro Butterworth per questo segnale rumoroso." L’IA scrive il codice, lo esegue in MATLAB, verifica se ci sono errori o risultati inattesi, affina l’approccio e fornisce codice funzionante con anche un grafico, senza che tu debba copiare e incollare nulla.

Installazione

Scarica il server base MCP MATLAB da GitHub:

# Clona il repository
git clone https://github.com/mathworks/matlab-mcp-core-server

# Segui le istruzioni di configurazione per il tuo client AI
# (Claude Desktop, VS Code con Copilot, Gemini CLI, ecc.)

Esempio di configurazione (Claude Desktop)

Aggiungi al tuo file claude_desktop_config.json:

{ 
 "mcpServers": { 
 "matlab": { 
 "command": "/path/to/matlab-mcp-server", 
 "args": [] 
 } 
 } 
} 

Informazioni su ciò che abilita

Gli strumenti di intelligenza artificiale agentica possono scrivere ed eseguire codice sul tuo computer con accesso ai tuoi file. Questa capacità è potente ma richiede fiducia. Esamina attentamente quanto proposto dall'IA prima di approvare azioni significative, specialmente negli ambienti di produzione.


Creazione di AI Agentic in MATLAB (Client MCP)

E se volessi costruire un tuo agente IA che funzioni all’interno di MATLAB e che possa richiamare strumenti e API esterne? Il client MCP di MATLAB lo rende possibile, trasformando MATLAB in una piattaforma per lo sviluppo di intelligenza artificiale agentica.

Quattro componenti: Il tuo codice MATLAB (logica dell’agente), l’API dell’LLM (OpenAI, Ollama, ecc.), un client MCP (per scoprire gli strumenti) e server MCP esterni (qualsiasi tool o API)

I quattro blocchi fondamentali di un sistema AI agentico basato su MATLAB.

Principali capacità di MATLAB come host per agenti di intelligenza artificiale

  • Scopri gli strumenti: Interroga qualsiasi server MCP per elencare gli strumenti disponibili e i loro schemi di input.
  • Strumenti di chiamata: Richiama strumenti esterni con la stessa facilità con cui si chiamano le funzioni MATLAB locali utilizzando callTool.
  • Integrazione LLM: Converti gli schemi degli strumenti in oggetti openAIFunction per una chiamata di funzione senza interruzioni.

Successivamente, diamo un'occhiata a un esempio di creazione di un workflow agentico all'interno di MATLAB:

% Connettersi a un server MCP 
client = mcpClient("path/to/mcp-server"); 
 
% Elenca gli strumenti disponibili dal server 
strumenti = listTools(client); 
disp(tools); 
 
% Converti gli strumenti nel formato funzione OpenAI per LLM 
funzioni = openAIFunction(tools); 
 
% Crea una chat con la funzione di chiamata abilitata 
chat = openAIChat(“Sei un assistente disponibile.", ... 
 Strumenti=funzioni); 
 
% Invia una richiesta utente - LLM decide se è necessario uno strumento 
risposta = genera(chat, "Qual è il decimo numero primo?"); 
 
% Se un LLM richiede una chiamata a uno strumento, eseguila 
if isfield(response, 'tool_calls') 
 toolRequest = response.tool_calls; 
 risultato = callTool(client, toolRequest); 
     
 % Restituisci il risultato al modello LLM per la risposta finale 
 finalResponse = genera(chat, result); 
end 

Cosa puoi collegare?

Qualsiasi server MCP funziona con il client MCP di MATLAB. Questo include server per database, API web, sistemi di file, altri servizi di intelligenza artificiale e strumenti personalizzati che hai creato. L'ecosistema sta crescendo rapidamente.


Implementazione del Tool Calling in MATLAB

Il Tool Calling è il meccanismo al centro dell'intelligenza artificiale agentica. Il LLM non esegue direttamente le funzioni, ma crea una richiesta strutturata che descrive quale funzione chiamare e con quali argomenti. Il tuo codice quindi esegue la funzione e restituisce i risultati al modello LLM.

Flusso a quattro fasi: Richiesta dell'utente, LLM decide (richiesta addNumbers(212,88)), MATLAB esegue (risultato = 300), LLM risponde ('La somma è 300')

Come un sistema di intelligenza artificiale agentica elabora una query dall'input dell'utente fino alla risposta finale.

Il modello LLM ragiona su cosa calcolare. MATLAB gestisce correttamente come calcolarlo. Quando un utente invia una query, il LLM interpreta l'intento e decide quale strumento chiamare e con quali parametri. MATLAB quindi esegue la funzione e restituisce il risultato. Il modello LLM formatta una risposta in linguaggio naturale. Gli utenti non devono mai scrivere o eseguire codice da soli.

Definizione di uno strumento in MATLAB

% Definisci una funzione che il modello LLM può chiamare 
risultato della funzione = addTwoNumbers(x1, x2) 
 risultato = x1 + x2; 
end 
 
% Crea la definizione dello strumento per il modello LLM 
addTool = openAIFunction("addTwoNumbers", ... 
 "Somma due numeri insieme"); 
addTool = addParameter(addTool, "x1", "number", ... 
 "Primo numero da aggiungere", Obbligatorio=true); 
addTool = addParameter(addTool, "x2", "number", ... 
 "Secondo numero da aggiungere", Obbligatorio=true);

Creazione di un agente AI semplice

funzione aiAgent(userQuery) 
 % Inizializza la chat con gli strumenti 
 chat = ollamaChat("mistral-nemo", Tools=addTool); 
     
 % Ottieni la risposta del LLM 
 risposta = genera(chat, userQuery); 
     
 % Verifica se il modello LLM vuole utilizzare uno strumento 
 if isfield(response, 'tool_calls') 
 % Estrai i dettagli della chiamata della funzione 
 funcName = response.tool_calls.function.name; 
 args = response.tool_calls.function.arguments; 
         
 fprintf(“richiesta AI: %s(%f, %f)\n", ... 
 funcName, args.x1, args.x2); 
         
 % Esegui la funzione 
 risultato = addTwoNumbers(args.x1, args.x2); 
 fprintf(“risultato: %f\n", risultato); 
 else 
 % Nessuna chiamata a strumenti - mostra risposta diretta 
 disp(response.content); 
 end 
end

Il Tool Calling funziona con più fornitori tramite i LLM con il componente aggiuntivo MATLAB, inclusi:

  • OpenAI: Ultimo modello GPT (via API)
  • Azure OpenAI: Implementazioni aziendali
  • Ollama: Modelli locali come Mistral, GPT-OSS, DeepSeek, and Qwen

Creazione di agenti AI efficaci

Il passaggio dalle dimostrazioni alla produzione richiede modelli che rendano gli agenti affidabili, osservabili e sicuri. Questi approcci sono stati collaudati in sistemi agentici reali.

Pattern 1: ReAct (Ragionamento + Azione)

Il modello di agente più comune alterna tra il pensare e l'agire. Il modello LLM ragiona su cosa fare successivamente, compie un'azione, osserva il risultato e ripete il processo.

% Pattern di loop ReAct 
while ~taskComplete 
 % Thought: Il modello LLM ragiona sul passo successivo 
 thought = generate(chat, [contesto, "Cosa dovrei fare adesso?"]); 
     
 % Azione: Esegui lo strumento se necessario 
 if needsTool(thought) 
 risultato = executeTool(thought.tool_call); 
 contesto = [context; result]; 
 end 
     
 % Osservazione: Aggiorna lo stato in base ai risultati 
 taskComplete = checkCompletion(context); 
end 

Pattern 2: Tool Chaining

Le attività complesse richiedono più strumenti chiamati in sequenza. L'output di uno diventa l'input del successivo. Ad esempio:

Step Azione Scopo
1 Genera codice L'intelligenza artificiale scrive codice MATLAB in base alla tua richiesta.
2 Analizza il codice Controlla la presenza di errori, problemi di stile e potenziali bug.
3 Esegui il codice Esegui in MATLAB e acquisisci l'output.
4 Valuta i risultati AI esamina il risultato; corregge gli errori o conferma la riuscita.

Pattern 3: Intervento umano nel processo (human-in-the-loop)

Per applicazioni critiche per la sicurezza, aggiungi passaggi di approvazione prima che l'agente intraprenda un'azione:

% Pattern Intervento umano nel processo (human-in-the-loop) 
proposedAction = generate(chat, query); 
 
% Visualizza l'azione proposta per l'approvazione 
fprintf("Proposto: %s\n", proposedAction.description); 
approvazione = input("Approve? (y/n): ", "s"); 
 
if strcmp(approval, "y") 
 risultato = executeAction(proposedAction); 
else 
 disp("Azione annullata."); 
end 

Linee guida pratiche

Diverse linee guida sono fondamentali per garantire agenti affidabili:

  • Inizia in modo semplice: fai funzionare un singolo strumento prima di creare catene complesse.
  • Aggiungi l’osservabilità: registra ogni chiamata all’LLM e ogni esecuzione degli strumenti, perché ti serviranno per il debug.
  • Gestisci gli errori in modo robusto: i modelli LLM possono sbagliare; implementa logiche di retry con backoff esponenziale.
  • Stabilisci i limiti: Limita le iterazioni, i budget di token e gli strumenti a cui un agente può accedere.
  • Metti alla prova in modo critico: testa volutamente casi limite per vedere dove l’agente si rompe, prima che arrivi agli utenti.