Home » Программирование на основе потоков, способ совместного развития ИИ и людей

Программирование на основе потоков, способ совместного развития ИИ и людей

Я думаю, что к настоящему времени все, кто читает это, увидят, как новое поколение больших языковых моделей, таких как ChatGPT, может создавать несколько полезный код. Как и любое продвижение в разработке программного обеспечения — от IDE до языков высокого уровня — это вызвало некоторые дискуссии о будущих перспективах трудоустройства в нашей области.

Это заставило меня задуматься о том, как эти новые инструменты могут вписаться в мир Flow-Based Programming, метода разработки программного обеспечения, которым я занимался уже довольно давно. В Flow-Based Programming это очень строгая граница между многократно используемым «библиотечным кодом» (называемым Компоненты) и «логика приложения» (называемая График).

Вот что написал по этому поводу покойный Дж. Пол Моррисон в своей основополагающей работе: Программирование на основе потоков: новый подход к разработке приложений (2010):

Так же, как в приготовлении и потреблении пищи есть две роли повара и обедающего, в разработке приложений FBP есть две разные роли: разработчик компонента и пользователь компонента или разработчик приложения.

… Разработчик приложений создает приложения, используя уже существующие компоненты, или, если удовлетворительных компонентов не существует, он/она укажет новый компонент, а затем позаботится о его создании.

Вспоминая этот отрывок, я задумался, смогу ли я заставить один из LLM производить полезные компоненты NoFlo? Вооружившись New Bing, я отправился исследовать.

Первой попыткой было указать довольно простой компонент:

Новый Bing пишет компонент

Это на самом деле выглядит вполне разумно! Я также пытался попросить New Bing сделать компонент менее подробным, а также создать его варианты TypeScript и CoffeeScript. Все, казалось, производило работоспособные вещи! Конечно, может потребоваться некоторая уборка, но это избавит вас от утомительной работы по созданию компонентов.

Read more:  Польша усиливает ВВС из-за ракетного удара по Украине

В дополнение к этому тривиальному математическому компоненту я смог сгенерировать некоторые из них для вызова внешних REST API и т. д. Bing даже мог переключаться между HTTP-библиотеками по запросу.

Что было еще круче, так это то, что на самом деле предложенный спросить его, как протестировать компонент. Делая, как мне сказали, результат был довольно удивительным:

Новый Bing пишет тесты fbp-spec

Это fbp-спецификация! Инструмент декларативного тестирования, который мы придумали! Определенно лучший способ протестировать компоненты NoFlo (или любой другой среды FBP).

Основываясь на моих результатах, вы обязательно захотите проверить сгенерированные компоненты и тесты перед их запуском. Но то, что у тебя получается, совсем не плохо.

Я, конечно, также пытался заставить Bing создавать для меня графики NoFlo. Вот тут совсем немного споткнулся. Интересно, что результаты на языке fbp были лучше, чем в графическом формате JSON. Но, может быть, это еще больше подкрепляет сладким местом будет ИИ, пишущий компоненты, и человек, создающий графики, которые запускают эти компоненты..

ИИ и люди работают вместе

Поскольку в данный момент я не работаю, у меня нет текущего варианта использования этого способа совместной работы. Но я считаю, что это может стать огромным стимулом для повышения производительности при разработке любого (и особенно Flow-Based) приложения, и ожидаю, что попробую его на любом моем следующем концерте.

Иллюстрации: MidJourney, из подсказки Разработчик программного обеспечения для роботов, работающий с архитектором программного обеспечения. Плавающие блок-схемы на заднем плане

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.