Simulink (Matlab) Copilot ( github.com/kaamuli )
Это очень круто, спасибо, что поделились. Есть много отраслей и академических областей, где Matlab вышел из моды (я работаю в одной из них), и мой опыт показывает, что существует много чрезмерно негативных отзывов о продуктах Mathworks, в основном из-за лицензии и бизнес-модели. Но я думаю, что есть недостаток понимания того, насколько Matlab и Simulink превосходят все альтернативы в некоторых областях. Все это для того, чтобы сказать: не позволяйте ненависти к Matlab овладеть вами, вы используете правильный инструмент для работы.

Жалобы на лицензирование кажутся немного странными, учитывая, что компания на самом деле обслуживает любителей. У них есть постоянная домашняя лицензия за $100 с чем-то, которая не требует доступа в интернет.
Большинство других поставщиков узкоспециализированного «профессионального» программного обеспечения просто показывают средний палец любителям и хотят, чтобы вы выложили тысячи долларов за годовую подписку.
Я думаю, что совершенно нормально сказать: «Мне это не нужно, мне подходят инструменты с открытым исходным кодом». Точно так же, как вы можете использовать KiCad вместо Cadence для проектирования печатных плат. Но злиться на Mathworks за то, что он хочет денег от коммерческих пользователей, кажется странным.
Альтернативы Simulink действительно нет. Когда вы добавляете Simulink Compiler и Embedded Coder, вы можете делать удивительные вещи. Если я делаю что-то еще, я использую Python.

Прежде чем начать — да, я знаю, что дифференциальное уравнение в видео неверно. Я уже исправил это, настроив подсказку и скрипт так, чтобы входные данные зависели от того, что запрашивается. Первоначальная проблема заключалась в том, что блоки вроде Sum вставлялись без сопоставления правильного количества входных и выходных данных.
Я студент 2-го курса по специальности «авиационная инженерия» в Имперском колледже Лондона, мне нравится решать проблемы (получил BPhO — золото и UKMT Gold). Я полный разработчик (или, по крайней мере, пытаюсь быть таковым, lol), который хакнул Bloxi, второго пилота с искусственным интеллектом, который находится поверх Simulink и превращает простые английские подсказки в рабочие модели систем управления и может легко отлаживать их в реальном времени. Я сам почувствовал боль в этом семестре, наблюдая, как студенты высшего уровня сжигают часы на монтаже блоков вместо проектирования. С сегодняшними мультимодальными LLM, наконец, способными «видеть» диаграммы, это первый момент, когда может существовать такой помощник, как Bloxi, и самый быстрый способ дать миллионам инженеров тот же скачок производительности, который только что получили кодеры.
Я создал это в основном для того, чтобы освоиться с LLM и «инженерией подсказок», и я думаю, что я достиг точки, когда я закончил возиться — особенно теперь, когда MathWorks объявили, что работают над своей собственной версией. Поэтому я решил поделиться тем, что у меня есть, на случай, если кто-то захочет развить это дальше, а также просто чтобы поделиться этим с миром, не так ли?
Как это работает
Два скрипта + простой бэкэнд: 1. Один создает модель Simulink. 2. Другой обрабатывает чат + простой пользовательский интерфейс. 3. Бэкэнд, который склеивает API OpenAI и фронтэнд.
Вставьте свой собственный ключ API OpenAI и все готово. Я использовал его для отладки и сборки нескольких моделей uni-project, и он оказался на удивление удобным.
Сначала он просто выдал готовый файл Simulink, но я хотел, чтобы эта атмосфера «прохода» ChatGPT делала его «волшебным». Поэтому я добавил пару циклов for: один для пошаговой загрузки блоков, а другой для их подключения.
Поскольку сырой код не виден в Simulink (насколько мне известно), в одном из моих скриптов я заставил его пройти по файлу simulink и сделать снимок экрана на каждом этапе, используя тот факт, что API OpenAI является многомодальным, передать их через LLM и позволить ему обнаружить несоответствия. Работает лучше, чем я ожидал. Может быть, кто-то сможет сделать лучше или найти лучший способ?
Видео на Youtube, где я его использую: https://youtu.be/TX0fviaFSyg
Вот ссылка на GitHub, если вы хотите поиграться с ним, поковыряться или заняться его разработкой: https://github.com/Kaamuli/Bloxi
Чтобы использовать скрипты загрузки и открытия, просто выполните openChatbox().
Отлично сделано. Simulink действительно нуждается в чем-то подобном.
Source: news.ycombinator.com