Если бы Алиса попала в Вестерос в период Войны Пяти Королей, то она узнала бы:
1. Что от солдат-мародёров и бродяг на дорогах надо держаться подальше. От прокаженных тем более.
2. Что крысы, если их не жарить - невкусные. А некоторые травы или плоды, могут оказаться несъедобными.
3. Что в лесу надо находить траву и разводить костёр при помощи палочек или острых камней. А то до утра можно и не дожить.
4. Что если заедут мечом по руке - это больно, если вырвут пару волос - это нестрашно, а если слегка полапают за все места - легко отделалась. Главное, чтобы по голове при этом не били - мысли путаются.
5. Что если тебя сегодня еще не продавали в рабство и не насиловали - день прошёл не зря.
6. Что в драке, если тебя сбили с ног и началась кутерьма, лучше ползти в ту сторону, где меньше шуршит. Так не получишь ногой в лицо от того, кто тоже решил уползти от греха подальше.
7. Что если кого-то бьют/насилуют толпой, то лучше не смотреть в эту сторону. Не просто не вмешиваться, а не смотреть. А еще лучше быстро бежать в другую сторону.
8. Что на Севере самое страшное, чтобы тебя не поймали людоеды за Стеной и культисты, которые вселяют людей в деревья, а на Юге, чтобы не продали в Эссос в качестве рабыни. Но хуже всего поклонники Красного Бога - те распинают и сжигают прямо на крестах.
9. Что септы предоставляют убежище, но что поститься по 4-5 дней в неделю - это не очень приятно, начинают выпадать волосы. А еще не дай бог сказать чего старшей септе, на хлебе и воде придётся сидеть несколько недель и не волосы - зубы начнут выпадать.
10. Что если ты заболел, то если ты не родился на этой планете и при этом выжил - это огромное счастье.
11. Что оружие надо во-первых искать, во-вторых - спрятать, в-третьих, воспрльзоваться без колебаний, если на тебя напали и тут же бежать.
12. Что по слухам, упорно ходящем в Вестеросе среди крестьян, если девушка попадает к эссосским пиратам-работорговцам или к Железнорожденным, то ей лучше сразу покончить с собой. А если попадает к дотракийцам, то лучше бы ей вообще на свет не рождаться.
И еще много удивительных "открытий чудных" готовил бедной Алисе "Вестероса злобный дух". Кстати, ходят легенды, что после Вестероса Алиса случайно попала на Курскую дугу в 1943 год. "Не война, а фигня", - подумала Алиса, сидя в окопе и крепко сжимая в руках трофейный автомат мертвого немца, которому месяц назад собственноручно ребром ладони перебила трахею.
О возможностях современных нейросетей в программировании на личном опыте
Небольшая преамбула. Так уж сложилось исторически, что в нашем небольшой астрономическом сообществе практически нет чистых программистов. Ядро нашего коллектива состоит всего из трёх человек: собственно, профессионального астронома-астрофизика, инженера (наш технический директор) и физика-теоретика (в моём лице). Да, наш техдир обладает впечатляющим практическим опытом в самых разных областях работы с аппаратным и программным обеспечением, не исключая и web-разработки, но ни по образованию, ни по основному месту работы именно программистом не является. Остальные же участники нашего сообщества представлены преимущественно студентами или недавними выпускниками, чей профессиональный опыт ещё не слишком велик.
В связи с этим у нас регулярно возникают проблемы с разработкой программных средств. Практически любая современная научно-исследовательская задача в области астрономии, астрофизики и теоретической физики так или иначе связана с написанием программного кода. И если написать несложные в программном смысле python-скрипты для численного решения дифференциальных уравнений сможет любой, то с настоящим программированием, в смысле разработки программных продуктов, предназначенных для сколько-то широкой аудитории, у нас всегда были проблемы. Нормальные опытные программисты не по карману нашему скромному сообществу, а со студентами (даже очень мотивированными и одарёнными) постоянно возникают непредвиденные сложности из-за отсутствия должного опыта. Конечно, суровая производственная необходимость вынудила нас за последние несколько лет с горем пополам сформировать небольшую команду молодых программистов, но полностью проблемы разработки это не решило.
Фабула. Естественно, стоило появиться вайб-кодингу (т.е. разработке через нейросети), как тут же возникла идея переложить на нейросети всю работу по разработке нужного нам программного обеспечения. Больше всего эту идею критиковала та часть нашего сообщества, которая имела сколько-то значимые представления о программировании и web-разработке, но, по мере прогресса нейросетей с одной стороны и обострения потребности в переработке наших сетевых ресурсов – с другой, сдалась и она.
Так что, с помощью бубна, Временного Переселения в Нидерланды (посредь родных осин половина нужных решений недоступна) и платёжных средств иностранных граждан нами была приобретена Pro-подписка на нейросеть Claude (которую я для простоты буду по-русски именовать Клодом) от Anthropic, которая считается лучшей из массовых нейросетей в задачах написания кода. Подписка обошлась нам в $109 в месяц, с учётом банковских комиссий и издержек, вышло около 10 тыс. руб. За эти деньги мы получили доступ к самой новой версии нейросети под названием Fable 5 и довольно щедрые лимиты – за четыре рабочих дня интенсивного использования небольшой командой из нескольких дилетантов вайб-кодеров мы потратили около половины от еженедельно обновляемого лимита доступа к этой версии.
За это время Клод под нашим чутким руководством успешно:
- Перевёл сайт на актуальную версию сторонней CMS.
- Отрефакторил код сайта, избавился от множества неиспользуемых зависимостей, обновил и упростил действующие зависимости и вообще выполнил большой объём работ "под капотом" сайта.
- Разобрался в весьма своеобразной системе обмена данными между сайтом, расчётными серверами и серверами хранения данных с многократными проверками безопасности, и внёс множество важных изменений в неё.
- Отрисовал с нуля светлую тему сайта (раньше у него была только тёмная) со всеми интерфейсными элементами, иконками и т.д.
- Нарисовал несколько анимаций для различных интерактивных элементов пользовательского интерфейса сайта и терминала расчётного сервиса.
- Полностью пересобрал систему управления динамическими элементами сайта, добавив несколько новых типов элементов.
В итоге за два дня взаимодействия непрофессиональных разработчиков с нейросетью она справилась с набором задач, изначально оценивавшимся в две-три недели работы высококвалифицированного full-stack разработчика или команды из трёх профильных специалистов чуть более скромной квалификации.
Теперь о самом интересном: как именно Клод справился с поставленными задачами. Сразу скажу, что вообще весь код, непосредственно добавленный или отредактированный им, был написан на совершенно нормальном, человеко-читаемом языке программирования высокого уровня, том же, на котором была написана старая версия сайта (у нас там микс из JS, TS и Rust для разных модулей). Клод успешно использовал обычные для таких задач фреймворки и сервисы, аккуратно контейнеризировал новые программные модули, делал коммиты в выделенную для него ветку репозитория, добавлял комментарии к создаваемым им функциям и зависимостям, писал вполне информативные Readme к новым блокам и модулям, проводил необходимые проверки и тесты. В общем, внешне его работа выглядела вполне на уровне топового программиста, которого мы никогда не смогли бы себе позволить.
Конечно, то как именно Клод вносил все эти правки, вызывало у знающих людей (в лице нашего техдира) много вопросов. Постоянные обращения к регулярным функциям, хитроумные протаскивания данных по совершенно неочевидным маршрутам для внесения правок, вызов сторонних сервисов из непредсказуемых мест... Но все эти чудаковатости происходят только в ходе самих правок – финальный результат неизменно написан на нужном языке высокого уровня, хорошо структурирован, человеко-читаем, не содержит никакой бинарной абракадабры и вообще никак не отличается от кода, написанного хорошим программистом.
Само собой, иногда случались сбои, которые не замечали встроенные тесты Клода, но описание обнаруженной проблемы следующим промптом, предоставление логов или банального скриншота с заметным визуально косяком приводило к тому, что Клод оперативно исправлялся и вносил требуемые правки. Лишь единожды умная железяка сломалась – когда наш любознательный астрофизик захотел добиться от неё подключения к нашему сервису крайне специфического расчётного модуля для численного решения каких-то заумных уравнений магнитогидродинамики. Клод долго думал, сожрал под сотню тысяч токенов, самостоятельно докопался до научных статей про использованный в модуле расчётный метод и, в конце концов, предложил... написать авторам модуля письмо с вопросом, как его правильно подключать!
В целом, результат применения Клода вышел закономерным. Наиболее типовые и распространённые задачи web-разработки (вроде работы с JS и CSS, настройки CMS, работы с визуальными элементами) Клод решает отлично, более редкие задачи взаимодействия и обмена данными с научными системами и сервисами заставляют его задуматься, а узкоспециальные задачи оказываются ему не по силам.
В итоге даже наш техдир, изначально настроенный по отношению к вайб-кодингу весьма скептически, был вынужден изменить своё мнение и согласиться с мыслью о том, что Клод за пару дней смог закрыть весь значимый для нас набор задач web-разработки, некоторые из которых пребывали в подвешенном состоянии несколько лет!
Само собой, вайб-кодинг обладает большим количеством изъянов и особенностей, которые стоит учитывать. Для сколько-то продуктивного его использования необходимо обладать достаточным опытом если не в самой web-разработке, то хотя бы в управлении ею, чтобы хорошо ориентироваться в используемых технологиях, методах и инструментах. Крайне не лишним будет понимать логику работы разрабатываемого сайта или приложения, в полной мере представлять сценарии его использования и интересы его пользователей. Кроме того, по очевидным причинам нежелательно перекладывать на нейросети вопросы безопасности, резервного копирования и управления версиями. К примеру, у нас Клод исправно коммитил свои исправления в выделенную для него ветку vibe, но сливание изменений в dev-версию сайта, не говоря уж об общедоступной prod-версии, осуществлялось нами строго вручную.
Самая большая проблема вайб-кодинга в том, что внешне он выглядит максимально дружелюбным именно к непрофессионалам. Мы-то запускали Клода через VS code и писали промпты в консоли, но ровным счётом ничего не мешает общаться с нейросетью в чат-режиме, как с любой генеративной LLM, вроде ChatGPT или DeepSeek. Клод исправно ведёт беседу на русском языке, понимает профессиональный сленг и даже справляется с распознаванием скриншотов, схем и набросков. То есть ему буквально можно сказать "поиграться с шрифтами" и получить вразумительный результат. Это порождает у разного рода некомпетентных менеджеров соблазн вообще избавиться от программистов, дизайнеров и специалистов тех.поддержки, переложив всю их работу на железные плечи нейросетей.
Проблем с таким решением две: локальная и глобальная. Локальная состоит в том, что без присмотра квалифицированных разработчиков, обладающих большим опытом работы, нейросеть рано или поздно столкнётся с проблемой, которую самостоятельно не сможет решить. Да, с наиболее распространёнными типами задач нейросети уже сейчас отлично справляются, а по мере их дальнейшего совершенствования наверняка смогут разобраться и в более сложных случаях, но пока что без указующей длани человека доверять им сколько-то серьёзный проект "под ключ" нельзя. Чего, увы, могут не понимать далёкие от разработки руководящие кадры, видящие в нейросетях всемогущего джина из бутылки.
Ну, а глобальная проблема очевидна, и о ней в последние годы не говорит только ленивый. Нейросети бодро заменяют собой разработчиков низшего звена, беря на себя большую часть рутинной работы. А ведь кроме риска лишения работы сотен тысяч программистов, девопсеров и дизайнеров, это означает, что ломается механизм воспроизводства высококвалифицированных специалистов, без которых нейросети пока что не могут эффективно работать над сколько-то сложными проектами. Иными словами, если нейросети заменят всех джунов и мидлов, откуда возьмётся новое поколение сеньоров?
Оптимисты уверены, что совсем скоро нейросети заменят программистов любой квалификации. Пессимисты возражают, что в таком случае люди вообще утратят контроль над разрабатываемыми программными средствами и прочат всякие ужасы – от цифрового концлагеря до восстания машин.
Лично я остался очень доволен своим опытом вайб-кодинга. Для решения сугубо прикладных задач Клод нам очень и очень помог, по сути, закрыв за несколько дней все актуальные потребности нашего коллектива в области web-разработки. Философских же вопросов последствий засилья нейросетей в программировании я как неспециалист предпочитаю не касаться.