Ехал я недавно на Сапсане и решил скоротать время за прослушиванием какого-нибудь подкаста. Под руку попался подкаст "Бреслав и Ложечкин" под названием Vibe Coding.
В этом подкасте ребята рассуждают про то, как изменится написание кода в ближайшем будущем с использованием LLM. Андрей Бреслав, известный как создатель языка Kotlin, анонсировал свой новый проект под названием CodeSpeak. (Вот ведь совпадение, учитывая, что ехал я в Питер, где находится остров Котлин).
Похоже, Андрей решил повторить свой успех и сделать новый инструмент для разработчиков. Он утверждает, что современные LLM вполне в состоянии писать хороший код, но они не могут залезть к вам в голову, чтобы понять, что именно вы от неё хотите. Требуется правильно написать спецификацию, в которой изложить все бизнес-требования (по сути большой промт). При этом LLM не требуется объяснять стандартные вещи вроде того, как подключаться к БД или настраивать мониторинг.
Такой инструмент позволит писать спецификации практически на естественном английском языке (хотя почему только на английском?). Если же он обнаружит, что какой-то термин может быть истолкован двояко, то тут же запросит у вас уточнение. Совсем как реальный человек, которому вы отдаёте разработку на аутсорс.
Другой момент, который подсвечивает Андрей (и я с ним полностью согласен), что диалоговый режим в виде чата не очень подходит для написания кода. CodeSpeak не пытается каждый раз заново писать весь код целиком, а вносит инкрементальные изменения и сохраняет общую структуру.
Ну и наверное самый интересный поинт, что в ближайшем будущем уже не будет иметь значения на чём написана программа: на Java, Python или javascript. Обладая спецификацией на естественном языке, система сможет написать реализацию на любом из них. Возможно, разработчики ближайшего будущего даже не будут задумываться, на каком языке будет генериться код. Ведь сами языки программирования были придуманы для того, что в конечном счёте получать готовый исполняемый файл, понятный машине.
P.S. Используете ли вы AI-инструменты для генерации кода? И если да, то в каком режиме: умный автокомплит в текущем контексте или генерация готовых методов и классов целиком?
Post #148
368

- 👍 6