Кстати, в тему классный материал "A sufficiently detailed spec is code" - с сайта HaskellForAll, который из России без впн недоступен, и соответственно скоро вообще будет недоступен никак ("не положено").
Автор легендарного блога утверждает, что невозможно создать текстовую спецификацию, которая была бы одновременно
- достаточно точной для надёжной генерации кода нейронкой, и
- при этом проще/быстрее, чем написание самого кода.
Чтобы спецификация стала достаточно точной, она неизбежно превращается в псевдокод, схемы базы, алгоритмы -- то есть, по сути, в код на другом языке.
А так как работа над спецификациями требует куда больше осмысленности, нежели кодинг, то когда команды оптимизируют скорость, как в посте выше, спецификации становятся слопом, а не результатом глубокого анализа домена. Гонсалес в частности разбирает Symphony, который OpenAI позиционирует как успешный пример генерации кода из SPEC md. И когда он попросил агентов на основе этой как бы спеки сгенерить Symphony на Haskell, агент так и не потянул и близко. Во многом кстати потому, что, как Гонсалес утверждает, сама спецификация от OpenAI выглядит как нейрослоп: бессвязный и без глубинного понимания.
Автор упоминает Дейкстру: "Переход к общению на естественном языке сильно усложнит работу машины, но не факт, что упростит жизнь человеку", и Борхеса "О точности в науке" (империя создала карту настолько детальную, что она совпадала с империей 1:1). Если спецификация будет настолько детальной, чтобы AI надежно генерировал код, она просто станет кодом.
Specifications were never meant to be time-saving devices.
"Мусор на входе - мусор на выходе"
Ага! А я про что - именно про ликвидацию этого разрыва через формализацию иерархии DSL, максимально приближенных к человеческому языку, но следующих формальным грамматикам.
Post #2318
796

- ✍ 42
- ❤ 8
- 🔥 4
- 👍 1