E-book

Guide de l’IA agentique avec MATLAB et Simulink

Introduction : IA agentique avec MATLAB et Simulink

L’IA générative continue de transformer notre manière d'interagir avec les ordinateurs. Demander à un grand modèle de langage de résoudre un problème d'ingénierie signifie habituellement copier le code d'un point à un autre, corriger les erreurs manuellement et espérer que l'IA comprenne votre domaine. L’impact le plus important provient des systèmes d'IA capables de raisonner, d'agir et d'exécuter de manière autonome des workflows MATLAB et Simulink. L'IA agentique permet cette transition.

Ce guide vous montre comment construire des systèmes d’IA capables de proposer des solutions et de les exécuter. En connectant les LLM à MATLAB et Simulink, via le Model Context Protocol (MCP) et les nouveaux toolkits agentiques, vous pouvez créer des agents IA qui écrivent du code, créent des modèles, exécutent des simulations, analysent les résultats et effectuent des itérations jusqu'à l’obtention du résultat.

Trois encadrés montrant la progression de l'IA générative à l'IA générative avec outils, puis à l'IA agentique.

L'évolution de l'IA traditionnelle basée sur le chat vers une IA agentique entièrement autonome.


Du chat à l’action : pourquoi l'IA agentique ?

Si vous avez utilisé ChatGPT® ou Claude® pour vous aider avec du code MATLAB, vous connaissez la procédure : poser une question, obtenir du code, le coller dans MATLAB, rencontrer une erreur, revenir sur le chat, expliquer l'erreur, obtenir un nouveau code, et ainsi de suite. Cela fonctionne, mais c'est lent et frustrant.

L'IA agentique boucle cette boucle.

IA non-agentique

 

IA agentique

Génère des extraits de code sur demande

Écrit du code et l’exécute directement

Nécessite que vous copiez, colliez et exécutiez le code manuellement

Effectue des itérations jusqu'à ce que la tâche soit terminée

Compte sur vous pour interpréter les erreurs et poser des questions complémentaires

Détecte les erreurs et les corrige automatiquement

N'a pas accès à vos fichiers ou données

Accède à votre espace de travail et à vos données

Impossible de vérifier si le code fonctionne

Fournit des résultats opérationnels que vous pouvez tester

Quatre capacités qui transforment un chatbot en collègue

L'IA non-agentique, c’est comme avoir un consultant qui rédige des rapports. L'IA agentique, c’est comme avoir un collègue qui fait le travail. L'IA résout le problème, vous montre les résultats et vous demande si vous souhaitez des modifications.

Capacité Ce que cela signifie Exemple MATLAB
Raisonnement Décompose les problèmes complexes en étapes « Pour optimiser ce contrôle, j'analyserai d'abord le système physique, puis je concevrai un PID, ensuite je le réglerai. »
Planification Séquence des actions vers un objectif « Étape 1 : Charger les données. Étape 2 : Entraîner le modèle. Étape 3 : Valider. Étape 4 : Exporter. »
Utilisation des outils Appelle des fonctions et des API externes Invoque les fonctions MATLAB trainnet, sim ou personnalisées
Adaptation Apprend des commentaires et des erreurs « Cela a généré une erreur ; permettez-moi de vérifier les dimensions et d'essayer de nouveau. »

Pourquoi combiner MATLAB et Simulink avec l'IA agentique ?

MATLAB et Simulink sont particulièrement précieux pour l'IA agentique en ingénierie et en sciences car ils offrent :

  • Approche Model-Based Design : Concevoir, simuler et tester des systèmes complexes avant leur déploiement.
  • Capacités de simulation : Connectez-vous à Simulink pour le test et la vérification au niveau système.
  • Expertise sectorielle : Plus de 100 toolboxes pour le traitement du signal, le contrôle, le Deep Learning, et bien plus encore.
  • Outils professionnels : Capacités intégrées d'analyse, de visualisation et de déploiement du code.
  • Calcul fiable : Les grands modèles de langage ont tendance à halluciner les mathématiques ; MATLAB les traite correctement.

Compréhension du Model Context Protocol

Pour qu'un LLM puisse utiliser MATLAB, il doit disposer d'un moyen pour découvrir les outils disponibles, les appeler avec les bons paramètres et recevoir les résultats. Le MCP offre exactement cela : un cadre standard pour l'interaction entre l'IA et les outils. Considérez le MCP comme un port USB-C pour l’IA : tout comme l'USB-C permet à tout équipement de se connecter à n'importe quel périphérique, le MCP permet à tout modèle d'IA de se connecter à n'importe quel outil, y compris MATLAB et Simulink.

Diagramme en trois étapes montrant un agent IA se connectant à un serveur MCP, qui se connecte à MATLAB.

L'architecture MCP : comment les agents IA se connectent à MATLAB.

Le serveur MCP assure la traduction entre les requêtes d'IA et l'exécution MATLAB. L'agent IA décide de ce qu'il faut faire ; MATLAB effectue les calculs.

Installation

Téléchargez MATLAB MCP Server sur GitHub :

# Clone the repository
git clone https://github.com/matlab/matlab-mcp-server

# Follow setup instructions for your AI client
# (Claude Desktop, VS Code with Copilot, Gemini CLI, etc.)

MCP Server propose la connexion fondamentale ; Simulink Agentic Toolkit l'étend avec des capacités spécifiques au modèle. Les deux, MATLAB Agentic Toolkit et Simulink Agentic Toolkit, reposent sur ce protocole.


MATLAB Agentic Toolkit

MATLAB Agentic Toolkit est un package gratuit et open-source disponible sur GitHub qui offre aux agents de codage IA une connaissance experte de MATLAB ainsi qu'une connexion en direct à une session MATLAB locale. Le toolkit combine deux composants : MATLAB MCP Server et un ensemble sélectionné de compétences d'agents.

Agent IA utilisant MATLAB Agentic Toolkit pour comparer des designs de filtres FIR dans l'application Filter Analyzer.

Un agent IA utilisant MATLAB Agentic Toolkit pour comparer des designs de filtres FIR dans l'application Filter Analyzer.

Deux composants : MCP Server et compétences d’agent

MATLAB MCP Server

MCP Server offre à tout agent compatible MCP un accès direct à MATLAB fonctionnant sur votre machine. Le serveur propose cinq outils intégrés :

Outil

Ce que cela signifie

evaluate_matlab_code

Exécutez du code MATLAB et renvoyez la sortie de la fenêtre de commande.

run_matlab_file

Exécutez un fichier de programme MATLAB.

run_matlab_test_file

Exécutez les tests via runtests avec des résultats structurés de réussite/échec.

check_matlab_code

Effectuez une analyse statique à l'aide de Code Analyzer.

detect_matlab_toolboxes

Listez la version de MATLAB installée ainsi que les toolboxes.

Le serveur propose également deux ressources MCP qui fonctionnent comme une documentation spécifiquement conçue pour les systèmes d'IA utilisant le serveur MCP. La ressource matlab_coding_guidelines enseigne à l'IA les bonnes pratiques de codage MATLAB, tandis que plain_text_live_code_guidelines explique à l'IA comment générer des live scripts en texte brut. L'agent IA référence automatiquement ces ressources lorsque cela est nécessaire.

Compétences d'agent

Les compétences des agents sont des fichiers d'instructions basés sur Markdown qui enseignent aux agents IA des pratiques d'ingénierie spécifiques à MATLAB. Ce ne sont pas des bibliothèques de code ; ce sont des prompts structurés qui guident le comportement de l'agent.

Les compétences peuvent être invoquées explicitement (par exemple, /creating-live-scripts dans Claude Code) ou activées passivement lorsque l'agent reconnaît une tâche pertinente.

Les compétences des agents fournissent aux agents IA des connaissances détaillées qu'ils n'ont pas acquises dans le cadre de leur formation. Ces compétences permettent à l'agent IA de résoudre des problèmes approfondis en sciences et en ingénierie de manière plus rapide, robuste et économique.

Les compétences fournies par le toolkit agentique évoluent rapidement. Vous pouvez trouver les compétences actuellement disponibles dans le Catalogue des compétences.

Installation et configuration

Configuration requise :

  • MATLAB R2020b ou version ultérieure
  • Un agent de codage IA supporté
  • Git

Configurer le workflow :

  1. Clonez le dépôt MATLAB Agentic Toolkit depuis GitHub.
  2. Ouvrez votre agent de codage IA dans le dossier du dépôt.
  3. Demandez à l'agent de « configurer la toolkit ».
  4. La compétence d'installation gère le reste : détecter l'installation locale de MATLAB, installer le serveur MCP et l'inscrire auprès de l'agent.

Le serveur MCP reçoit des mises à jour environ toutes les deux semaines. Actualisez régulièrement le dépôt avec la dernière mise à jour pour rester à jour.

Le workflow agentique en action

Une fois le toolkit activé, l'agent peut lire, écrire, exécuter, tester et analyser du code MATLAB sans avoir à copier-coller. Workflow typique :

  1. Vous décrivez une tâche en langage naturel.
  2. L'agent rédige du code MATLAB en utilisant sa connaissance des conventions MATLAB (influencée par ses compétences et les directives de codage).
  3. L'agent exécute le code via le serveur MCP et lit les résultats.
  4. Si quelque chose échoue, l'agent effectue le débuggage, modifie et relance, en itérant jusqu'à ce que la tâche soit accomplie.
  5. Vous examinez le résultat final.

Workflow structuré : Recherche, Planification, Implémentation (RPI)

Pour les projets de grande envergure, une approche structurée fonctionne bien :

  • Recherche : L'agent produit un document de spécifications produit (DSP) à partir de votre demande. Vous effectuez des itérations avec des questions de clarification et des documents de référence.
  • Plan : L'agent génère un PLAN.md et un TASKS.md phasé, décrivant l'approche d'implémentation étape par étape.
  • Implémenter : Exécution des tâches étape par étape, avec des pauses, pour ajuster si nécessaire avant de continuer.

Cette approche structurée transforme le codage agentique d'imprévisible en contrôlable. Les documents de planification ancrent le comportement de l'agent tout au long de longues sessions et empêchent la dérive du contexte.

Principes fondamentaux de sécurité

  • Limiter l'accès de l'agent au dossier spécifique du projet.
  • Utiliser Git pour assurer la transparence et faciliter le retour en arrière.
  • Examiner tout le code généré, les commandes et les opérations sur les fichiers.
  • Éviter de transmettre des données confidentielles ou réglementées aux agents de codage.
  • Utiliser des serveurs MCP fiables et des compétences éprouvées.

Le toolkit fonctionne avec tout agent qui supporte MCP, y compris Claude Code, GitHub Copilot®, et OpenAI Codex™. La configuration est spécifique à l'agent mais suit le même schéma : pointer les paramètres MCP de l'agent vers MATLAB MCP Server. La compétence d'installation automatise cela pour chaque plateforme supportée.


Simulink Agentic Toolkit

Le Simulink Agentic Toolkit étend l'écosystème d'IA agentique à l'approche Model-Based Design. Alors que le MATLAB Agentic Toolkit offre aux agents un accès à l'exécution de code, le Simulink Agentic Toolkit donne aux agents un accès structuré aux modèles Simulink, y compris leur architecture, leurs signaux, leurs paramètres et leur comportement de simulation.

Simulink Agentic Toolkit est un dépôt GitHub qui s'appuie sur MATLAB MCP Server. Le toolkit ajoute des outils MCP et des compétences d'agent spécifiques à Simulink et à l'approche Model-Based Design.

Capture d'écran de Simulink Agentic Toolkit.

Outils MCP Simulink et compétences des agents

En plus des outils disponibles dans MATLAB MCP Server, le toolkit ajoute des outils spécifiques à Simulink pour la lecture de la structure du modèle, l'édition des blocs et des connexions, l'interrogation des paramètres et l'exécution des simulations. Les outils dédiés aident un agent à naviguer dans la hiérarchie d'un modèle, à inspecter ce dont il a besoin et à effectuer des modifications ciblées.

Les compétences du toolkit utilisent ces outils pour exécuter les workflows recommandés pour les tâches courantes en utilisant l'approche Model-Based Design. Chaque compétence capture suffisamment de contexte d'ingénierie pour que l'agent suive des schémas établis pour la tâche plutôt que de devoir élaborer le workflow à partir de zéro à chaque fois.

Simulink Agentic Toolkit est mis à jour régulièrement. Pour la liste actuelle des outils et compétences, veuillez consulter le dépôt GitHub.

Installation et configuration

Pour les instructions d'installation, y compris les agents supportés et les étapes de configuration, veuillez consulter le dépôt GitHub de Simulink Agentic Toolkit.

Le fichier README du dépôt explique la configuration pour chaque agent supporté et reste à jour avec chaque version.

Gestion des exigences avec des agents IA

L'un des cas d'utilisation les plus solides du toolkit est l'ingénierie des exigences. Un agent IA peut :

  • Rédiger des exigences à partir de descriptions en langage naturel ou de documentation existante
  • Relier chaque exigence aux éléments du modèle qui l'implémentent
  • Maintenir la traçabilité à mesure que les designs évoluent
  • Générer des matrices de traçabilité montrant les lacunes de couverture

Ces capacités réduisent la charge de documentation manuelle qui ralentit souvent les projets. L'agent propose ; l'ingénieur examine et approuve.

Implémentation du design

Les agents peuvent modifier des modèles existants ou créer de nouveaux systèmes à partir de spécifications. Les types de modèles supportés incluent :

  • Schémas bloc Simulink (modèles standard de flux de signaux)
  • Les diagrammes Stateflow (machines à états et logique de décision)
  • Modèles Simscape (systèmes physiques : thermique, électrique, mécanique, hydraulique)
  • Architectures System Composer (modèles d'architecture au niveau système)

Le workflow recommandé suit un cycle en cinq étapes :

Étape

Action

Description

1

Proposer

L'agent rédige du contenu en langage naturel : architecture, équations, paramètres.

2

Approuver

Vous examinez et effectuez des itérations sur la proposition.

3

Générer

L'agent rédige des scripts d'implémentation en utilisant des outils spécifiques à Simulink.

4

Exécuter

Le serveur MCP exécute le code sur le modèle en direct.

5

Confirmer

Vous validez les résultats dans Simulink.

Exemple : Simulation de freinage thermique

Dans cet article de blog sur Simulink Agentic Toolkit, Guy Rouleau explique comment construire un modèle thermique de frein à disque entièrement à travers le cycle proposer/approuver/générer/exécuter/confirmer. Il demande à l’agent : « Élabore un plan pour créer une simulation du comportement thermique des freins à disque typiques d'une voiture berline moyenne. »

L'agent produit deux documents de spécification couvrant l'architecture système, les équations de transfert de chaleur pour les plaquettes et le disque, ainsi que l'environnement, les diagrammes des composants et une liste complète des paramètres. Après trois cycles d'itération sur l'architecture (élargissant finalement la portée pour inclure un modèle longitudinal simple du véhicule), l'agent génère le modèle Simulink complet.

Pour les tests, l'agent crée à la fois des tests de sous-système au niveau composants et des scénarios de conduite en boucle fermée, implémentés dans Simulink Test Manager. L'ensemble du workflow, depuis le prompt initial jusqu'au modèle validé, suit le cycle en cinq étapes sans construction manuelle du modèle.

Simulation, test et vérification

Le toolkit supporte le cycle complet de vérification :

  • Exécution de simulations, y compris gestion de la configuration et exécution parallèle
  • Reproduction des problèmes signalés en élaborant des cas de test et en isolant les causes profondes
  • Rédaction de tests à l'aide de Simulink Test
  • Proposition de corrections et relance du test pour vérification

Les ingénieurs se concentrent sur l'interprétation des résultats plutôt que sur la gestion de la logistique de mise en place.

Model-Based Systems Engineering (MBSE)

Pour les équipes utilisant la méthodologie MBSE, le toolkit supporte l'ensemble du cadre RFLP (exigences, fonctionnel, logique et physique).

En utilisant Simulink Agentic Toolkit conjointement avec System Composer et Requirements Toolbox, un agent peut :

  • Créer et gérer les exigences liées aux éléments d'architecture
  • Construire des modèles d'architecture fonctionnelle, logique et physique
  • Générer des dictionnaires d'interfaces et des stéréotypes
  • Produire des analyses et des ensembles d'allocation

L'objectif est le prototypage rapide des artefacts initiaux du système, libérant ainsi les efforts d'ingénierie pour une résolution substantielle des problèmes plutôt que pour la configuration standard.

Maintenir les ingénieurs informés

Simulink Agentic Toolkit est conçu autour de la supervision humaine. Chaque capacité suit le même principe : l'agent propose, l'ingénieur décide.

Conseils pratiques

  • Auditez les compétences personnalisées pour détecter d’éventuels conflits avec les capacités du toolkit. Des instructions qui se chevauchent peuvent amener les agents à recourir à des méthodes moins efficaces.
  • Lorsqu'un agent utilise une approche sous-optimale, redirigez-le explicitement vers les outils spécifiques à Simulink.
  • Demandez à l'agent de fournir les documents de planification et les spécifications de design avant l'exécution afin que les décisions de design soient prises dès le début.
  • Délimitez votre travail en segments gérables qui peuvent être traités de manière plus fiable par l'agent.

Créer des agents IA efficaces

Vous pouvez créer des agents en utilisant du code MATLAB avec des LLMs via MATLAB et le client HTTP MATLAB MCP. Les agents fournissent des fonctions MATLAB pour se connecter aux LLM (par exemple, les API compatibles OpenAI ou les modèles sur Ollama™) et pour appeler des outils MCP externes. Il existe plusieurs patterns à implémenter pour construire des workflows agentiques.

Modèle 1 : ReAct (Reasoning + Acting)

Le modèle d’agent le plus courant alterne entre la réflexion et l’action. Le LLM réfléchit à la prochaine étape à suivre, agit en conséquence, observe les résultats, puis répète ce processus.

% 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 

Modèle 2 : Enchaînement d'outils

Les tâches complexes nécessitent l'utilisation séquentielle de plusieurs outils. La sortie de l'un devient l'entrée du suivant :

Etape Action Objectif
1 Générer du code L'IA écrit du code MATLAB selon votre demande.
2 Analyser le code Vérifier les erreurs, les problèmes de style et les bugs potentiels.
3 Exécuter le code Exécuter dans MATLAB et capturer la sortie.
4 Évaluer les résultats L'IA examine le résultat, corrige les erreurs ou confirme le succès.

Modèle 3 : Human-in-the-Loop

Pour les applications critiques en matière de sécurité, ajoutez des étapes d'approbation :

% Human-in-the-loop pattern 
proposedAction = generate(chat, query); 
 
% Display proposed action for approval 
fprintf("Proposed: %s\n", proposedAction.description); 
approval = input("Approve? (y/n): ", "s"); 
 
if strcmp(approval, "y") 
    result = executeAction(proposedAction); 
else 
    disp("Action cancelled."); 
end 

Conseils pratiques

Plusieurs principes directeurs constituent les clés pour garantir des agents fiables :

  • Commencer simplement : faites fonctionner un seul outil avant de construire des chaînes complexes.
  • Ajouter de l’observabilité : consignez chaque appel LLM et chaque exécution d’outil ; vous en aurez besoin pour le débuggage.
  • Gérer les erreurs avec soin : les LLM commettent des erreurs ; mettez en place une logique de nouvelle tentative avec un retour en arrière exponentiel.
  • Définir des limites : limitez les itérations, les budgets de symboles et les outils auxquels un agent peut accéder.
  • Tester de manière adversariale : testez délibérément les cas limites pour mettre à l'épreuve votre agent avant qu'il n'atteigne les utilisateurs.