生成式 AI 正在持续改变我们与计算机的交互方式。过去,使用 LLM 解决工程问题意味着反复复制粘贴代码、手动修复错误,并寄希望于 AI 能够理解您的专业领域。能够推理、行动并自主执行 MATLAB 和 Simulink 工作流的 AI 系统,能带来更大的影响力。智能体 AI 正在推动这一变革。
本指南将向您展示如何构建不仅能提供解决方案、还能执行解决方案的 AI 系统。通过模型上下文协议 (MCP) 和全新的智能体工具包将 LLM 连接到 MATLAB 和 Simulink,您可以创建能够编写代码、构建模型、运行仿真、分析结果并反复迭代直至完成任务的 AI 智能体。
如果您使用过 ChatGPT® 或 Claude® 来辅助编写 MATLAB 代码,那您一定熟悉这个流程:提问、获取代码、粘贴到 MATLAB、遇到错误、返回聊天、解释错误、获取新代码、如此反复。它能正常工作,但速度缓慢且令人沮丧。
智能体 AI 闭合了这一循环。
非智能体 AI |
智能体 AI |
|
根据请求生成代码片段 |
→ |
编写代码并直接执行 |
需要您手动复制、粘贴并运行代码。 |
→ |
反复迭代直至任务完成 |
依赖您来解释错误并提出后续问题。 |
→ |
发现错误并自动修复 |
无法访问您的文件或数据 |
→ |
访问您的工作区和数据 |
无法验证代码是否有效 |
→ |
交付可供测试的有效结果 |
将聊天机器人变为同事的四大能力
非智能体 AI 就像一位只写报告的顾问。具备智能体能力的 AI 就像一位能够完成工作的伙伴。AI 解决问题、展示结果,并询问您是否需要修改。
| 能力 | 含义 | MATLAB 示例 |
|---|---|---|
| 推理 | 将复杂问题分解为若干步骤 | “为了优化该控制器,我将首先分析被控对象,然后设计一个 PID 控制器,最后进行调试。” |
| 规划 | 达成目标的序列操作 | “步骤 1:加载数据。步骤 2:训练模型。步骤 3:验证。步骤 4:导出。” |
| 工具使用 | 调用外部函数和 API | 调用 trainnet、sim 或自定义 MATLAB 函数 |
| 自适应 | 从反馈和错误中学习 | “出错了。让我检查一下尺寸,然后再试一次。” |
为什么要将 MATLAB 和 Simulink 与智能体 AI 结合使用?
MATLAB 和 Simulink 可为工程和科学领域的智能体 AI 提供独特价值,因为它们具备:
- 基于模型的设计:在部署之前构建、仿真和测试复杂系统
- 仿真能力:连接 Simulink 进行系统级测试和验证
- 领域专业知识:100 多个工具箱,涵盖信号处理、控制、深度学习等领域
- 专业工具:内置代码分析、可视化和部署功能
- 可靠计算:LLM 会产生数学幻觉;MATLAB 则能准确计算
LLM 想使用 MATLAB 就必须具备发现可用工具、以正确参数调用这些工具并接收结果的能力。MCP 正是为此而生:一个标准的 AI 与工具的交互框架。可以将 MCP 类比为 AI 的 USB-C 接口:正如 USB-C 能让任何设备连接到任何外围设备,MCP 能让任何 AI 模型连接到任何工具,包括 MATLAB 和 Simulink。
MCP 服务器负责在 AI 请求与 MATLAB 执行之间进行转译。AI 智能体决定做什么;MATLAB 负责计算。
安装
从 GitHub 获取 MATLAB MCP Core Server:
# 克隆仓库 git clone https://github.com/matlab/matlab-mcp-core-server # 遵循您的 AI 客户端的设置说明 # (Claude 桌面版、带 Copilot 的 VS Code、Gemini 命令行工具等)
MCP Core Server 提供基础连接;Simulink Agentic Toolkit 在此基础上扩展了模型特定的功能。MATLAB Agentic Toolkit 和 Simulink Agentic Toolkit 均基于此协议构建。
MATLAB Agentic Toolkit 是 GitHub 上的一个免费开源软件包,为 AI 编程智能体提供 MATLAB 专业知识以及与本地 MATLAB 会话的实时连接。该工具包由两个组件组成:MATLAB MCP Core Server 和一组精选的智能体技能。
AI 智能体使用 MATLAB Agentic Toolkit 在滤波器分析器中比较 FIR 滤波器设计。
两个组件:MCP Core Server 和智能体技能
MATLAB MCP Core Server
MCP Core Server 让任何兼容 MCP 的智能体都能直接访问您计算机上运行的 MATLAB。该服务器提供五个内置工具:
| 工具 | 功能 |
evaluate_matlab_code |
运行 MATLAB 代码并返回命令行窗口输出。 |
run_matlab_file |
执行 MATLAB 程序文件。 |
run_matlab_test_file |
通过 runtests 运行测试,返回结构化的通过/失败结果。 |
check_matlab_code |
使用代码分析器执行静态分析。 |
detect_matlab_toolboxes |
列出已安装的 MATLAB 版本和工具箱。 |
该服务器还提供两项 MCP 资源作为专属文档,其内容专为调用该 MCP 服务器的 AI 系统量身定制。matlab_coding_guidelines 资源指导 AI 掌握良好的 MATLAB 编码实践,而 plain_text_live_code_guidelines 则向 AI 解释如何生成纯文本实时脚本。AI 智能体会在需要时自动引用这些资源。
智能体技能
智能体技能是基于 Markdown 的说明文件,用于指导 AI 智能体掌握 MATLAB 特定的工程实践。它们不是代码库,而是引导智能体行为的结构化提示词。
技能可以显式调用(例如在 Claude Code 中使用 /creating-live-scripts),也可以在智能体识别到相关任务时被动激活。
智能体技能为 AI 智能体提供了训练中未曾学习的详细知识。这些技能使 AI 智能体能够更快速、更稳健、更经济高效地解决深入的科学和工程问题。
智能体工具包提供的技能正在快速发展。您可以在技能目录中找到当前可用的技能。
安装和配置
要求:
- MATLAB R2020b 或更高版本
- 支持的 AI 编程智能体
- Git
设置工作流:
- 从 GitHub 克隆 MATLAB Agentic Toolkit 仓库。
- 在仓库文件夹中打开您的 AI 编程智能体。
- 要求智能体“设置工具包”。
- 设置技能会处理其余工作:检测本地 MATLAB 安装、安装 MCP 服务器,以及将其注册到智能体。
MCP 服务器大约每两周更新一次。定期从仓库拉取最新更新以保持版本同步。
智能体工作流的实际应用
工具包启用后,智能体即可读取、编写、执行、测试和分析 MATLAB 代码,无需复制粘贴。典型工作流:
- 您用自然语言描述任务。
- 智能体利用其 MATLAB 规范知识(来自技能和编码指南)编写 MATLAB 代码。
- 智能体通过 MCP 服务器执行代码并读取结果。
- 如果出现问题,智能体会调试、修改并重新运行,反复迭代直至任务完成。
- 您审查最终输出。
结构化工作流:调研、规划、实施 (RPI)
对于较大的项目,结构化方法效果更佳:
- 调研:智能体根据您的提示词生成产品需求文档 (PRD)。您通过澄清问题和参考资料与智能体反复迭代。
- 规划:智能体生成
PLAN.md和分阶段的TASKS.md,逐步概述实施方法。 - 实施:分阶段执行任务,在进入下一步之前暂停以纠正偏差。
这种结构化方法将智能体编程从不可预测变为可控。规划文档在长会话中锚定智能体的行为,防止上下文漂移。
安全基础
- 将智能体访问权限限定在特定项目文件夹内。
- 使用 Git 确保透明性和轻松回滚。
- 审查所有生成的代码、命令和文件操作。
- 避免将机密或受监管数据传递给编程智能体。
- 使用受信任的 MCP 服务器和技能。
该工具包可与任何支持 MCP 的智能体配合使用,包括 Claude Code、GitHub Copilot® 和 OpenAI Codex™。配置因智能体而异,但遵循相同的模式:将智能体的 MCP 设置指向 MATLAB MCP Core Server。设置技能会为每个受支持的平台自动完成此配置。
Simulink Agentic Toolkit 将智能体 AI 生态系统扩展到基于模型的设计。MATLAB Agentic Toolkit 为智能体提供代码执行能力,而 Simulink Agentic Toolkit 则为智能体提供对 Simulink 模型的结构化访问,包括其架构、信号、参数和仿真行为。
Simulink Agentic Toolkit 是一个 GitHub 仓库,基于 MATLAB MCP Core Server 构建。该工具包增加了 Simulink 和基于模型的设计专用的 MCP 工具和智能体技能。
Simulink MCP 工具和智能体技能
除了 MATLAB MCP Core Server 中提供的工具外,该工具包还增加了 Simulink 专用工具,用于读取模型结构、编辑模块和连接、查询参数以及运行仿真。这些专用工具帮助智能体导航模型层次结构、检查所需信息并进行有针对性的更改。
工具包的技能利用这些工具来执行基于模型的设计中常见任务的推荐工作流。每项技能都包含足够的工程上下文,使智能体能够遵循既定模式完成任务,而不是每次都从头摸索工作流。
Simulink Agentic Toolkit 会定期更新。有关当前工具和技能列表,请参阅 GitHub 仓库。
安装和设置
有关安装说明(包括受支持的智能体和配置步骤),请参阅 Simulink Agentic Toolkit 的 GitHub 仓库。
仓库中的 README 说明了每个受支持智能体的设置方法,并随每次发布保持更新。
使用 AI 智能体进行需求管理
该工具包最强大的用例之一是需求工程。AI 智能体可以:
- 根据自然语言描述或现有文档起草需求
- 将每项需求链接到实现它的模型元素
- 在设计演进过程中维护可追溯性
- 生成可追溯性矩阵以展示覆盖率缺口
这些功能减轻了手动编写文档的负担,而这一负担往往会拖慢项目进度。智能体提出建议;工程师审查和批准。
设计实现
智能体可以修改现有模型或根据规范创建新系统。支持的模型类型包括:
- Simulink 模块图(标准信号流模型)
- Stateflow 图(状态机和决策逻辑)
- Simscape 模型(物理系统:热力、电气、机械、液压)
- System Composer 架构(系统级架构模型)
推荐的工作流遵循五步循环:
步骤 |
操作 |
描述 |
1 |
提议 |
智能体用自然语言起草内容:架构、方程、参数。 |
2 |
审批 |
您审查方案并反复迭代。 |
3 |
生成 |
智能体使用 Simulink 专用工具编写实现脚本。 |
4 |
运行 |
MCP 服务器针对实时模型执行代码。 |
5 |
确认 |
您在 Simulink 中验证输出。 |
示例:制动器热仿真
在这篇 Simulink Agentic Toolkit 博客文章中,Guy Rouleau 完整演示了如何通过提议/审批/生成/运行/确认循环来构建盘式制动器热模型。他向智能体发出提示词:“为我制定一个方案,对普通轿车典型盘式制动器的热行为进行仿真。”
智能体生成了两份规格文档,涵盖系统架构、刹车片和盘片的传热方程、环境条件、组件图以及完整的参数列表。经过三轮架构迭代(最终将范围扩展到包含一个简单的纵向车辆模型),智能体生成了完整的 Simulink 模型。
在测试方面,智能体创建了组件级子系统测试和闭环驾驶场景,均在 Simulink 测试管理器中实现。整个工作流—从初始提示到验证完成的模型—遵循五步循环,无需手动构建模型。
仿真、测试和验证
该工具包支持完整的验证周期:
- 运行仿真,包括配置管理和并行执行
- 通过构建测试用例和隔离根本原因来重现报告的问题
- 使用 Simulink Test 编写测试
- 提出修复方案并重新运行测试以进行验证
工程师专注于结果分析,而非管理设置流程。
基于模型的系统工程 (MBSE)
对于使用 MBSE 方法论的团队,该工具包支持完整的 RFLP 框架:需求、功能、逻辑和物理。
将 Simulink Agentic Toolkit 与 System Composer 和 Requirements Toolbox 配合使用,智能体可以:
- 创建和管理与架构元素关联的需求
- 构建功能、逻辑和物理架构模型
- 生成接口字典和构造型
- 生成解析视图和分配集
目标是快速构建初始系统工件原型,将工程精力从样板化设置中释放出来,投入到实质性的问题解决中。
让工程师始终参与决策
Simulink Agentic Toolkit 围绕人工监督而设计。每项功能都遵循同一原则:智能体提议,工程师决策。
实用技巧
- 审查自定义技能是否与工具包功能冲突。指令重叠可能导致智能体退回到效率较低的方法。
- 当智能体使用次优方法时,明确将其重定向到 Simulink 专用工具。
- 要求智能体在执行前提供规划文档和设计规格,以便尽早确定设计决策。
- 将工作限定在智能体能够更可靠处理的可控范围内。
您可以使用 MATLAB 代码,借助 LLMs with MATLAB 和 MATLAB MCP HTTP Client 来创建智能体。这些工具提供 MATLAB 函数,用于连接 LLM(例如兼容 OpenAI 的 API 或 Ollama™ 上的模型)以及调用外部 MCP 工具。构建智能体工作流有多种模式可供实现。
模式 1:ReAct(推理 + 行动)
最常见的智能体模式是在思考与行动之间交替进行。LLM 推理下一步操作、执行动作、观察结果,然后重复此过程。
% ReAct 循环模式
while ~taskComplete
% 思考:LLM 推理下一步行动
thought = generate(chat, [context, "接下来我应该做什么?"]);
% 操作:如有需要,执行工具。
if needsTool(thought)
result = executeTool(thought.tool_call);
context = [context; result];
end
% 观察:根据结果更新状态
taskComplete = checkCompletion(context);
end
模式 2:工具链
复杂任务需要按顺序调用多个工具。前一个工具的输出成为下一个工具的输入:
| 步骤 | 操作 | 目的 |
|---|---|---|
| 1 | 生成代码 | AI 根据您的请求编写 MATLAB 代码 |
| 2 | 分析代码 | 检查错误、风格问题和潜在 Bug |
| 3 | 执行代码 | 在 MATLAB 中运行并捕获输出 |
| 4 | 评估结果 | AI 审查输出;修复错误或确认成功 |
模式 3:人员在环
对于安全关键型应用,添加审批步骤:
% 人员在环模式
proposedAction = generate(chat, query);
% 显示建议的操作以供批准
fprintf("建议:%s\n", proposedAction.description);
approval = input("批准吗?(是/否):", "s");
if strcmp(approval, "y")
result = executeAction(proposedAction);
else
disp("操作已取消。");
end
实用指南
有几条指南是确保智能体可靠性的关键:
- 从简单开始:先让一个工具正常运行,再构建复杂的调用链。
- 增加可观测性:记录每次 LLM 调用和工具执行;调试时会用到。
- 优雅处理错误:LLM 会犯错;构建具有指数退避机制的重试逻辑。
- 设定边界:限制迭代次数、词元预算以及智能体可访问的工具。
- 对抗性测试:在智能体上线之前,刻意测试边界情况以发现问题。
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)