Поля этой IDE слишком узки
Подумалось тут, что LLM, похоже, заставляют пересматривать не только способы написания программ, но и сами принципы представления исходного кода, которыми мы пользовались десятилетиями.
Ну вот, например, комментарии. Какого чёрта они вообще должны находиться внутри исходников — очевидно же, что изначально «от бедности» — инструментальной бедности. Ферма́ с его «слишком узкими полями» улыбается и машет. Так вот — почему бы не хранить комментарии отдельно, привязывая к конкретным функциям, фрагментам или даже взаимодействиям между компонентами? Чтобы при необходимости можно было перейти по условной гиперссылке и прочитать, что, как и, главное, почему устроено именно так.
Особенно теперь, когда всё больше кода пишут LLM. Объяснение причин инженерного решения может быть куда ценнее самой реализации.
Закинул вопрос в ChatGPT: существуют ли уже подобные системы?
Оказалось, существуют. Он накидал несколько вариантов, от внешних аннотаций с привязкой к исходникам до довольно развитых систем документации. А заодно вспомнил Дональда Кнута и его концепцию Literate Programming.
1984 год, между прочим.
И вот тут меня слегка вштырило. Нет, не потому что Оруэлл. Просто Кнут предлагал писать программы прежде всего как текст, понятный человеку, в который встроены фрагменты программного кода. Специальные инструменты затем превращали это хозяйство в исходники для компиляции и документацию.
То есть первичным было человекочитаемое описание программы, а привычные исходники получались из него.
Ничего не напоминает?
Разумеется, у Кнута программные фрагменты приходилось писать самому, а tangle был детерминированным инструментом сборки, а не генератором кода из естественного языка.
Но сама архитектурная мысль-то какая!
1984: Literate Programming.
2026: Literate Prompting.
42 года спустя мы наконец додумались заменить tangle стохастическим компилятором.
Получается, Дональд Кнут придумал prompt engineering для LLM ещё в 1984 году. Просто LLM тогда немного не завезли.
Разумеется, после такого открытия я задал следующий вопрос: интересно, а кто-то уже замечал это?
Я так часто делаю, если что — и ChatGPT довольно часто портит мне «праздник первооткрывателя».
Итак,
оказывается, ещё в 2024 году прямо сравнивали prompt engineering с мечтой Кнута. В 2025-м Devin Weaverпришёл к практически той же мысли, обсуждая её с Claude. А в ноябре 2025 года вышла целая научная работа в IEEE Transactions on Software Engineering — Literate Programming with LLMs? — где авторы уже сопоставляют архитектуру WEB Кнута с генерацией программ посредством LLM.
Мало того, нашлись даже экспериментальные инструменты, в которых промпты считаются исходниками, а сгенерированный код — производным артефактом.
Так что да — не только заметили, но уже и публикации написали, и прототипы наколхозили.
Но первоначальный вопрос никуда не делся.
Если реализация всё чаще генерируется машиной, а понимание её назначения, ограничений и причин инженерных решений живёт отдельно, то не пора ли пересмотреть само представление программного проекта?
Возможно, исходники постепенно перестанут быть единственным центральным артефактом разработки. А текст, который объясняет, что, зачем и почему, перестанет быть приложением к коду.
Ирония в том, что для этого нам, возможно, пришлось пройти практически 42 (42, Карл!) года технологического развития, чтобы снова прийти к идее Кнута — теперь с пряниками печеньками и токенами.