Я понял, что бы я хотел вот от этого ChatGPT. Это, конечно, нифига не интеллект. Но это - хрень, которая работает без ошибок и не задалбывается от рутины
( Read more... )
Ну, у органических программистов - баги, у нейросетки - погрешности. То на то выйдет при достаточном кол-ве точек-тестов. А с расширением модели, опять же, у органических программистов тоже проблемы сплошь и рядом.
Поэтому будущее IT примерно такое: люди рутинно и кропотливо генерируют очень, очень много тестов, а нейросетка по ним генерит не человекочитабельный write only код. В целом выйдет немного дешевле, чем с органическими программистами, за счёт использования менее квалифицированной рабочей силы, при том же примерно проценте некорректных результатов на выходе.
Мне кажется, без понимания того, как ты хочешь что-то получить, сделать тесты с правильными результатами (как минимум, для энного количества задач) не получится. А когда ты понимаешь, как получить, 90% сложности задачи программирования уже решены, и построение кучи тестов - это более сложно (и скучно, что плохо сказывается на результатах), чем программу написать.
Это не касаясь банальной ситуации, когда задача получения тестовых результатов вычислительно сложная (нейросеть для разложения на множители больших чисел?) или даже просто громоздкая. Думаю, я программу расчета себестоимости продукции завода (не сказать чтобы простую) написал быстрее, чем смог бы ее посчитать вручную хотя бы один раз для изделия, скажем, хотя бы из 5000 деталей.
Да, это я понимаю. Один из предыдущих проектов, на которых мне доводилось работать, под конец держался, кажется, только на команде тестировщиков, после того, как руководитель угробил работу с требованиями. Да и у меня самого значительная часть усилий уходит на то, чтобы поймать в требованиях всех небритых брадобреев. На самом деле, про меньшую квалификацию я написал, скорее, в шутку; по аналогии с историей внедрения механизированной росписи посуды.
Тут ключевой момент, что в этом раскладе человеку останется более скучная часть работы, как Вы правильно заметили, и главным рабочим качеством станет, в таком случае, усидчивость. То есть, развитие пойдёт в сторону, противоположную упованиям автора записи.
>Да и у меня самого значительная часть усилий уходит на то, чтобы поймать в требованиях всех небритых брадобреев.
Мне в этом плане проще - у меня ТЗ обычно состоит из полутора строчек + устная беседа. Сейчас вот глянул - три ТЗ на рабочее место отдела тех.контроля составили в сумме 255 знаков, включая пробелы :)
Но в целом я не особо верю в программирование средствами нейросетей. Все-таки нейросети - это интерполяция, а программирование - в куче случаев экстраполяция. Так и не удалось решить задачу качественного перевода с неформального языка на другой неформальный, а переводить с неформального на неформальный будет еще сложнее.
Разумеется, о полноте речи не идет. Полное ТЗ - это сведение задачи даже не до тактики, а до оперативных планов. Мне ТЗ дают на уровне стратегии :) Скажем, формулировка "Чеклист ОТК = все документы из Состава изделия" для меня вполне достаточна, с подробностями (типа того, что чеклист - это автоматически формируемый список пунктов, которые обладающий соответствующими правами пользователь может отмечать как выполненные или невыполненные, вносить примечания о сути претензий во втором случае, в случае возникновения претензий должны генерироваться извещения таким-то сотрудникам, и т.д. и т.п.), я уж как-нибудь разберусь сам :)
ТЗ - это пол-беды. Интереснее, когда ТЗ новой фичи накладывается на уже существующий функционал, и противоречия или неполнота вылезает уже на этом уровне.
> Так и не удалось решить задачу качественного перевода с неформального языка на другой неформальный
Они, собственно, именно в эту сторону и работают. По мере повторения этой мантры, она нынче становится всё менее верной :) Или верной для всё более высокой планки "качества".
На мой взгляд, тут типичные diminishing returns: новые усилия на этом направлении приносят некоторые результаты, но они несущественны на фоне масштаба проблем, а фундаментальные проблемы - отсутствие понимания контекста - так и остаются нерешаемыми.
Скажем, "The cages of apes are here, and the cages of monkeys are there" все так же "Клетки с обезьянами здесь, а клетки с обезьянами там", как и пять лет назад (в гугл- и яндекс-переводчике, во всяком случае, но я уверен, что и в любом другом тоже).
Жаль, что ссылку на ивритскую статью, которой я до этого проверял раз в пару лет онлайн-переводчики, я, бездарно утратил (похоже, в скайпе беседа, в которой мне ее сбросили, ушла за пределы хранения). Даже интересно, изменилось ли что-то в "Список инвазивных видов в Израиле включает, среди прочего, попугай, якинтон и особенно саркастический порт".
Что касается первого - ну, я вижу, что в плане перевода косяки те же, что три года назад. Как только требуется понимание контекста, а не отдельных слов самих по себе - та же фигня, что и была. И у гугла, и у дипла
( ... )
TDD - это примерно так: https://xkcd.com/2048/ :)
Тесты - фиксированные точки, код - кривая, которая должна через них проходить.
Reply
Поэтому будущее IT примерно такое: люди рутинно и кропотливо генерируют очень, очень много тестов, а нейросетка по ним генерит не человекочитабельный write only код. В целом выйдет немного дешевле, чем с органическими программистами, за счёт использования менее квалифицированной рабочей силы, при том же примерно проценте некорректных результатов на выходе.
Reply
Reply
Это не касаясь банальной ситуации, когда задача получения тестовых результатов вычислительно сложная (нейросеть для разложения на множители больших чисел?) или даже просто громоздкая. Думаю, я программу расчета себестоимости продукции завода (не сказать чтобы простую) написал быстрее, чем смог бы ее посчитать вручную хотя бы один раз для изделия, скажем, хотя бы из 5000 деталей.
Reply
Тут ключевой момент, что в этом раскладе человеку останется более скучная часть работы, как Вы правильно заметили, и главным рабочим качеством станет, в таком случае, усидчивость. То есть, развитие пойдёт в сторону, противоположную упованиям автора записи.
Reply
Мне в этом плане проще - у меня ТЗ обычно состоит из полутора строчек + устная беседа. Сейчас вот глянул - три ТЗ на рабочее место отдела тех.контроля составили в сумме 255 знаков, включая пробелы :)
Но в целом я не особо верю в программирование средствами нейросетей. Все-таки нейросети - это интерполяция, а программирование - в куче случаев экстраполяция. Так и не удалось решить задачу качественного перевода с неформального языка на другой неформальный, а переводить с неформального на неформальный будет еще сложнее.
Reply
Reply
Скажем, формулировка "Чеклист ОТК = все документы из Состава изделия" для меня вполне достаточна, с подробностями (типа того, что чеклист - это автоматически формируемый список пунктов, которые обладающий соответствующими правами пользователь может отмечать как выполненные или невыполненные, вносить примечания о сути претензий во втором случае, в случае возникновения претензий должны генерироваться извещения таким-то сотрудникам, и т.д. и т.п.), я уж как-нибудь разберусь сам :)
Reply
Reply
Reply
Они, собственно, именно в эту сторону и работают. По мере повторения этой мантры, она нынче становится всё менее верной :) Или верной для всё более высокой планки "качества".
Reply
Скажем, "The cages of apes are here, and the cages of monkeys are there" все так же "Клетки с обезьянами здесь, а клетки с обезьянами там", как и пять лет назад (в гугл- и яндекс-переводчике, во всяком случае, но я уверен, что и в любом другом тоже).
Жаль, что ссылку на ивритскую статью, которой я до этого проверял раз в пару лет онлайн-переводчики, я, бездарно утратил (похоже, в скайпе беседа, в которой мне ее сбросили, ушла за пределы хранения). Даже интересно, изменилось ли что-то в "Список инвазивных видов в Израиле включает, среди прочего, попугай, якинтон и особенно саркастический порт".
Reply
И почему вдруг нейросети - интерполяция, а не экстраполяция?
Reply
Reply
Если обучается на референсах - всё равно не вижу, почему это интерполяция, а не экстраполяция.
Я не очень понимаю, что ты имеешь в виду под составлением интерфейса. Интерфейс класса или что? Может, Дима это лучше понимает и попросит написать.
Reply
Reply
Leave a comment