Я понял, что бы я хотел вот от этого ChatGPT. Это, конечно, нифига не интеллект. Но это - хрень, которая работает без ошибок и не задалбывается от рутины
( Read more... )
Если проводить аналогию с нейросетями, которые генерят картинки, то там, как я слышал, ситуация прямо противоположная: часть работы художника, использующего нейросеть, заключается в том, чтобы поправить на получившейся картинке количество пальцев у нарисованных персонажей и прочее такое. То есть, полёт фантазии нейросетка берёт на себя, а на долю человека остаётся умеренность и аккуратность, та самая рутина. Так и тут будет.
pasa_v -- художник, который умеет рисовать, вот прямо сейчас учится работать с нейросеткой, и выкладывает результаты в ЖЖ. Собственно почти все его посты за последнее время-- хроники освоения инструмента. Если что, я знаком с ним лично и уверен, что он сам -- живой человек. :-)
Бесплатных завтраков не бывает: окажется, что проверка и отладка этой сгенерированной обвязки более рутинна и трудоемка, чем сразу все написать самому без искусственных помощников.
Но даже если через несколько версий ИИ начнет работать стабильно, все равно ответственность за глюки будет на человеке. Причем глюки уже будут тонкие и сложно-обнаружимые.
Кстати, 10 содержательных строк кода тоже не рокет сайнс, так что если ИИ сможет стабильно генерить обвязку, то и с содержательной частью тоже справится, если ему ее описать словесно.
Проблема только в том, что самый простой способ описать ее словесно в куче случаев - это те самые десять строк кода на каком-нибудь C :) А другие способы описания будут менее точными с последствиями разной катастрофичности.
Это не то, чего ожидают от интеллекта, искусственного или естественного.
Интеллекту достаточно подсунуть документы по OPENSSL и перечислить перечень пунктов, которые надо реализовать. А дальше он уже сам должен все сделать, в том числе и разумное сопряжение с ранее написанным кодом.
Если он этого не может - это не интеллект, а подделка.
Я полагаю, что эта задача требует принципиально иного подхода, чем нейросети, и потому попытки улучшить эту методику от ее решения только отдаляют. Но я не специалист по ИИ.
Проблемы инициализации и т.д. решаются переходом на более высокоуровневый язык. А так если сеть может сгенерить обвязку, то сможет и остальную логику со временем. Или TDD в абсолюте - человек пишет тесты, а сеть по ним генерит остальной код что бы тесты проходили.
То то у меня студенты удивлялись поначалу, чего это тесты у нас больше, чем код и писать их дольше. А мы еще до интеграционных тестов не добрались, юниттестированием баловались.
Ну, у органических программистов - баги, у нейросетки - погрешности. То на то выйдет при достаточном кол-ве точек-тестов. А с расширением модели, опять же, у органических программистов тоже проблемы сплошь и рядом.
Поэтому будущее IT примерно такое: люди рутинно и кропотливо генерируют очень, очень много тестов, а нейросетка по ним генерит не человекочитабельный write only код. В целом выйдет немного дешевле, чем с органическими программистами, за счёт использования менее квалифицированной рабочей силы, при том же примерно проценте некорректных результатов на выходе.
Comments 116
Reply
Reply
Reply
... Нас мало - даже меньше, чем нас есть ...
Reply
А я бы эту хрень за правку доки засадила. Примерно такого же уровня требований к "работает без ошибок и не задалбывается от рутины"
Ты с ней уже общался?
Reply
Но даже если через несколько версий ИИ начнет работать стабильно, все равно ответственность за глюки будет на человеке. Причем глюки уже будут тонкие и сложно-обнаружимые.
Кстати, 10 содержательных строк кода тоже не рокет сайнс, так что если ИИ сможет стабильно генерить обвязку, то и с содержательной частью тоже справится, если ему ее описать словесно.
Reply
Reply
Интеллекту достаточно подсунуть документы по OPENSSL и перечислить перечень пунктов, которые надо реализовать. А дальше он уже сам должен все сделать, в том числе и разумное сопряжение с ранее написанным кодом.
Если он этого не может - это не интеллект, а подделка.
Reply
Reply
Проблемы инициализации и т.д. решаются переходом на более высокоуровневый язык.
А так если сеть может сгенерить обвязку, то сможет и остальную логику со временем.
Или TDD в абсолюте - человек пишет тесты, а сеть по ним генерит остальной код что бы тесты проходили.
Reply
Reply
TDD - это примерно так: https://xkcd.com/2048/ :)
Тесты - фиксированные точки, код - кривая, которая должна через них проходить.
Reply
Поэтому будущее IT примерно такое: люди рутинно и кропотливо генерируют очень, очень много тестов, а нейросетка по ним генерит не человекочитабельный write only код. В целом выйдет немного дешевле, чем с органическими программистами, за счёт использования менее квалифицированной рабочей силы, при том же примерно проценте некорректных результатов на выходе.
Reply
Reply
Leave a comment