LINUX.ORG.RU
ФорумTalks

Роберт Мартин заявил, что вообще не читает код, который ему генерят ИИ-агенты после должных автоматических проверок

 , роберт мартин


1

2

Разработчик Роберт Сесил Мартин (Дядя Боб, автор бестселлеров в области разработки ПО — «Чистого кода», «Идеального программиста» и «Чистой архитектуры») заявил, что вообще не читает код, который ему генерят ИИ‑агенты после должных автоматических проверок. Мартин занимается разработкой ПО с 1970 года, а с 1990 года он стал международным консультантом в этой области.

«Я пытаюсь использовать Claude, чтобы он помог мне что‑то написать, но мне просто некомфортно позволять ему редактировать мои файлы. Кто‑нибудь ещё чувствует то же самое? Если я отвечаю за код, мне НУЖНО понимать его, психологически, если не по другой причине. Начал программировать в 1983 году. Стар?», — написал разработчик Ори Померанц.

«Я значительно старше тебя. Я начал программировать в конце 60-х. Моя текущая стратегия — не читать никакого кода, написанного моими агентами. Это единственный способ, которым я могу воспользоваться их продуктивностью. Вместо этого я окружаю агентов экстремальными ограничениями. Юнит‑тесты, тесты на Gherkin, процедуры QA, метрики качества, мутационное тестирование, покрытие тестами и множество других. В итоге у меня очень высокая уверенность в коде, который они производят, потому что им пришлось пройти через всю цепочку моих ограничений и тестов», — написал Мартин в ответ на вопрос Померанца про Claude.

Продолжение

Это звучит примерно так: «Я - старый дед. Меня уважают. Я могу творить дичь и мне за это ничего не будет, а даже похвалять.»

Ololo_Trololo ★★
()

Моя текущая стратегия — не читать никакого кода, написанного моими агентами.

Ого вау, не каждый вася с улицы сможет не читать код, создаваемый агентами.

thesis ★★★★★
()
Ответ на: комментарий от thesis

да, но не у каждого васи есть бюджеты на такое количество токенов, токены ведь расходуются на каждый чих, а не только написание кода

если у тебя есть по 200 долларов в день на токены, и ты планируешь так дотянуть до пенсии, ммм, зачем тебе вообще работать?

unclestephen ★★★★★
() автор топика
Последнее исправление: unclestephen (всего исправлений: 1)

Вот у меня такое же как у Ори Померанц.

unDEFER ★★★★★
()
Последнее исправление: unDEFER (всего исправлений: 1)

Ну в целом подход имеет место быть, до первого кейса, когда это не привело к финансовым потерям.

anonymous_sama ★★★★★
()

Юнит‑тесты, тесты на Gherkin, процедуры QA, метрики качества, мутационное тестирование, покрытие тестами и множество других. В итоге у меня очень высокая уверенность в коде, который они производят

Чувак шарит за качество кода

Lordwind ★★★★★
()

Возможно, чел не в курсе, но нейронки в IT можно использовать не только для вайб-кодинга, если что. Рутинный task-менеджмент - это тоже к ним

hedgehog_alex
()
Последнее исправление: hedgehog_alex (всего исправлений: 1)

Юнит‑тесты, тесты на Gherkin, процедуры QA, метрики качества, мутационное тестирование, покрытие тестами и множество других. В итоге у меня очень высокая уверенность в коде

в итоге он сидит у себя в уютном загончике, который наверняка существует только по причине близости к высшей элите, и который экономические кризисы не штормят так мощно, как весь остальной мир. Это позволяет ему заниматься хнёй в виде записывания в тетрадочку мега-тестов: «если я беру 2 и ещё 2 и складываю, то получаю 4, иначе ата-та». В то время, как более дешёвые индусы, пучок за пяток такие же тесты по тысячи раз прогоняют на куче проектов, и без всяких баззвордов.

seiken ★★★★★
()

Он точно так же не читал бы код, а:

Вместо этого я окружаю агентов экстремальными ограничениями. Юнит‑тесты, тесты на Gherkin, процедуры QA, метрики качества, мутационное тестирование, покрытие тестами

если бы руководил бы командой. Что изменилось?

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

Что вместо команды кожаных мешков команда агентов

Bad_ptr ★★★★★
()
Ответ на: комментарий от seiken

В то время, как более дешёвые индусы, пучок за пяток такие же тесты по тысячи раз прогоняют на куче проектов, и без всяких баззвордов

Ты хоть сам видел индусский код или просто придумал? В 90% у них нет никаких тестов. В 10% там проверка 1==1. В 99% проектов и покрытие может быть 146% и CI/CD налаженный, а релизы все равно падают.

Lordwind ★★★★★
()
Ответ на: комментарий от Lordwind

У него кодовая база тестов минимум в 3 раза больше кода, написанного агентом. Смысл тогда хвастаться, что он код агентов не читает?

Shadow ★★★★★
()

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

buddhist ★★★★★
()

Продолжение

Так, а чего кодит этот блаженный? Для спейсикс управление марсианской колонией?

foror ★★★★★
()

Разработчик Роберт Сесил Мартин

Разработчик чего?

Стоило бы сразу указать в посте. Ну чтобы понятно стало чего именно не стоит использовать.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ну для начала тогда стоит выкинуть Java, C#, C++ и Clojure. А также OOP и SOLID, и всё где используется SOLID или где SOLID и современный OOP оказали большое влияние. Дядька слишком большой, побольше всех местных.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)

Я вообще не читал его книг, а «чистый код» для меня идеальный маркер говнокодера для отсеивания на интервью.

ant1
()
Ответ на: комментарий от peregrine

И чего? Очередной писатель, книжки пишет в 21 веке, бумагу марает. Теоретик, короче. Где известные, мирового уровня продукты этого погромиста?

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от peregrine

Детализирую вопрос - в разработке какого конкретно софта он сейчас участвует. С точными названиями программ и их версиями начиная с которых он участвует в разработке, на которые нынче можно напороться в опенсурсе.

Или он сферический разработчик в вакууме?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

По-моему, никакого. Так чисто потрындеть его зовут за всё хорошее и против всего плохого.
З.Ы. Даже игра на его сайте - это какой-то КГ/АМ.

Ololo_Trololo ★★
()
Последнее исправление: Ololo_Trololo (всего исправлений: 1)
Ответ на: комментарий от peregrine

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

«Знать, что спрашивать», вау, это ж сколько лет учиться нужно.

thesis ★★★★★
()

Это его дело, что читать, или не читать. В конце концов, код, сгенерированный компилятором, тоже мало кто читает, тесты прошли и ладно, а на самом деле кто его знает, что он там сгенерировал.

Но я лично пока что до такой уверенности не дошёл. Как минимум, сами тесты нужно хоть один раз просмотреть.

yvv1 ★★
()
Ответ на: комментарий от Ygor

если бы руководил бы командой. Что изменилось?

С комаднды можно содрать шкуру в случае чего, а с ИИ даже анализы не возьмёшь. А так, в остальном всё тоже самое.

yvv1 ★★
()
Ответ на: комментарий от Lordwind

Я видел, как выглядит прод код бледнолицых в 21м веке, мне не надо сказки рассказывать. Про тестирование… ЛОЛ

seiken ★★★★★
()

Да потому что это говно нечитаемое! Они генерируют почти обфусцированный код. Вон у тебя в соседней теме нагенерировало больше ляма строк из пятисот тысяч за 11 дней. Сколько лет это надо читать, чтобы понять?

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)

Это конечно очень здорово, что ты начал программировать в конце 60-х, сумел создать себе имя, и сейчас можешь себе позволить свысока и немножко через губу учить других людей … здорово для Сесила Мартина. А у активных представителей нового поколения программистов, молодых и ранних, нет имени, счёта в банке, домика у моря, и дорогого коньяка на столике, чтобы сидеть по вечерам укутавшись пледом и философствовать. Им нужно быстро, эффективно, и желательно дёшево. Поэтому выбирать приходится по обстоятельствам.

Хотя в чём то я с ним согласен, но опять же, применительно к своей ситуации.

VIT ★★★
()
Ответ на: комментарий от Lordwind

У меня для проекта есть 1600+ тестов, которые даже можно на автоматике запускать через valgrind. И всё равно пролюбилось место, из-за которого ROM не инициализировадся нормально

PPP328 ★★★★★
()
Ответ на: комментарий от Lordwind

Правильно! И агенты позволяет это сделать динамически согласно обстоятельствам. Когда-то можно долго, когда-то тяп-ляп, а когда-то дорого.

VIT ★★★
()
Ответ на: комментарий от thesis

Смотри, у нас есть ЛОР. Есть спрашивающие и отвечающие. Заметь, кто много спрашивает мало отвечает и наоборот. Люди ленивы и глупы по своей природе. Но да, ИИ всех вытеснит обязательно.

peregrine ★★★★★
()
Ответ на: комментарий от Lordwind

Нет. Я просто знаю, в какой мере все эти лучшие практики применяются в реальной инженерии. Как и agile практики и всё прочее.

seiken ★★★★★
()
Ответ на: комментарий от seiken

Я помню что ты работаешь среди эникейщиков и нормального кода и практик просто не видел. Для таких Мартин книжки и писал. Но конечно дартаньянам виднее.

Lordwind ★★★★★
()
Ответ на: комментарий от LightDiver

Они генерируют почти обфусцированный код

Они генерируют то что ты сам хочешь увидеть. Почти как джинн. Я добился зерошотного результата почти в идеальном состоянии потому что сам вылизываю примеры, которые отдаю в промт. Так что если лично тебе написали нечитаемую херню, значит что либо ты банально в промтинг не умеешь, либо сам пишешь нечитаемую херню, а твоему коду просто подражают, кек. Ну либо ты взял какую-нибудь алису или китайщину, обученную на выпускниках яндекс практикума, что еще смешнее.

Lordwind ★★★★★
()
Последнее исправление: Lordwind (всего исправлений: 1)
Ответ на: комментарий от Lordwind

Ну то есть ты сначала пишешь код сам, потом портишь генерируешь из него что то новое - так результат естественно лучше. Да и то оно может из кода в 20 строк сделать 380. При одинаковой функциональности. Если это не читать, а тем более не писать предварительно код вручную - ничего хорошего не выйдет.

Чаще всего быстрее написать самому, максимум используя ИИшку как автодополнение, да и то - шибко много воли у него.

LightDiver ★★★★★
()
Ответ на: комментарий от Lordwind

Мой эникейский код в автомобилях работает. И ни одной проблемы в проде с ним не было. Просто я знаю, когда та или иная практика полезная а когда - как собаке пятая нога.

Вообще, всё в индустрии софтостроения, - во всяком случае, большей её части, как по количеству кода, так и по объему добавочной стоимости - сводится к отдельным личностям. Один может увидеть проблему в постановке задачи, в сформулированных требованиях, и сразу заострить внимание заказчика, найти такие слова, чтобы переубедить его. А другой будет мусолить то, что дано до последнего, лишь бы ничего лишнего не сказать, лишь бы чего не вышло. Один может придумать оптимальный алгоритм, а другой - нет. Один умеет кодировать, а другой - только теоремы доказывать, да и то, только в своей узкой области. И никакие книги и практики принципиально ничего не изменят.

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от LightDiver

может из кода в 20 строк сделать 380. При одинаковой функциональности

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

Lordwind ★★★★★
()
Ответ на: комментарий от Lordwind

Ты сам то читаешь, что написал? Напиши код, напиши скиллы, напиши промт, напиши примеры, напиши контрпримеры. Слушай, а почему просто не написать код сразу?

И я так понял из текста новости - там именно вайбкодинг.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

А почему сразу не писать на ассемблере? А то понапридумывали разных языков, фреймворков, тьфу, чертовщина!

Lordwind ★★★★★
()
Ответ на: комментарий от Ololo_Trololo

Всё понятно, спасибо. :)

Кто бы сомневался.

Stanson ★★★★★
()
Ответ на: комментарий от Lordwind

А почему сразу не писать на ассемблере?

На котором? Ассемблер это минус кроссплатформенность. Сразу мимо.

Но если кроссплатформенность не нужна, почему нет? Для многих железяк пишут.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)

Странно что никто до сих пор не выдал самое очевидное объяснение этому лютому позорищу - какой-нибудь Сёма Альтман просто втихаря дал этому Роберту Мартину (А он вообще Роберт или Мартин?) достаточно бабла чтобы он нарративчик нужный Сёме гнал на аудиторию которая этого Роберта Мартина по каким-то причинам слушает. Только и всего.

Stanson ★★★★★
()
Ответ на: комментарий от LightDiver

Зайду с другой стороны. Все программирование про то что ты тратишь X времени, а экономишь nХ при n>1. Скиллы пишутся на проект и на специализацию, это легко переиспользуемая часть. Примеры и так обычно есть. А промт это и есть псевдокод.

Чаще всего быстрее написать самому

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

Lordwind ★★★★★
()
Ответ на: комментарий от yvv1

Но я лично пока что до такой уверенности не дошёл.

Ну, судя по его тексту, дело не в уверености, а в перфекционизме, ОКР или NIH-синдроме. Он не читает, чтобы спасти седалище от воспламенения, просто проверяет качество уровнем выше.

goingUp ★★★★★
()

то есть, либо тратить кучу времени на понимание нагенерённого нейронкой слопа, либо тратить кучу времени на покрытие его «экстремальными ограничениями». сесть и написать этот код при помощи своей естественной нейросети точно не быстрее?

alegz ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)