ebook

Guida all’Agentic AI con MATLAB e Simulink

Introduzione: Agentic AI con MATLAB e Simulink

L’IA generativa continua a cambiare il modo in cui interagiamo con i computer. Chiedere a un LLM di risolvere un problema ingegneristico significava trasferire codice manualmente, correggere errori uno a uno e sperare che l’IA comprendesse il contesto applicativo. Un impatto maggiore deriva da sistemi di intelligenza artificiale in grado di ragionare, agire ed eseguire autonomamente workflow MATLAB e Simulink. Agentic AI consente questo cambiamento.

Questa guida mostra come costruire sistemi di intelligenza artificiale che offrono ed eseguono soluzioni. Collegando gli LLM a MATLAB e Simulink tramite il Model Context Protocol (MCP) e i nuovi toolkit agentici, è possibile creare agenti di intelligenza artificiale che scrivono codice, costruiscono modelli, eseguono simulazioni, analizzano i risultati e iterano fino al completamento del lavoro.

Tre riquadri che mostrano la progressione dall'IA generativa all'IA generativa con strumenti fino all’Agentic AI.

Il passaggio da un’IA 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 farti aiutare con il codice MATLAB, allora conosci bene la procedura: fai una domanda, ottieni del codice, lo copi e incolli in MATLAB, compare un errore, torni alla chat, spieghi l'errore, ricevi nuovo codice e ricominci da capo. Funziona, ma è lento e frustrante.

Agentic AI chiude questo loop.

Non-Agentic AI

 

Agentic AI

Genera frammenti di codice su richiesta

Scrive il codice ed lo esegue direttamente

Richiede di copiare, incollare ed eseguire il codice manualmente

Itera fino al completamento dell’operazione

Si affida a te per interpretare gli errori e fare domande di follow-up

Rileva gli errori e li corregge automaticamente

Non ha accesso ai tuoi file o dati

Accede al tuo spazio di lavoro e ai dati personali

Impossibile verificare se il codice funziona

Fornisce risultati che è possibile testare

Quattro capacità che trasformano un chatbot in un collega

Non-agentic AI è come avere un consulente che redige rapporti. L'Agentic AI è come avere un collega che svolge il lavoro. L'IA risolve il problema, mostra i risultati e chiede se desidera apportare modifiche.

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 e Simulink con Agentic AI?

MATLAB e Simulink sono particolarmente utili per l’Agentic AI nell'ingegneria e nella scienza perché offrono:

  • Progettazione Model-Based: creazione, simulazione e test di sistemi complessi prima della distribuzione
  • Capacità di simulazione: collegamento a Simulink per il test e la verifica a livello di sistema
  • Competenza nel settore: sono disponibili più di 100 toolbox per l'elaborazione dei segnali, i controlli, il Deep Learning e altro ancora
  • Strumenti professionali: capacità di analisi del codice, visualizzazione e distribuzione integrate
  • Calcolo affidabile: gli LLM possono commettere errori nei calcoli matematici; MATLAB li esegue in modo corretto e affidabile

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. L'MCP offre esattamente questo: un quadro standard per l'interazione tra l'IA e gli strumenti. MCP può essere visto come una porta USB-C per l'intelligenza artificiale: proprio come una porta USB-C permette di collegare dispositivi e periferiche diverse tra loro, MCP consente ai modelli di IA di interagire con vari strumenti, tra cui MATLAB e Simulink.

Diagramma a tre fasi che mostra un agente IA che si collega a un server MCP, il quale si collega a MATLAB.

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 IA decide cosa fare; MATLAB esegue il calcolo.

Installazione

Scarica il server base MCP MATLAB da GitHub:

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

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

L'MCP Core Server costituisce l'infrastruttura di base per la connessione, mentre Simulink Agentic Toolkit ne estende le capacità aggiungendo funzionalità dedicate ai modelli Simulink. Sia MATLAB Agentic Toolkit che Simulink Agentic Toolkit si basano su questo protocollo.


MATLAB Agentic Toolkit

MATLAB Agentic Toolkit è un pacchetto gratuito e open-source su GitHub che fornisce agli agenti di coding IA una conoscenza esperta di MATLAB e una connessione live a una sessione locale di MATLAB. Il toolkit combina due componenti: MATLAB MCP Core Server e un set selezionato di capacità degli agenti.

Agente IA che utilizza MATLAB Agentic Toolkit per confrontare i progetti di filtri FIR nell'app Filter Analyzer.

Un agente IA che utilizza MATLAB Agentic Toolkit per confrontare i progetti di filtri FIR nell'app Filter Analyzer.

Due componenti: MCP Core Server e capacità degli agenti

MATLAB MCP Core Server

MCP Core Server offre a qualsiasi agente compatibile con MCP l'accesso diretto a MATLAB in esecuzione sulla vostra macchina. Il server espone cinque strumenti integrati:

Strumento

Cosa fa

evaluate_matlab_code

Esegue il codice MATLAB e riporta l'output della finestra di comando.

run_matlab_file

Esegue un file di programma MATLAB.

run_matlab_test_file

Esegue i test tramite runtests con risultati strutturati di pass/fail.

check_matlab_code

Esegue l'analisi statica utilizzando Code Analyzer.

detect_matlab_toolboxes

Elenca la versione di MATLAB installata e i toolbox.

Il server fornisce inoltre due risorse MCP che fungono da documentazione specificamente curata per i sistemi di intelligenza artificiale che utilizzano il server MCP. La risorsa matlab_coding_guidelines insegna all'IA le best practice di coding in MATLAB, mentre le plain_text_live_code_guidelines spiegano all'IA come generare script live in testo semplice. L'agente IA fa automaticamente riferimento a queste risorse quando necessario.

Capacità dell'agente

Le capacità degli agenti sono file di istruzioni basati su Markdown che insegnano agli agenti IA le pratiche ingegneristiche specifiche per MATLAB. Non sono librerie di codice; sono prompt strutturati che guidano il comportamento dell'agente.

Le capacità possono essere invocate esplicitamente (ad esempio, /creating-live-scripts in Claude Code) o attivate passivamente quando l'agente riconosce una operazione pertinente.

Le capacità degli agenti forniscono agli agenti IA conoscenze dettagliate che non hanno appreso durante il loro addestramento. Queste capacità consentono all'agente IA di risolvere problemi complessi di scienza e ingegneria in modo più rapido, robusto ed economico.

Le capacità fornite dal toolkit agentico stanno evolvendo rapidamente. Le capacità attualmente disponibili si trovano nello Skills Catalog.

Installazione e configurazione

Requisiti:

  • MATLAB R2020b o versioni successive
  • Un agente di coding IA supportato
  • Git

Configurazione del workflow:

  1. Clona il repository MATLAB Agentic Toolkit da GitHub.
  2. Apri il tuo agente di coding IA nella cartella del repository.
  3. Chiedi all'agente di effettuare “l'impostazione del toolkit.”
  4. Lo skill di configurazione si occupa del resto: rileva l'installazione locale di MATLAB, installa il server MCP e lo registra con l'agente.

Il server MCP riceve aggiornamenti approssimativamente ogni due settimane. Scarica periodicamente l’ultimo aggiornamento dal repository per rimanere aggiornato.

Il workflow agentico in azione

Una volta attivato il toolkit, l'agente può leggere, scrivere, eseguire, testare e analizzare il codice MATLAB senza dover copiare e incollare. Un tipico workflow:

  1. Descrivi una operazione in linguaggio naturale.
  2. L'agente scrive codice MATLAB utilizzando la propria conoscenza delle convenzioni MATLAB (fornita da competenze e linee guida di coding).
  3. L'agente esegue il codice tramite il server MCP e legge i risultati.
  4. Se qualcosa va storto, l'agente esegue il debug, modifica e riesegue, iterando fino al completamento dell’operazione.
  5. Esamina il risultato finale.

Workflow strutturato: ricerca, pianificazione, implementazione (RPI)

Per progetti di grandi dimensioni, un approccio strutturato funziona bene:

  • Ricerca: l'agente produce un Product Requirements Document (PRD) in base alla tua richiesta. Iteri con domande di chiarimento e materiali di riferimento.
  • Pianificazione: l’agente genera un file PLAN.md e un TASKS.md a fasi, delineando l'approccio all'implementazione passo dopo passo.
  • Implementazione: esegui le attività fase per fase, facendo una pausa per correggere il percorso prima di passare alla fase successiva.

Questo approccio strutturato trasforma la codifica agentica da imprevedibile a controllabile. I documenti di pianificazione ancorano il comportamento dell’agente durante sessioni lunghe e impediscono la deriva del contesto.

Fondamenti di sicurezza

  • Limita l'accesso dell'agente alla cartella specifica del progetto.
  • Usa Git per garantire trasparenza e facilitare il rollback.
  • Rivedi tutto il codice generato, i comandi e le operazioni sui file.
  • Evita di trasmettere dati riservati o regolamentati agli agenti di coding.
  • Utilizza server MCP affidabili e skill qualificati.

Il toolkit funziona con qualsiasi agente che supporti MCP, inclusi Claude Code, GitHub Copilot® e OpenAI Codex™. La configurazione è specifica per l’agente, ma segue lo stesso schema: indirizzare le impostazioni MCP dell’agente verso il MCP Core Server di MATLAB. Lo skill di configurazione automatizza questo processo per ogni piattaforma supportata.


Simulink Agentic Toolkit

Simulink Agentic Toolkit estende l'ecosistema di IA agentica nella progettazione Model-Based. Se MATLAB Agentic Toolkit consente agli agenti di accedere all’esecuzione del codice, Simulink Agentic Toolkit fornisce agli agenti un accesso strutturato ai modelli Simulink, inclusi architettura, segnali, parametri e comportamento di simulazione.

Simulink Agentic Toolkit è un repository GitHub che si basa su MATLAB MCP Core Server. Il toolkit aggiunge strumenti MCP e competenze agenti specifiche per Simulink e la progettazione Model-Based.

Screenshot di Simulink Agentic Toolkit.

Strumenti MCP di Simulink e competenze dell’agente

Oltre agli strumenti disponibili nel MCP Core Server di MATLAB, il toolkit aggiunge strumenti specifici per Simulink per leggere la struttura dei modelli, modificare blocchi e connessioni, interrogare i parametri ed eseguire simulazioni. Gli strumenti dedicati aiutano un agente a navigare nella gerarchia di un modello, ispezionare ciò di cui ha bisogno e apportare modifiche mirate.

Le competenze del toolkit utilizzano tali strumenti per eseguire workflow consigliati per attività comuni utilizzando la progettazione Model-Based. Ogni competenza acquisisce un contesto ingegneristico sufficiente affinché l'agente segua schemi consolidati per l’operazione, anziché dover elaborare il workflow da zero ogni volta.

Simulink Agentic Toolkit viene aggiornato regolarmente. Per l'elenco aggiornato degli strumenti e delle competenze, consulta il repository GitHub.

Installazione e configurazione

Per le istruzioni di installazione, inclusi gli agenti supportati e i passaggi di configurazione, consulta il repository GitHub di Simulink Agentic Toolkit.

Il file README del repository spiega la configurazione per ogni agente supportato e viene aggiornato con ogni release.

Gestione dei requisiti con agenti IA

Uno degli usi più efficaci del toolkit è l'ingegneria dei requisiti. Un agente di intelligenza artificiale può:

  • Redigere requisiti a partire da descrizioni in linguaggio naturale o dalla documentazione esistente
  • Collegare ogni requisito agli elementi del modello che lo implementano
  • Mantenere la tracciabilità durante l'evoluzione dei progetti
  • Generare matrici di tracciabilità che evidenzino le lacune di copertura

Queste capacità riducono l'onere della documentazione manuale che spesso rallenta i progetti. L'agente propone; l'ingegnere esamina e approva.

Implementazione del progetto

Gli agenti possono modificare modelli esistenti o creare nuovi sistemi a partire da specifiche. I tipi di modelli supportati includono:

  • Diagrammi a blocchi Simulink (modelli standard di flusso del segnale)
  • Diagrammi Stateflow (macchine a stati e logica decisionale)
  • Modelli Simscape (sistemi fisici: termici, elettrici, meccanici, idraulici)
  • Architetture di System Composer (modelli di architettura a livello di sistema)

Il workflow consigliato segue un ciclo di cinque fasi:

Passaggio

Azione

Descrizione

1

Proposta

L'agente redige contenuti in linguaggio naturale: architettura, equazioni, parametri.

2

Approvazione

Revisiona e modifica la proposta.

3

Generazione

L'agente scrive script di implementazione utilizzando strumenti specifici per Simulink.

4

Esecuzione

Il server MCP esegue il codice sul modello attivo.

5

Conferma

Valida i risultati in Simulink.

Esempio: simulazione del freno termico

In questo post del blog di Simulink Agentic Toolkit, Guy Rouleau illustra come creare un modello termico del freno a disco interamente attraverso il ciclo di proposta/approvazione/generazione/esecuzione/conferma. Chiedi all'agente: “Elabora un piano per creare una simulazione del comportamento termico dei freni a disco tipici di un'automobile berlina media."

L’agente produce due documenti di specifica che coprono l’architettura del sistema, le equazioni di trasferimento termico per il pad e il disco, oltre all’ambiente, ai diagrammi dei componenti e a un elenco completo dei parametri. Dopo tre iterazioni sull’architettura (ampliando infine l’ambito per includere un semplice modello longitudinale del veicolo), l’agente genera il modello Simulink completo.

Per il collaudo, l'agente crea sia test di sottosistemi a livello di componente sia scenari di guida a loop chiuso, implementati in Simulink Test Manager. L'intero workflow, dal prompt iniziale al modello validato, segue il ciclo in cinque fasi senza creazione manuale del modello.

Simulazione, test e verifica

Il toolkit supporta l'intero ciclo di verifica:

  • Esecuzione di simulazioni, inclusa la gestione della configurazione e l'esecuzione parallela
  • Riproduzione dei problemi segnalati, creando casi di test e isolando le cause principali
  • Scrittura di test utilizzando Simulink Test
  • Proposta di correzioni e riesecuzione di test per la verifica

Gli ingegneri si concentrano sull'interpretazione dei risultati piuttosto che sulla gestione della logistica di configurazione.

Model-Based System Engineering (MBSE)

Per i team che utilizzano la metodologia MBSE, il toolkit fornisce assistenza per l'intero framework RFLP: Requisiti, funzionali, logici e fisici.

Utilizzando Simulink Agentic Toolkit insieme a System Composer e Requirements Toolbox, un agente può:

  • Creare e gestire i requisiti collegati agli elementi architettonici
  • Costruire modelli di architettura funzionale, logica e fisica
  • Generare dizionari di interfaccia e stereotipi
  • Produrre analisi e set di allocazione

L’obiettivo è la prototipazione rapida degli artefatti iniziali del sistema, liberando tempo e risorse ingegneristiche per la risoluzione di problemi concreti invece che per attività di configurazione ripetitive.

Inclusione degli ingegneri nel loop

Simulink Agentic Toolkit è progettato con la supervisione umana al centro. Ogni capacità segue lo stesso principio: l'agente propone, l'ingegnere decide.

Consigli pratici

  • Verifica le competenze personalizzate per eventuali conflitti con le capacità del toolkit. Istruzioni sovrapposte possono indurre gli agenti a ricorrere a metodi meno efficienti.
  • Quando un agente utilizza un approccio subottimale, indirizzarlo esplicitamente agli strumenti specifici di Simulink.
  • Si consiglia di richiedere all'agente di fornire i documenti di pianificazione e le specifiche di progettazione prima dell'esecuzione, in modo che le decisioni di progettazione siano definite in anticipo.
  • Delimita il tuo lavoro in segmenti gestibili che possano essere gestiti in modo più affidabile dall'agente.

Creazione di agenti IA efficaci

È possibile creare agenti utilizzando codice MATLAB con LLM in MATLAB e MATLAB MCP HTTP Client. Gli agenti forniscono funzioni MATLAB per connettersi ai modelli LLM (ad esempio, API compatibili con OpenAI o modelli su Ollama™) e per chiamare strumenti MCP esterni. Esistono diversi pattern da implementare per la creazione di workflow agentici.

Pattern 1: ReAct (Ragionamento + Azione)

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

% ReAct loop pattern 
while ~taskComplete 
    % Thought: LLM reasons about next step 
    thought = generate(chat, [context, "What should I do next?"]); 
     
    % Action: Execute tool if needed 
    if needsTool(thought) 
        result = executeTool(thought.tool_call); 
        context = [context; result]; 
    end 
     
    % Observation: Update state based on results 
    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:

Passaggio Azione Scopo
1 Genera codice IA 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 IA esamina il risultato; corregge gli errori o conferma il successo

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

Per applicazioni critiche per la sicurezza, aggiungere passaggi di approvazione:

% 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 con semplicità: fai funzionare un singolo strumento prima di creare catene complesse.
  • Aggiungi l'osservabilità: registra ogni chiamata all’LLM e ogni esecuzione degli strumenti; ti servirà per il debug.
  • Gestisci gli errori con eleganza: gli LLM possono sbagliare; implementa logiche di retry con backoff esponenziale.
  • Stabilisci dei limiti: limita le iterazioni, i budget di token e gli strumenti a cui un agente può accedere.
  • Testa in modo avversariale: testa deliberatamente i casi limite per mettere alla prova il tuo agente prima che raggiunga gli utenti.