Комментарии 8
Я начинал программировать на Fortran IV, где у операторов «IF» не было условия «ELSE». Поэтому мне приходилось как-то запоминать мои целочисленные переменные, и я начинал их с букв от «I» до «N».
Что значит "поэтому"? От куда это?
В оригинале там просто "and".
LLM не работает с семантикой и поэтому не представляет собой абстракцию. Это просто очень сложный и недетерминированный синтаксический сахар.
Но ведь сахар это и есть новый уровень абстракции. К примеру async/await в js, это сахар к promise/then. И он облегчает как написание кода, так и читаемость.
Уровень абстракции - это сама концепция асинхронных вызовов, имеющаяся у программиста. А непосредственно оператор async с точки зрения компилятора, конечно, является синтаксическим сахаром над promise и далее над машинным кодом.
Чем абстракция отличается от машинной реализации, расшифровывать, наверное, не надо.
Только, когда мы пишем какой-то 'сахарный' оператор, то мы гарантированно получим несахарный результат и он будет только один. Даже, если он будет скомпилирован 1000 раз.
Представлять ллм в такой же роли неверно просто потому, что результат каждый раз будет отличаться. Также будут отличаться и его свойства по потреблению ресурсов и быстродействию. В некоторых случаях, мы ещё и не можем точно сказать, запустится ли вновь сгенерированный код, в принципе.
Генератор случайных чисел придуман не вчера, и ещё в самом первом компиляторе Фортрана 1956 года его, кстати, использовали для выбора наилучших оптимизаций методом Монте-Карло.
Некорректный код, объявленный допустимым результатом - это, конечно, элемент новизны.
Большие языковые модели как новый уровень абстрагирования