banner
Дом / Новости / Будущее программирования: искусственный интеллект и интерфейс
Новости

Будущее программирования: искусственный интеллект и интерфейс

Jul 13, 2023Jul 13, 2023

Эрик Эллиотт

Следовать

JavaScript-сцена

--

2

Слушать

Делиться

Языковые модели искусственного интеллекта, такие как ChatGPT и Claude, позволяют каждому создавать программное обеспечение. Эти модели могут разумно понимать проблемы, создавать решения и объяснять решения. Но естественный язык не всегда лучший способ общения с ИИ. Если вам нужно отслеживать сложные данные и определять, как вы взаимодействуете с этими данными определенными способами, SudoLang может помочь.

Если вы думаете, что это поможет только с кодом ИИ, подумайте еще раз. Вы можете написать любую программу в SudoLang, а затем перенести ее на другие языки, такие как JavaScript, Python, Rust или C — так что вы можете воспользоваться этими функциями независимо от того, какое программное обеспечение вы создаете.

SudoLang — это язык программирования, предназначенный для взаимодействия с языковыми моделями искусственного интеллекта, включая ChatGPT, Bing Chat, Anthropic Claude и Google Bard. Он разработан так, чтобы его было легко изучить и использовать. Это также очень выразительно и мощно.

Все продвинутые языковые модели понимают его без каких-либо специальных подсказок. Вам не нужно вставлять спецификацию SudoLang перед использованием SudoLang с вашим любимым искусственным интеллектом.

Пожалуйста, прочтите документацию SudoLang для получения дополнительной информации о языке.

Интерфейсно-ориентированное программированиепозволяет вам структурировать вашу программу и легко заявить, что вы хотите, чтобы ИИ отслеживал и как вы хотите с ним взаимодействовать.

Интерфейсы — мощный инструмент для инкапсуляции связанных состояний, ограничений, команд и функций. Они организуют код ясным, понятным и пригодным для повторного использования способом.

Ключевые особенности интерфейсов в SudoLang включают в себя:

Вот простой пример:

HelloCounter — это интерфейс с двумя переменными состояния: message и count. У него есть одно ограничение, которое удерживает значение счетчика меньше или равное 10. /increment — это команда, которая увеличивает счетчик на 1.

Давайте посмотрим, что происходит при использовании ChatGPT 3.5:

Эта программа также работает в Claude2. Многие другие языковые модели искусственного интеллекта недостаточно сложны для запуска программ SudoLang. Например, Google Bard забывает соблюдать ограничения, а более мелкие модели OSS, такие как LLaMA2, с трудом выполняют все инструкции должным образом. На данный момент я рекомендую использовать GPT-4 для создания и запуска сложных программ SudoLang.

SudoLang поддерживает композицию интерфейсов для создания более сложных структур. Такой подход способствует модульности, способствует повторному использованию кода и упрощает анализ программы. Вот пример композиции:

Композиция позволяет разделить данные квеста, данные истории и данные игрока в логические интерфейсы, а состояние объединяет их в полное представление состояния игры.

Примечание: Здесь представлены некоторые интересные функции SudoLang. Сначала типизируются интерфейсы. Если вы не укажете типы свойств интерфейса, их выведет ИИ. В этом случае Player.State и Friends имеют общий тип персонажа (не показан). Мы используем синтаксис литерала интерфейса для предоставления имени игрока по умолчанию.

Традиционные языки на основе классов, такие как Java или C#, используют наследование для моделирования «есть-а». отношения. Но «есть»отношения редко являются идеальным способом моделирования программного обеспечения и часто приводят к путанице и осложнениям.

С другой стороны, композиция представляет собой «есть». отношения и является способом объединения простых компонентов для создания более сложных составных интерфейсов. Композиция обычно предпочтительнее наследования классов, потому что:

Благодаря своей интерфейсно-ориентированной и композиционной природе SudoLang обеспечивает гибкие, модульные и многократно используемые структуры кода, обеспечивая значительные преимущества по сравнению с традиционным наследованием классов.

Наследование классов было неудачным экспериментом по повторному использованию кода, который часто заканчивался вынужденным дублированием кода, вызванным следующими распространенными, хорошо известными проблемами:

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