ChatGPT для программиста

Dec 27, 2022 18:43

Я понял, что бы я хотел вот от этого ChatGPT. Это, конечно, нифига не интеллект. Но это - хрень, которая работает без ошибок и не задалбывается от рутины ( Read more... )

мысли, программирование, компьютерное

Leave a comment

livelight December 27 2022, 22:12:19 UTC
> человек пишет тесты, а сеть по ним генерит остальной код чтобы тесты проходили

TDD - это примерно так: https://xkcd.com/2048/ :)
Тесты - фиксированные точки, код - кривая, которая должна через них проходить.

Reply

aantero December 27 2022, 22:34:09 UTC
Ну, у органических программистов - баги, у нейросетки - погрешности. То на то выйдет при достаточном кол-ве точек-тестов. А с расширением модели, опять же, у органических программистов тоже проблемы сплошь и рядом.

Поэтому будущее IT примерно такое: люди рутинно и кропотливо генерируют очень, очень много тестов, а нейросетка по ним генерит не человекочитабельный write only код. В целом выйдет немного дешевле, чем с органическими программистами, за счёт использования менее квалифицированной рабочей силы, при том же примерно проценте некорректных результатов на выходе.

Reply

beldmit December 28 2022, 03:20:26 UTC
Агащазблин, про меньшую квалификацию для написания тестов.

Reply

mikeiva December 28 2022, 08:31:54 UTC
Мне кажется, без понимания того, как ты хочешь что-то получить, сделать тесты с правильными результатами (как минимум, для энного количества задач) не получится. А когда ты понимаешь, как получить, 90% сложности задачи программирования уже решены, и построение кучи тестов - это более сложно (и скучно, что плохо сказывается на результатах), чем программу написать.

Это не касаясь банальной ситуации, когда задача получения тестовых результатов вычислительно сложная (нейросеть для разложения на множители больших чисел?) или даже просто громоздкая. Думаю, я программу расчета себестоимости продукции завода (не сказать чтобы простую) написал быстрее, чем смог бы ее посчитать вручную хотя бы один раз для изделия, скажем, хотя бы из 5000 деталей.

Reply

aantero December 28 2022, 09:30:12 UTC
Да, это я понимаю. Один из предыдущих проектов, на которых мне доводилось работать, под конец держался, кажется, только на команде тестировщиков, после того, как руководитель угробил работу с требованиями. Да и у меня самого значительная часть усилий уходит на то, чтобы поймать в требованиях всех небритых брадобреев. На самом деле, про меньшую квалификацию я написал, скорее, в шутку; по аналогии с историей внедрения механизированной росписи посуды.

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

Reply

mikeiva December 28 2022, 09:46:04 UTC
>Да и у меня самого значительная часть усилий уходит на то, чтобы поймать в требованиях всех небритых брадобреев.

Мне в этом плане проще - у меня ТЗ обычно состоит из полутора строчек + устная беседа. Сейчас вот глянул - три ТЗ на рабочее место отдела тех.контроля составили в сумме 255 знаков, включая пробелы :)

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

Reply

yurikhan December 28 2022, 09:54:33 UTC
В то, что ТЗ на полторы строчки может быть непротиворечиво - верю. Полно - сомневаюсь.

Reply

mikeiva December 28 2022, 10:39:21 UTC
Разумеется, о полноте речи не идет. Полное ТЗ - это сведение задачи даже не до тактики, а до оперативных планов. Мне ТЗ дают на уровне стратегии :)
Скажем, формулировка "Чеклист ОТК = все документы из Состава изделия" для меня вполне достаточна, с подробностями (типа того, что чеклист - это автоматически формируемый список пунктов, которые обладающий соответствующими правами пользователь может отмечать как выполненные или невыполненные, вносить примечания о сути претензий во втором случае, в случае возникновения претензий должны генерироваться извещения таким-то сотрудникам, и т.д. и т.п.), я уж как-нибудь разберусь сам :)

Reply

aantero December 28 2022, 09:58:39 UTC
ТЗ - это пол-беды. Интереснее, когда ТЗ новой фичи накладывается на уже существующий функционал, и противоречия или неполнота вылезает уже на этом уровне.

Reply

mikeiva December 28 2022, 10:41:11 UTC
Это да, такое запросто может быть, конечно. "До этого все как-то работало, потому что в компьютер ничего не вносили, а теперь-то как" :)

Reply

livelight December 28 2022, 10:00:43 UTC
> Так и не удалось решить задачу качественного перевода с неформального языка на другой неформальный

Они, собственно, именно в эту сторону и работают. По мере повторения этой мантры, она нынче становится всё менее верной :) Или верной для всё более высокой планки "качества".

Reply

mikeiva December 28 2022, 11:16:21 UTC
На мой взгляд, тут типичные diminishing returns: новые усилия на этом направлении приносят некоторые результаты, но они несущественны на фоне масштаба проблем, а фундаментальные проблемы - отсутствие понимания контекста - так и остаются нерешаемыми.

Скажем, "The cages of apes are here, and the cages of monkeys are there" все так же "Клетки с обезьянами здесь, а клетки с обезьянами там", как и пять лет назад (в гугл- и яндекс-переводчике, во всяком случае, но я уверен, что и в любом другом тоже).

Жаль, что ссылку на ивритскую статью, которой я до этого проверял раз в пару лет онлайн-переводчики, я, бездарно утратил (похоже, в скайпе беседа, в которой мне ее сбросили, ушла за пределы хранения). Даже интересно, изменилось ли что-то в "Список инвазивных видов в Израиле включает, среди прочего, попугай, якинтон и особенно саркастический порт".

Reply

rioman January 5 2023, 12:03:25 UTC
Майк, может ты сначала попробуешь нечто, прежде чем верить в это или нет?
И почему вдруг нейросети - интерполяция, а не экстраполяция?

Reply

mikeiva January 5 2023, 22:17:00 UTC
Что касается первого - ну, я вижу, что в плане перевода косяки те же, что три года назад. Как только требуется понимание контекста, а не отдельных слов самих по себе - та же фигня, что и была. И у гугла, и у дипла ( ... )

Reply

rioman January 5 2023, 22:28:59 UTC
Ты так говоришь, как будто любой человек может перевести Бармаглота или найти новое доказательство теоремы :)

Если обучается на референсах - всё равно не вижу, почему это интерполяция, а не экстраполяция.

Я не очень понимаю, что ты имеешь в виду под составлением интерфейса. Интерфейс класса или что? Может, Дима это лучше понимает и попросит написать.

Reply

beldmit January 6 2023, 06:24:02 UTC
Я думаю, Майк про GUI

Reply


Leave a comment

Up