Обновить

Комментарии 28

"Дика, печальна, молчалива, как лань лесная боязлива, ... " - А.С. Пушкин

---

Я видел на Реддите вопль отчаяния от негра африканского: у них всю жизнь было принято писать много дефисов в тексте – а теперь их за это банят.

Пушкин — довольно посредственный прозаик.

Мы просили в качестве тестового задания решить простейшую задачку, строчек на сто кода.

Тема тестовых так и не раскрыта! Очевидно, сегодня просить такие тестовые смысла мало. Чем будем их заменять?

Спорный вопрос. Мне всегда было достаточно посмотреть на 50 строк простенького кода и 5 минут поговорить за жизнь, чтобы принять решение о найме. ЛЛМ пока пишет код так, что от него пахнет генерацией, так что прям хоронить тестовые пока рано.

Насчёт "пахнет генерацией" - я не соглашусь. Что выдаст LLM сильно зависит как от самой модели, так и от формулировки промпта. Получать качественный и адекватный код от моделей пока умеют не все разработчики, но это вполне реально - и такой код "генерацией" не пахнет. Более того, в сегодняшних реалиях это даже перестаёт быть важным вопросом - сам написал или сгенерировал, если результат годный. В работе это перестаёт быть вопросом, но не на собесе. Потому что по одной удачной генерации для мелкой типовой задачки невозможно сделать вывод "этот кандидат умеет получать от модели нормальный код для любых задач".

Я думаю, нужно менять подход собесов с "кандидат пишет свой код" на "кандидат ревьювит наш пример кода". Причём ревью кода должно включать не только критику, но и обсуждение что и как нужно изменить в существующем коде для решения каких-то задач (рефакторинг/добавить фичу-другую/починить баг).

Получать качественный и адекватный код от моделей пока умеют не все разработчики, но это вполне реально […]

Да ну нет, конечно. Модель не сможет родить правильный сложный reduce вместо прохода по списку с объявленным вне скоупа аккумулятором. Точнее, сможет, но быдет быстрее написать эти 50 строк самому.

этот кандидат умеет получать от модели нормальный код для любых задач

Для этого кандидат должен обладать способностью сам написать такой код, а значит — быть профессионалом. Да, профессионалам LLM не помеха, это правда. Но «для любых задач» — этого не случится никогда. Экспертиза моделей всегда будет отражать среднее по больнице, а меня такой уровень не устраивает.

Судя по сказанному, лично Вы пока не научились получать адекватный результат от моделей - но это не значит, что это в принципе невозможно. Из моего опыта лучше всего получать качественный код от моделей получается у… руководителей (тимлидов/архитектов). Которые разговаривают с моделью примерно как с новым сотрудником, поясняя как именно и почему именно так требуется писать код на текущем проекте когда модель выдаёт что-то не то.

И да, бывают ситуации, когда быстрее написать самому. Но в этом нет ничего плохого или неправильного - никто же не ставит цель программеру (в отличие от вайб-кодеров) получить 100% кода генерацией в реальных задачах - если быстрее самому написать или что-то подчистить в результатах генерации, то надо это сделать вручную. Это же не отменяет экономии кучи времени и сил благодаря LLM в остальное время.

Для этого кандидат должен обладать способностью сам написать такой код, а значит — быть профессионалом.

Да. Вопрос был в том, как именно это проверить на собесе.

Экспертиза моделей всегда будет отражать среднее по больнице

Это правда, но не вся. Это - поведение модели по умолчанию, без дополнительных указаний. И этот средний уровень, будем откровенны, чуть сильнее среднего уровня обычных разработчиков по рынку (по крайней мере у моделей Claude) - т.е. вполне приемлемый. Да, если задача - нанять звезду, а не просто ещё несколько средних разработчиков, то модель звезде не конкурент, и, вполне возможно, никогда конкурентом звезде не станет - именно потому, что отражает "среднее по больнице" и показать более сильные результаты может исключительно под управлением более сильного разработчика, но никак не без него/вместо него.

Судя по сказанному, лично Вы пока не научились получать адекватный результат от моделей […]

А если судить по тому, что весь текст, под которым мы тут ведем непринужденную беседу, — на 100% сгенерирован моделькой?

Да. Вопрос был в том, как именно это проверить на собесе.

А зачем это проверять? Годный код? — Молодец, даже если за тебя его жена написала. Вы же сами об этом абзацем выше говорите.

лучше всего получать качественный код от моделей получается у… руководителей (тимлидов/архитектов)

Не знаю, в какой вселенной архитектор — руководитель, но это так, только если вам в целом плевать на производительность и чистоту (идиоматичность) кода.

А зачем это проверять?

Потому что цель собеса понять, сможет ли сотрудник качественно решать задачи на своей позиции, а не получилось ли у него случайно/однократно получить от модели решение типового тестового.

Не знаю, в какой вселенной архитектор — руководитель

В стартапах, например. Но и в крупных компаниях, где архитект не является непосредственным руководителем, ему всё-равно требуются ровно те же навыки, только для мягкого убеждения тимлидов команд. Суть в том, что и там и там архитект должен уметь коммуницировать свои требования, и если делать это в сторону моделей примерно так же, как в сторону людей, то модель отлично под эти требования подстроится и будет выдавать весьма чистый код.

Вы разговариваете с человеком, уже почти 10 лет работающим на позиции Principal Engineer, ко мне архитекторы за советами ходят.

Весьма чистый код — и хороший код — не синонимы.

Не синонимы. Впрочем, давайте согласуем термины (однозначного определения у них нет, так что мы вполне можем иметь в виду разное): чистый = ясный и поддерживаемый код покрытый юнит-тестами; хороший = чистый плюс учитывающий нефункциональные требования (производительность, безопасность, элегантность, оптимальность алгоритмов с учётом ожидаемой нагрузки конкретно на это место кода, заложенные заранее возможности развития в ожидаемом направлении, соблюдение определённого стиля логируемых сообщений и т.п.).

В абсолютном большинстве мест в коде достаточно чистого (потому что там реализуется типовой функционал типовым же способом, зачастую по аналогии с уже существующим кодом), равно как и от большинства разработчиков мы ничего большего не получим при всём желании. И такой код LLM вполне в состоянии выдавать.

А хороший код мы от LLM вряд ли получим. Максимум - точечно и после кучи уточнений, причём скорее всего быстрее будет написать вручную. Но и мест где такой код критичен - очень мало, так что это не отменяет значимой пользы от LLM по написанию достаточно чистого кода во всех остальных местах.

Ну да. Вроде, как мы друг с другом согласны.

На самом деле отлично пишет по паттернам (воспроизводит паттерн кода). Но при должном ревью качественно. На самом деле бывают кодеры короче дольше пишут и получается ужас.

А вот Лившицу, наверно, было бы обидно :) Зато уж точно не нейрослоп

В общем, я категорически против линчевания статей (кода) по принципу «пахнет ллмкой».

т.е. вы за BotHub, который спамит ии-сгенерированными статьями по несколько раз на день?

Конечно. У меня очень хорошо смазано колесо мыши. Иногда можно увидеть что-то новое.

А какую альтернативу вы предлагаете? — Ни одного интересного текста в день?

У меня очень хорошо смазано колесо мыши. Иногда можно увидеть что-то новое.

А у меня — нет. И в этом вопросе лично я с вами категорически несогласен. Текущий генеративный ML дошёл до восхитительных высот в создание «контента похожего на информационный». То есть, чудесного спама, который, слава богу, ещё не затягивает, как книга из одного фантастического сюжета, но время тратит ужасно. А ведь внутри, по сути своей, это спам. Это код, который и не надо было писать. Статьи, которые не стоит читать, потому что и генерировать их не было смысла.

Знаете, такие поддельные шарики из анекдота.

Ну вы же должны были читать про Библиотеку Борхеса, про шестое путешествие Трурля и Клапауция, где они одолели разбойника Мордона... Ну как-то не хочется чувствовать себя на месте этого разбойника. А приходится.

Пф. А с чем вы сравниваете, можно узнать?

Я проглядываю ленту по диагонали (если вообще проглядываю) — и там что-то не слишком много волшебного, полезного, ярко написанного контента от живых людей.

Я ни с чем не сравниваю. Я подписался на определённые хабы, на определённых людей. Иногда их просматриваю. Иногда ищу что-то специфическое. Но всё это в ручном режиме, без «ленты», в которую валится всё-всё-всё => это уже просто бессмысленный в своей огромности набор букв.

Когда убьют уведомления, видимо, будут просто просматривать комменты-посты конкретных лиц.

Тогда мне не очень понятно, чем вам помешали тексты, которых вы все равно не видите?

Я их вижу. Если бы их не было, можно было бы хотя бы читать сперва статью, а не комментарии.

И я ещё помню, «как хорошо было раньше».

Когда человек хочет пить, он не станет сразу пить воду из лужи, а по возможности купит бутылированную, нальёт из крана или отыщет колодец.

Но когда человек тонет, то первое, что ему нужно сделать – выбраться из воды. Для него нет смысла разбираться, пресная это вода или солёная, сколько в ней вредных примесей или бактерий и т. д.

Пока машинно-сгенерированный контент был единичным явлением, я имел возможность его читать и искать в нём какие-то смыслы. Но сейчас ситуация поменялась. Хабр тонет в слопе. 90% статей – это слоп, новости из мира слопа или слоп о новостях из мира слопа. Я не собираюсь разбираться в сортах слопа. Я ставлю минус. Я перестану ставить минусы только тогда, когда окончательно перестану заглядывать сюда.

Надеюсь, этому тексту вы тоже поставили минус.

Ad hominem - прекрасная дубина, которой так приятно огреть автора-лентяя. С какой стати я буду подробно объяснять технические косяки человеку, который вряд ли хочет научиться, ведь он заставил работать ллм-ку только ради внимания и славы? А если я его тупо обзову, то он обидится и уйдёт, этого-то мне и надо.

Не расскажете, где именно я предлагал «подробно объяснять технические косяки»?

если я его тупо обзову, то он обидится и уйдёт, этого-то мне и надо

Да, я тоже всех неопрятно одетых людей на улице отовариваю бейсбольной битой.

Товарищ забанен, но статьи публикует.

Система "мертвая рука".

Статьи запланированы к публикации и хабр робот их публикует.

Баг, о котором уже известно. Будет исправлен.

А раньше охрана труда была хуже ,и конторы с копипастами "тестовых заданий" ,сначало на 100,потом завтрак ,200 и так далее...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации