E-book

Guía de IA agente con MATLAB

Introducción: IA agente con MATLAB

La IA generativa ha transformado la forma en que interactuamos con los computadores. Sin embargo, se requiere un nuevo enfoque para ir más allá del chat y desarrollar sistemas de IA capaces de razonar, actuar y ejecutar código de MATLAB® de manera autónoma. Hoy en día, pedirle a un LLM que resuelva un problema de ingeniería implica copiar y pegar código, corregir errores manualmente y esperar que la IA comprenda el dominio. La IA agente cambia esto.

Esta guía muestra cómo crear sistemas de IA que no solo sugieren soluciones, sino que también las ejecutan. Conectar un LLM a MATLAB a través de Model Context Protocol (MCP) permite habilitar agentes de IA que escriben código, ejecutan simulaciones, analizan resultados y realizan iteraciones hasta completar la tarea.

Tres recuadros que muestran la evolución desde la IA generativa (copiar y pegar manualmente) hasta la IA generativa + herramientas (la IA escribe, una persona depura) y la IA agente (la IA escribe, ejecuta y corrige el código).

Evolución desde la IA tradicional basada en chat a la IA agente totalmente autónoma.


Del chat a la acción: Por qué usar IA agente

Si ha usado ChatGPT o Claude para obtener ayuda con código de MATLAB, ya sabe cómo funciona: hace una pregunta, obtiene código, lo pega en MATLAB, encuentra un error, vuelve al chat, explica el error, obtiene código nuevo y repite el proceso. Funciona bien, pero es lento y frustrante.

La IA agente resuelve este problema. En lugar de usarlo como un generador de texto que se puede usar manualmente, el agente de IA:

  • Escribe código y lo ejecuta directamente
  • Detecta errores y los corrige automáticamente
  • Tiene acceso al área de trabajo y sus datos
  • Realiza iteraciones hasta que la tarea esté concluida
  • Genera resultados verificados y funcionales

Compárelo con IA generativa, que:

  • Genera fragmentos de código bajo demanda
  • Requiere copiar, pegar y ejecutar código manualmente
  • Requiere que un usuario interprete errores y formule consultas de seguimiento
  • No tiene acceso a archivos o datos
  • No se puede verificar si el código realmente funciona

Características que convierten a un chatbot en su colega

La IA generativa es como un consultor que redacta informes. La IA agente es como un colega que realiza tareas. La IA no solo indica cómo resolver un problema, sino que lo resuelve, muestra los resultados y pregunta si desea hacer cambios.

Características del sistema agente

Un sistema agente posee cuatro características clave que lo convierten de un chatbot en un solucionador de problemas autónomo.

Característica Significado Ejemplo en MATLAB
Razonamiento Divide problemas complejos en pasos "Para optimizar este controlador, primero analizaré la planta, luego diseñaré un controlador PID y, finalmente, lo ajustaré".
Planificación Secuencia acciones orientadas a un objetivo "Paso 1: Cargar datos. Paso 2: Entrenar modelo. Paso 3: Validar. Paso 4: Exportar."
Uso de herramientas Llama a funciones y API externas Llama a trainnet, sim o funciones personalizadas de MATLAB
Adaptación Aprende de retroalimentación y errores "Esto generó un error; comprobaré las dimensiones e intentaré de nuevo."

Por qué combinar MATLAB con IA agente

MATLAB es excepcionalmente valioso para la IA agente en ingeniería y ciencias porque ofrece:

  • Cálculo fiable: Los LLM alucinan con las matemáticas, mientras que MATLAB las calcula correctamente.
  • Conocimiento especializado: Dispone de más de 100 toolboxes para procesamiento de señales, control, Deep Learning y mucho más.
  • Prestaciones de simulación: Se integra con Simulink® para realizar pruebas y verificaciones en nivel de sistema.
  • Herramientas profesionales: Incluye funciones integradas de análisis, visualización y despliegue de código.

Comprender Model Context Protocol

Para que un LLM pueda usar MATLAB, necesita una forma de descubrir qué herramientas están disponibles, llamarlas con los parámetros correctos y recibir los resultados. Esto es precisamente lo que ofrece Model Context Protocol: un marco común que permite la interacción entre la IA y las herramientas. Piense en MCP como un puerto USB-C para IA: así como USB-C permite que cualquier dispositivo se conecte a cualquier periférico, MCP permite que cualquier modelo de IA se conecte a cualquier herramienta, incluido MATLAB.

Diagrama de flujo de tres pasos: El agente de IA (Claude, Copilot, etc.) se conecta a un servidor MCP (puente de protocolos), que se conecta a MATLAB (ejecuta código).

Arquitectura MCP: cómo los agentes de IA se conectan a MATLAB.

El servidor MCP realiza la traducción entre las solicitudes de IA y la ejecución de MATLAB. El agente de IA decide qué hacer; MATLAB realiza el cálculo.

Dos formas de usar MCP con MATLAB

Enfoque Caso práctico Requisito
MATLAB como herramienta (MCP Core Server) Permita que apps de IA externas (Claude Desktop, GitHub Copilot, VS Code) ejecuten código de MATLAB MATLAB + MCP Core Server + cliente de IA preferido
MATLAB como host (MCP Client) Cree sus propios agentes de IA en MATLAB que llamen a herramientas y API externas MATLAB + complemento MCP Client + LLM con MATLAB

Permitir que los agentes de IA utilicen MATLAB (MCP Core Server)

MATLAB MCP Core Server pone MATLAB a disposición de cualquier aplicación de IA compatible con MCP. Una vez instalados, los asistentes de IA, como Claude Desktop, GitHub Copilot o Gemini CLI, pueden escribir y ejecutar código de MATLAB en su nombre bajo su control.

En segundo plano, MCP Core Server proporciona cinco prestaciones básicas que permiten a los agentes de IA trabajar con MATLAB de manera autónoma. No es necesario que los llame directamente; el agente de IA los utiliza automáticamente según las instrucciones que le dé:

Cuando le pide a IA que... El servidor se encarga de...
"Escriba una función que filtre esta señal" Generar código: Crea y guarda archivos .m en el área de trabajo
"Ejecute este script y muestre los resultados" Ejecutar código: Ejecuta código de MATLAB y captura la salida, las gráficas y los errores
"Detecte problemas en el código" Analizar código: Utiliza el linter incorporado de MATLAB para evaluar el estilo y la precisión
"Corrija el error y vuelva a intentarlo" Mejorar iterativamente: IA determina el error, modifica el código y vuelve a ejecutarlo
(Automático) Gestionar sesiones: Inicia y mantiene la conexión con MATLAB de manera transparente

Flujo de trabajo agente

Una interacción típica consiste en pedir que IA "cree un filtro Butterworth para una señal con ruido". La IA escribe el código, lo ejecuta en MATLAB, comprueba si hay errores o resultados inesperados, refina su enfoque y entrega código funcional con una gráfica, todo sin necesidad de copiar o pegar de su parte.

Instalación

Descargue MATLAB MCP Core Server desde GitHub:

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

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

Ejemplo de configuración (Claude Desktop)

Añada esto en claude_desktop_config.json:

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

Comprenda lo que está habilitando

Las herramientas de IA agente pueden escribir y ejecutar código en su máquina con acceso a sus archivos. Esta capacidad es poderosa pero requiere confianza. Revise lo que la IA propone antes de aprobar acciones significativas, especialmente en entornos de producción.


Crear agentes de IA en MATLAB (MCP Client)

Para desarrollar su propio agente de IA que funcione dentro de MATLAB, y llame a herramientas y API externas puede utilizar MATLAB MCP Client y convertir a MATLAB en una plataforma para el desarrollo de IA agente.

Cuatro componentes: Su código de MATLAB (lógica agente), API de LLM (OpenAI, Ollama, y otros), MCP Client (exploración de herramientas) y servidores MCP externos (cualquier herramienta o API)

Los cuatro bloques de creación de un sistema de IA agente basado en MATLAB.

Principales prestaciones de MATLAB como host de agentes de IA

  • Búsqueda de herramientas: Consulte cualquier servidor MCP para obtener una lista las herramientas disponibles y sus esquemas de entrada.
  • Llamada a herramientas: Llame a herramientas externas tan fácilmente como funciones locales de MATLAB con callTool.
  • Integración con LLM: Convierta los esquemas de herramientas en objetos openAIFunction para llamadas a función de manera fluida.

A continuación, veamos un ejemplo de cómo desarrollar un flujo de trabajo agente dentro de MATLAB:

% Connect to an MCP server 
client = mcpClient("path/to/mcp-server"); 
 
% List available tools from the server 
tools = listTools(client); 
disp(tools); 
 
% Convert tools to OpenAI function format for the LLM 
functions = openAIFunction(tools); 
 
% Create a chat with function calling enabled 
chat = openAIChat("You are a helpful assistant.", ... 
 Tools=functions); 
 
% Send a user query - LLM decides if a tool is needed 
response = generate(chat, "What is the 10th prime number?"); 
 
% If LLM requests a tool call, execute it 
if isfield(response, 'tool_calls') 
 toolRequest = response.tool_calls; 
 result = callTool(client, toolRequest); 
     
 % Feed result back to LLM for final response 
 finalResponse = generate(chat, result); 
end 

Compatibilidad de conexión

Cualquier servidor MCP funciona con MATLAB MCP Client. Incluye servidores para bases de datos, API web, sistemas de archivos, otros servicios de IA y herramientas personalizadas. El ecosistema está en constante crecimiento.


Implementar llamadas a herramientas en MATLAB

La llamada a herramientas es un mecanismo elemental de IA agente. El LLM no ejecuta funciones directamente, sino que genera una solicitud estructurada que describe qué función llamar y con qué argumentos. El código ejecuta la función y devuelve los resultados al LLM.

Flujo de cuatro pasos: Consulta del usuario, decisión del LLM (solicitud de addNumbers(212,88)), ejecución en MATLAB (resultado = 300), respuesta del LLM ("La suma es 300")

Cómo un sistema de IA agente procesa una consulta desde los datos de entrada del usuario hasta la respuesta final.

El LLM razona sobre qué calcular. MATLAB se encarga de calcularlo correctamente. Cuando se envía una consulta, el LLM interpreta el propósito y decide a qué herramienta llamar y con qué parámetros. MATLAB ejecuta la función y devuelve el resultado. El LLM provee la respuesta en lenguaje natural. Los usuarios no necesitan escribir ni ejecutar código por sí mismos.

Definir una herramienta en MATLAB

% Define a function that the LLM can call 
function result = addTwoNumbers(x1, x2) 
 result = x1 + x2; 
end 
 
% Create tool definition for the LLM 
addTool = openAIFunction("addTwoNumbers", ... 
 "Add two numbers together"); 
addTool = addParameter(addTool, "x1", "number", ... 
 "First number to add", Required=true); 
addTool = addParameter(addTool, "x2", "number", ... 
 "Second number to add", Required=true);

Crear un agente de IA sencillo

function aiAgent(userQuery) 
 % Initialize chat with tools 
 chat = ollamaChat("mistral-nemo", Tools=addTool); 
     
 % Get LLM response 
 response = generate(chat, userQuery); 
     
 % Check if LLM wants to call a tool 
 if isfield(response, 'tool_calls') 
 % Extract function call details 
 funcName = response.tool_calls.function.name; 
 args = response.tool_calls.function.arguments; 
         
 fprintf("AI requested: %s(%f, %f)\n", ... 
 funcName, args.x1, args.x2); 
         
 % Execute the function 
 result = addTwoNumbers(args.x1, args.x2); 
 fprintf("Result: %f\n", result); 
 else 
 % No tool call - show direct response 
 disp(response.content); 
 end 
end

La llamada a herramientas funciona con múltiples proveedores a través de los LLM con complementos de MATLAB, que incluyen:

  • OpenAI: Modelo de GPT más reciente (a través de API)
  • Azure OpenAI: Implementación empresarial
  • Ollama: Modelos locales, como Mistral, GPT-OSS, DeepSeek y Qwen

Crear agentes de IA eficaces

Pasar de pruebas a producción requiere patrones que hagan que los agentes sean confiables, observables y seguros. Estos enfoques han sido probados en sistemas agente reales.

Patrón 1: ReAct (razonar + actuar)

El patrón de agente más común alterna entre pensar y actuar. El LLM razona sobre el siguiente paso a realizar, ejecuta una acción, observa el resultado y repite el proceso.

% 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 

Patrón 2: Encadenamiento de herramientas

Las tareas complejas requieren llamadas a múltiples herramientas en secuencia. La salida de una herramienta se convierte en la entrada de la siguiente. Por ejemplo:

Paso Acción Propósito
1 Generar código La IA escribe código de MATLAB en base a una solicitud.
2 Analizar código Comprueba si hay errores, problemas de estilo y posibles fallos.
3 Ejecutar código Ejecuta código en MATLAB y captura la salida.
4 Evaluar resultados La IA revisa la salida, y confirma que es correcta o corrige los errores.

Patrón 3: Human-in-the-loop

Para aplicaciones críticas en materia de seguridad, añada pasos de aprobación antes de que el agente actúe:

% 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 

Guía práctica

Varias directrices sirven como clave para garantizar la fiabilidad de los agentes:

  • Comience de forma sencilla: Asegúrese de que una sola herramienta funcione correctamente antes de crear cadenas complejas.
  • Añada observabilidad: Registre cada llamada a LLM y ejecución de la herramienta ya que lo necesitará durante la depuración.
  • Gestione errores claramente: Los LLM cometen errores. Implemente lógica de reintentos con retroceso exponencial.
  • Establezca límites: Limite el número de iteraciones, el presupuesto de tokens y las herramientas a las que puede acceder un agente.
  • Realice pruebas de forma adversaria: Pruebe deliberadamente los casos límite para detectar fallos en el agente antes de que lleguen a usuarios.