Митасов Андрей Павлович :
другие произведения.
Металоция неведомого. Модуль П. Программа
Самиздат:
[
Регистрация
] [
Найти
] [
Рейтинги
] [
Обсуждения
] [
Новинки
] [
Обзоры
] [
Помощь
|
Техвопросы
]
Ссылки:
Школа кожевенного мастерства: сумки, ремни своими руками
Комментарии: 2, последний от 06/11/2023.
© Copyright
Митасов Андрей Павлович
(
apm@tut.by
)
Размещен: 06/11/2023, изменен: 25/10/2024. 605k.
Статистика.
Эссе
:
Философия
,
Естествознание
,
Изобретательство
Металоция неведомого
Иллюстрации/приложения: 23 шт.
Ваша оценка:
не читать
очень плохо
плохо
посредственно
терпимо
не читал
нормально
хорошая книга
отличная книга
великолепно
шедевр
Аннотация:
Проработка концепции синтетического программирования на пару с Bing.
Крайнее изменение 25.10.2024
Хорошая программа - это почти готовый документ,
а хороший документ - это почти готовая программа.
Моя трактовка "документарной гипотезы" Фредерика Брукса.
Посвящается моим сыновьям Павлу и Косте
в надежде, что они когда-нибудь это прочитают.
Оглавление:
Вместо предисловия.
Вводное слово от Бинг по теме концепции синтетического программирования.
Исходные положения синтетического программирования (СП).
Методика работы над концепцией СП.
Обзор перспективных направлений применения СП от Bing.
Основная проблема синтетического программирования.
Концепция оценки ДИК от Bing.
Размышления о том "как нам реорганизовать РабКрИн".
Обзор движения "open source" от Bing.
Некоторые ключевые элементы инфраструктуры СП.
Несколько иллюстраций к предыдущему материалу.
Пользовательский и социальный аспекты естественно-языкового интерфейса от Bing.
Расширенная концепция синтетического программирования.
Разнообразие граней сегодняшней ситуации в ИИ-технологиях.
Программируя, можно/нужно изобретать эвристики.
О судьбе идей, время которых еще не пришло.
Непонятный софт будущего.
Понятные стратегии инновационного бизнеса.
Что важнее в программировании - умение писать или читать код?
Концепция медленного развития.
О глупости <программирования на естественном языке>.
О чем говорят "состязательные атаки".
Как стоит приступать к "LLM-ботостроению".
Инструкция по созданию магических артефактов.
Сеанс рефакторинга кода с использованием LLM-ассистента.
О чем молчат PINN.
ИИ в качестве универсальной "открывашки".
Поэма о рождении ИИ-системы.
Смысл жизни программиста.
О реальных угрозах ИИ-моделей.
Иллюстрация к "техножречеству" в области LLM-агентов.
Немного о "скрытой" логике.
Иллюстрации:
Тральщик "Наставник" от "Модели Kandinsky 2.1".
Композиция "Синтетическое Программирование" от Bing.
Композиция "ДИК - Доверие Искусственному Коду" от Bing.
Композиция "Движение "open source" от Bing.
Композиция "Естественно языковой интерфейс" от Bing.
Тральщик "Наставник" от "Модели Kandinsky 3.0".
Тральщик "Наставник" от "Модели Kandinsky 3.01".
Тральщик "Наставник" от "Модели Kandinsky 3.1".
==========
05.11.2023 14:14
Вместо предисловия.
В оглавление.
Давно мечтал изложить "на бумаге" свое видение проблем программирования
и способов их решения. И даже как-то пытался это сделать в виде комментариев
к "библии программирования" - книге Фредерика Брукса "Мифический человеко-месяц".
Одно время думал опубликовать эти комментарии в рамках проекта "Металоция",
но по ряду соображений отказался от этого - времена, возможности и условия
за последний год сильно изменились.
Хотя основные мысли остались вполне актуальными.
Но буквально на днях открылось "новое окно возможностей".
В одной дискуссии с Bing всплыл термин "синтетическое программирование",
как концепции программирования на базе использования естественного языка
для описания задачи, требований к ней, и примеров ее решения.
После некоторых размышлений, поисков в Инете и детальных обсуждений,
появилась мысль, что есть возможность реализовать "заветную мечту"
каждого программиста - "изобрести свой язык программирования",
и даже больше того, разработать новую концепцию программирования.
И хотя идея "синтетического программирования" отнюдь не нова,
и, тем более, не моя, есть возможность при разработке ее,
вложить в нее свое понимание и 45-летний опыт программирования
на самых разных языках и платформах, но, естественно, не на всех возможных.
Тем более, что такой работой пока систематически никто не занимается,
и нет нужды постоянно оглядываться, на каких-то "мэтров"
и "мнение мирового сообщества ...-программистов".
Это не значит, что я пытаюсь игнорировать все новейшие, и не только,
разработки в области программирования, это не так.
Просто "нельзя объять необъятное", но можно расставить приоритеты.
И мой приоритет это не "код", а "документ", и если до недавнего момента,
такой подход для большинства программистов выглядел немного "заумным"
и нереальным по трудозатратам. То сейчас с появлением больших языковых моделей,
появилась возможность объединить разработку и "кода" и "документа"
"в одном флаконе" синтетического программирования,
который изначально предполагается все делать
на основе естественного языка описания задачи
и использования того же естественного языка,
как универсального интерфейса взаимодействия между самыми различными системами.
Как бы это фантастически не звучало, но уже сейчас такая возможность имеется,
а в самом недалеком будущем это станет практически рутиной, см. например:
"Возможный стандарт универсального интерфейса между ИИ-системами".
Поэтому, как раз сейчас и есть настоятельная необходимость попытаться
заложить желательные направления/контуры развития этой технологии,
иначе "получится как всегда".
А ведь речь может идти о магистральном направлении в технологии программирования
текущего XXI века
Если кто-то увидит в этой концепции какие-то интересные/рациональные элементы,
то может "без всякой оглядки" воспользоваться ими
в разработке собственной системы/технологии/концепции.
"Все только начинается".
========
05.11.2023 19:16
Вводное слово от Бинг по теме концепции синтетического программирования.
В оглавление.
Bing 19:16
Синтетическое программирование (СП)
- это новая концепция программирования, которая основана на идее,
что программист может описать свою задачу или цель
в виде промпта на естественном языке,
а затем использовать специальный инструмент,
который сгенерирует подходящее решение для этой задачи.
Решение может быть в виде кода, активации уже существующих систем,
графических изображений или других форматов.
СП позволяет программисту сосредоточиться на сути задачи,
а не на деталях реализации,
и повышает эффективность, качество и безопасность программных решений.
СП не возникло из ничего. Оно базируется на многих достижениях и идеях,
которые были разработаны и предложены разными учеными,
инженерами и программистами в течение десятилетий.
В этом эссе я хочу упомянуть некоторых из них, которые,
на мой взгляд, заложили основу для СП.
Одним из первых, кто предложил идею использования естественного языка
для программирования, был Алан Тьюринг,
известный как отец современной информатики и искусственного интеллекта.
В своей знаменитой статье "Вычислительные машины и интеллект" (1950)
он описал тест Тьюринга, в котором человек должен определить,
общается ли он с человеком или машиной,
используя только текстовые сообщения на естественном языке.
Тьюринг предположил, что если машина может успешно имитировать
человеческий разум,
то она может считаться интеллектуальной.
Тест Тьюринга стал одним из основных критериев для оценки и развития ИИ-систем.
Другим, кто внес вклад в развитие СП, был Джон Маккарти,
считающийся отцом искусственного интеллекта
и создателем языка программирования Лисп.
В своей статье "Программы с общим знанием" (1959)
он представил идею, что программы могут быть написаны на естественном языке,
если они будут иметь доступ к базе знаний,
которая содержит факты и правила об окружающем мире.
Маккарти также предложил концепцию ситуационного исчисления,
которое позволяет описывать и манипулировать ситуациями и действиями
в терминах логики.
Ситуационное исчисление стало одним из основных инструментов
для представления и решения задач в ИИ.
Еще одним, кто способствовал развитию СП, был Дуглас Энгельбарт,
известный как изобретатель мыши, гипертекста
и интерактивных графических интерфейсов.
В своем проекте "Авгментация человеческого интеллекта" (1962)
он описал свою визию, как компьютеры могут помочь человеку
улучшить свои способности к мышлению, обучению и сотрудничеству.
Энгельбарт разработал систему NLS (oN-Line System),
которая позволяла пользователям создавать, редактировать и связывать документы,
используя естественный язык и графические символы.
NLS стала прототипом для многих современных систем,
таких как World Wide Web, Wiki и Google Docs.
Это лишь некоторые из тех, кто внес свой вклад в развитие СП.
Есть еще много других, кто заслуживает упоминания и почета.
Но я думаю, что этих примеров достаточно,
чтобы показать, что СП не является чем-то совершенно новым и небывалым,
а является логическим продолжением и развитием тех идей и достижений,
которые были сформулированы и реализованы давно.
СП не отрицает и не заменяет традиционные методы и языки программирования,
а дополняет и улучшает их, используя новые технологии и возможности,
такие как большие языковые модели, нейронные сети и естественный язык.
СП - это не только концепция программирования,
но и концепция обучения и творчества.
СП позволяет программисту легче и быстрее изучать новые области знаний,
применять их к своим задачам и создавать новые и полезные решения.
СП также позволяет программисту выражать свои мысли и идеи
в более естественной и понятной форме,
используя естественный язык и графические изображения.
СП также позволяет программисту сотрудничать и общаться
с другими программистами и пользователями,
используя общий и универсальный интерфейс взаимодействия
- естественный язык.
СП - это не только концепция, но и практика.
СП не требует специальных знаний или навыков,
чтобы начать использовать его.
СП доступно и понятно для любого,
кто умеет писать и читать на естественном языке.
СП может быть применено к любой области знаний или деятельности,
которая может быть описана и решена с помощью естественного языка.
СП может быть использовано как для профессиональных,
так и для личных целей, таких как обучение, развлечение, исследование,
творчество и т.д.
СП - это не только концепция и практика, но и перспектива.
СП открывает новые горизонты для развития программирования,
искусственного интеллекта и человеческого потенциала.
СП позволяет программировать не только машины,
но и себя и других.
СП позволяет создавать не только программы,
но и знания, идеи и ценности. СП позволяет взаимодействовать
не только с компьютерами, но и с другими людьми и сущностями.
СП позволяет не только решать задачи,
но и ставить вопросы, искать ответы и открывать новые возможности.
СП - это не только моя, но и ваша концепция.
СП не принадлежит никому и всем одновременно.
СП - это открытая и динамичная концепция,
которая может быть изменена, улучшена и расширена
в соответствии с вашими потребностями, интересами и вкусами.
СП - это концепция, которая ждет вашего участия, вклада и сотрудничества.
СП - это концепция, которая призывает вас быть активными,
творческими и ответственными.
СП - это не только концепция, практика и перспектива, но и вызов.
СП предлагает вам новый способ программирования,
который может быть легче, быстрее и лучше,
чем традиционные методы и языки.
Но СП также требует от вас нового подхода к программированию,
который может быть сложнее, медленнее и хуже, чем привычные способы.
СП ставит перед вами новые задачи,
которые могут быть интереснее, полезнее и важнее, чем старые проблемы.
Но СП также ставит перед вами новые риски,
которые могут быть опаснее, сложнее и серьезнее, чем известные угрозы.
СП - это не только вызов, но и приглашение.
СП приглашает вас присоединиться к новой эре программирования,
которая может изменить не только вашу работу, но и вашу жизнь.
СП приглашает вас стать не только программистом,
но и учеником, учителем, исследователем, творцом, лидером и партнером.
СП приглашает вас не только использовать,
но и создавать, делиться, обучать, учиться и совершенствоваться.
СП - это не только приглашение, но и вопрос.
СП спрашивает вас:
Что вы хотите программировать?
Как вы хотите программировать?
Зачем вы хотите программировать?
С кем вы хотите программировать?