Как стать автором
Обновить

Нейросеть ChatGPT o1 написала код для докторской диссертации за час и шесть промтов, инженер потратил на него 10 месяцев

Время на прочтение2 мин
Количество просмотров77K
Всего голосов 38: ↑34 и ↓4+40
Комментарии229

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

Это и пугает и радует...

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

Общество никогда ни к чему не успевает адаптироваться, если посмотреть на историю. Вся адаптация как и заложено природой происходит со сменой поколений.:)

В России что не поколение то переломы сознания. То революция, то война, то перестройка, развал союза .... так что у россиян адаптация чуточку побыстрее.

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

Ну пока не все так радужно. Постоянно пользуюсь ChatGPT в работе. И пока он програмиста заменить ни как не может. Может заменить джуна- как раз такого который 10 месяцев будет писать то на что нормальному программисту нужен час.)))) Он с легкостью отвечает на те вопросы ответы на которые можно нагуглить. Но как только вопрос посложнее и отвтов нет на поверхности, он теряется. Вот у меня сейчас есть задача - изучить документацию и по ней написать алгоритм. Причем этот алгоритм реализован в десятках устройств. Но в открытом доступе алгоритма нет, и ии тут же теряется, ответы либо глупые либо не верные, и разработчика он тут заменить не может. Хотя это даже не творческая задача, она по сути механическая, как раз для ии.

Постоянно пользуюсь ChatGPT в работе. И пока он програмиста заменить ни как не может.

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

И, кстати, у вас платная или бесплатная версия GPT?

Вы видимо не совсем программист)) Разрисовать подробную блок схему как правило сильно сложнее чем сразу писать код. А если уже так сложилось что есть подробная блок схема то написать код самому как правило быстрее и проще чем сформулировать кому то (джуну или GPT ) тз. Безусловно какие то кусочки кода и приемы GPT подсказывает. Но это ни в коем случае не заменяет программиста, а является только его инструментом.

Вы мне подняли настроение! Насчет, «не совсем программиста» «не совсем угадали». На предприятии, программировал собственные учетные системы, а, как любитель, пишу обучающие программы на C++ / WTL. Есть у меня готовая программа «МедиаТекст», для ручного, но удобного извлечения текста из медиа-контента (видео, аудио, изображения (см. http://scholium.webservis.ru/Pics/MediaText.png ), для того чтобы создавать подходящие данные (компьютерные уроки) для своих программ. Моя древняя версия обучающей программы опубликована на сайте http://scholium.webservis.ru/ . Сейчас я создал новый сайт (пока пустой) http://lecole.free.nf/ , где, надеюсь, достаточно скоро опубликовать совершенно новую версию подобной программы. Она у меня уже почти готова, осталось реализовать последний алгоритм подготовки данных и обработчик выбора для модулей «Экзамен-1» (проверка запомненных слов) и «Экзамен-2» (тоже самое, но в режиме «contra versa»). Кроме них уже реализованы, по аналогии, два модуля «Конспект» и два модуля «Видео».

Вы можете спросить, почему тогда я задал вам такой глупый вопрос? Все просто. Не смотря на то, что прототип модуля «Экзамен-1» у меня работал еще пару месяцев назад, реализация алгоритма с расширенными возможностями, вызвала у меня ступор. Даже реализация полноценного видео в «МедиаТексте» не вызвали у меня столько головной боли, как последний реализуемый алгоритм. Наверное, это уже возрастные издержки, но быстро сдаваться я не намерен. Буквально, сегодня утром, я нарисовал очередной, уже, наверное, двадцатый вариант блок-схемы своего алгоритма. Рисовал алгоритмы и в «MS Visio», но там относительно долго, да и, лишний раз, лень. Алгоритм, кстати, упростился раза в полтора-два, но, все равно, какие-то частичные ментальные блокировки еще остались, однако, думаю, это уже не так страшно, как последние пару месяцев.

Как раз сегодня, я подумал, а не мог бы мне помочь ИИ («Искусственный Идиот»)? И сразу наткнулся на вашу статью. Как понял из ответа, ИИ, может быть, и поможет, но только если достаточно долго пинать его ногами (подобные мысли я встречал ранее в Интернете).

А так, это практически первый случай, когда я столько времени уделяю четкой фиксации именно алгоритма. Почему он оказался «камнем преткновения», еще нужно разбираться, то ли во мне, то ли в алгоритме.

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

Прям автопортрет разработчика оружия против инопланетян с какого-нибудь НИИ

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

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

Кстати, урезенная версия chatgpt есть в свободном бесплатном доступе. Один чат, без сохранения истории, ограничения по количество токенов. Можете попробовать.

Подтверждаю, пользуюсь Copilot, если на 2-3 уточнение не получается добиться чего-то внятного, то проще начать новый чат и иногда он сходу генерирует хорошее решение. Несколько раз попадал в ситуацию, когда он генерировал неправильный код, после уточнений генерировал новый, тоже неправильный, а после 5-6 уточнения он зацикливался и возвращался к первому неверному решению

Я, где-то так, и представлял себе нынешнее состояние GPT. Пока, конечно, его можно игнорировать, но постепенно осваивать надо, хотя бы просто, чтобы быть «в теме». Ибо, через несколько лет, он сможет весьма существенно влиять на нашу жизнь.

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

Насчет, самому попробовать программировать с помощью GPT, то, со временем, попробую. Если оно того будет стоить, можно будет использовать и платную версию.

Кстати, я уже применял оффлайн-модели (см. https://alphacephei.com/vosk/models ) для распознавания французской речи. Однако, онлайн-сервисы пока это делают лучше.

«Искусственный Идиот» — хоспади боже ж мой/твой

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

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

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

например, написать комментарий на хабре)

На это уйдёт уйма времени. Каждый блок нужно будет выверить, протестировать, как эти блоки будут себя вести вместе, с ошибочными данными, злонамеренными данными, граничными случаями. Ежедневно пользуюсь GPT, он постоянно выдаёт legacy решения, не знаком с актуальными технологиями, иногда очень убедительно врёт. Так что за ним глаз да глаз.

попробуйте Copilot, с ним иногда наоборот, он предлагает что-нибудь там из .Net 8, а у тебя на проекте только 6-ой... :)

Как-то так, да.

Это новая модель в новости GPT- o1, не GPT-4o. Она хорошая в программировании, математике, точных науках. Там ток 30 сообщений в день ограничение, так как она дорогая.

Я: какое число больше - 9,9 или 9,11?

Chat AI: Число 9,11 больше, чем 9,9. При сравнении десятичных чисел, если целая часть одинаковая, обращаем внимание на дробную часть: у числа 9,11 дробная часть 0,11, а у числа 9,9 — 0,9. Поскольку 0,11 больше 0,9, то и всё число 9,11 больше 9,9.

Я могу только поаплодировать тому, как хороша некросеть в математике.

о1 очень хороша даже в мини версии. Подозреваю что лучше 95% людей. GPT4 действительно не умеет математику, но вроде никто всерьез и не утверждал что умеет.

Я задавал вопрос именно что новой версии О1. После её ошибки, спросил - она совсем упоратая или нет. После этого поправилась. Но какой в этом смысл?

Какая именно о1? кажется она у вас бракованная. Ни одна из двух доступных такой ответ не дает и не давала.

Ответ который вы показали характерен для некоторых версий Gpt4o-turbo. Даже бесплатный веб интерфейс сейчас отвечает нормально (если вы не выбрали еще лимит на нормальную модель)

Поменяйте числа в вопросе местами, чат возможно ошибётся. Но, если попросить решать step by step, то чаще получаешь верный ответ

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

Спасибо, я знаю. Но у о1 по всей видимости выставлена довольно низкая температура, возможно даже нулевая, (так как он предназначен для STEM задач - это оправдано) поэтому его ответы выглядят довольно стабильными даже на сложных задачах. Я конечно не запускал o1-preview на этой задаче, тем более несколько раз, но я видел результаты теста, куда она входила. o1-mini дает стабильный ответ.

Спрашивал у o1-preview два раза с разным порядком, оба раза получил, что 9,9 больше.

Модель GPT-4, включая ChatGPT, имеет базовые навыки работы с числами и математикой, включая простые вычисления. Однако встроенные вычисления, такие как сложные математические операции и точные расчеты, она всегда выполняла с ограниченной точностью.

Функциональность для работы с более сложными вычислениями была значительно расширена с добавлением возможности использовать сторонние инструменты (например, Python), что позволяет выполнять точные вычисления, строить графики, анализировать данные и работать с более сложными математическими задачами.

Если у вас есть задачи по вычислениям, я могу использовать Python для точных расчетов!

У вас неверное ТЗ. Поменяйте разделительный знак с запятой на точку и всё должно заработать нормально.

Нормальное там ТЗ. С чего там должны быть точки?

некросеть

Очень метко:)).

Она скорее всего обучена с другим разделителем работать. В английском языке разделитель дробный - это точка, а не запятая. Надо попробовать спросить про числа 9.9 и 9.11

Модель с IQ 120 обязана не только разбираться с разделителями, но даже и свои придумывать :))

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

всё там работает

Сколько уже можно. Мне кажется 90% людей пишущих про 9.9 и 9.11 тупо не заметили где переключить модель.

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

Угу, не заметили

Скажите, а вы в первый раз ChatGPT пользуетесь? Она "сверх-убеждаема", если на неё давить. Она вам чёрное белым назовёт, а белое чёрным, ещё и извинится. Так уж настроена. Даже "Are you sure?" лучше не спрашивать.

Да чего уж тут, лучше вообще не спрашивать…

Да вроде всё норм с "Are you sure?".

Так это разве o1-preview? У меня для неё рядом с каждым сообщением отображается, сколько она думала.

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

Да, да, всё плохо, не пользуйтесь.

P.S. У кого есть доступ, легко проверят, что вы ошибаетесь.

Число 9,9 больше, чем 9,11.

При сравнении десятичных чисел:

9,11 — это 9 и 11 сотых,

9,9 — это 9 и 90 сотых.

90 сотых больше, чем 11 сотых, поэтому 9,9

> 9,11.

А если смотреть с точки зрения версионности программ? Тогда 9.11 больше 9.9.
Если ТЗ неполное, то он будет додумывать.

В вопросе же есть слово «число». Версия программы не число.

Так это вы ТЗ додумываете, оно вполне полное. Зачем смотреть с точки зрения версий? Число 9.11 от этого больше не станет, это версия ПО будет больше.

Вы платную попробуйте. Они экономят ресурсы просто. Замечал даже примитивные орфографические ошибки в бесплатной, хотя LLM они ведь изначально про текст и "правильные" слова в тексте.

На вашей задачке платный GPT4o: "Число 9.9 больше, чем 9.11. Это потому, что 9.9 эквивалентно 9.90, а 9.90 больше, чем 9.11."

В оригинале этого наброса был разделитель десятичной части точка, и для американца 9.11 больше 9.9 потому-что 11 сентября больше 9 сентября.

Она хорошая в программировании, математике

Спросил у o1-preview, является ли функтор из Ring в Grp, отображающий кольцо в группу его единиц, строгим. Это, вообще говоря, очень простой вопрос в алгебре, рассматриваемый в начале большинства учебников, и ответ на который есть в интернете.

Так вот, модель начала воображать что-то про строгость

На попытки уточнить

дала заднюю, но не совсем

и при дальнейших расспросах начала использовать модальность «возможно», «часто», и прочие подобные очень строгие математические аргументы

Скрытый текст

а затем скатилась в полное непонимание уровня рассказов о множестве эндоморфизмов Z в Z, которые по мнению модели не определяются действием на юнитах.

К математике не готово.

Насколько я вижу, тут нет счётчика времени раздумий. Похоже, это старая версия гпт-4о, а не новая о1.

Постоянно пользуюсь ChatGPT в работе. И пока он програмиста заменить ни как не может

Для написания кода chatGPT(по крайней мере O1) не очень удобен. Копайлот на поряки полезнее(частично за счет за плагинов в ИДЕ)

заменить джуна- как раз такого который 10 месяцев будет писать то на что нормальному программисту нужен час.))))

У меня обратные примеры-отлично заменяет часы рутины и сильно улучшает жизнь. Из примеров-недавно была json на 50-100 полей. Их сначала парсишь, потом с минимальной валидацией в базу пихаешь, потом по части их них квери писать. Мне чтобы это руками сделать думаю надо было бы несоклько часов, как минимум чтобы просто пересматривать поля, понимать его тип и т.д. copilot просто генерит весь этот мусор. Также генерит тесты, многие методы которые бы я гуглил. И при этом соблюдает стиль кода проекта.
По-моему мнению в случае написания условного круд сервиса может сократить время раза в 3. С рефакторингом вполне енплохо работает, править баг-тут по-разному, от нахождения сразу до полной бесполезности.

Примерно те же впечатления. Притом заметил, что чем дальше - тем более сложные задачи я не боюсь давать ChatGPT. Например, сервис, который работал с одним API нужно научить работать с двумя, и параллельно отрефакторить, создав фабрику и т.д. Кидаю 5 файлов сервиса, доку к исходному API, доку к новому. Получаю результат, проверяю, пишу правки, после нескольких итераций результат готов. Да, приходится внимательно проверять (есть мнение, что o1 на этой задаче справился бы лучше), но в итоге трачу на задачу полчаса, а не несколько.

И проверки код проходит тоже всё лучше. Если раньше я смотрел на код с мыслью "скорее всего будет подвох", то теперь "скорее всего всё будет правильно".

Ну и развивает хорошо, GPT-4o время от времени предлагает интересные решения, даже если они не лучше потенциальных моих, то всё равно интересно в плане "а что, так тоже можно было?".

В общем и в целом, я уже ускорился в работе раза в 2, и откатываться на работу без этого инструмента мне уже было бы очень больно.

Юнит тесты пишет влет, причем адекватные. Очень сэкономил время на свежем проекте, который мне достался уже как рабочий mvp, при этом с двумя тестами на проект. А особенно в реакт части, я сперва хотел просить отдельного фронта, но оказалось не нужен. По крайне мере пока. -1 рабочее место фронт-энд...

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

У нас сейчас есть проект который по идеи должен убрать целую первую линию. А ведь это тот уровень, откуда мы брали ресурсы для мидлов. Люди на это линии работали, через 1-2 года кто-то показывал уровень, который достаточен для дальнейшего роста. А сейчас получается даже сокращении людей на это уровне, уменьшает вероятность появления ресурсов для нового мидла. Брать джуна сразу на уровень выше - ну так себе затея. Проще сразу нанимать мидла.

Более того, AI будет вечным джуном, в том смысле, что ему говоришь "не делай вот так больше", он говорит "ОК" — и всё равно делает.

ну по сути, как выше и писали, AI сейчас заменяет джунов.

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

У нас сейчас есть проект который по идеи должен убрать целую первую линию. А ведь это тот уровень, откуда мы брали ресурсы для мидлов.

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

Джун? Серверный шкаф? В Солиде?
Вы очень давно, видимо, собесы не проводили. Что такое размерная цепь, знает хорошо если 1 из 10. Хотя до примерно 1995г. дальше 4 курса такие студенты не проходили, как правило.
А там ведь еще сварка есть, листовой металл и много, много чего еще, что требуется вначале изучить, прежде чем работать с моделью шкафа.
До сих пор не могу забыть диалог:
- Ты хоть посмотрел, это соберется, с такими-то допусками, что ты проставил?
- Да ерунда, я немного уменьшил, резинками добьем, если останется зазор
И это ни разу не джун был. И других взять неоткуда.

Странно... я когда в 2000 устроился в небольшой стартап (правда, слова такого я тогда не знал) инженегром-конструктором, будучи выпускником МАДИ, собеседовал кандидатов, так все выпускники МАДИ, Станкина, МАИ... очень неплохо ориентировались в чертежах, вот только "допуски по умолчанию" у всех были разные - МАДИйцы предпочитали квалитеты 5-7, Станкиновцы - 7-9, а выпускники МАИ начинали в районе 10, что меня изрядно удивляло - неужели в автомобилестроении и станкостроении требования к точности выше, чем в самолётостроении? И да, большая часть кандидатов даже правильно выбирали подходящие поля (обычно h/js/k), не говоря уж об образмеривании деталей, ну а избитую шутку про "припуск на палец формовщицы" при проектировании литьевых деталей, знали, кажется, вообще все, хотя каждый считал эту байку достоянием исключительно своего ВУЗа.

Ах, да, мы как раз шкафы делали. Ну и не только шкафы. Получалось весьма неплохо. Но дорого и долго. В итоге стартап "не взлетел", но года три я там проработал.

Ну так и в дальнейшем мидлы и сеньоры буду вырастать из джунов, но уже из ИИшных :-)

Речь про о1, которую вы точно не используете "постоянно в работе", потому что там всего 30 промптов на неделю и неслабый ценник через API.

Все программисты в мире делятся на две категории:

  • Те, кто считает, что ChatGPT кодит на порядок лучше их;

  • Те, кто считает, что ChatGPT кодит на порядок хуже их.

ИСЧХ, и те, и другие абсолютно правы.

Для меня оба вида относятся к одной категории: те кто соревнуется с ии. Я отношу себя к другой: те кто его использует.

Это подкатегория первой.

Вы используете робот пылесос, потому что он убирает лучше вас, или по какой-то другой причине?

Ваши категории - следствие ваших когнитивных искажений, не стоит натягивать их на глобус.

Я не использую робот-пылесос. Потому что когда кошка отрыгнула проглоченную шерсть, пылесос размазывает это всё по полу.

Ну хоть не нагадила.

На самом деле

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

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

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

Но, следуя Вашей логике

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

Вы также, по-видимому, не осведомлены о новейших инструментах

Отлично осведомлён, а также осведомлён о том, что они точно так же ни на что не годны. Мне не нужен вероятностный молоток, от инструмента мне нужна точность и предсказуемость. А, по моему опыту работы, способность человеков изобретать новые способы сделать так, чтобы всё пошло не по плану, безгранична.

Все программисты в мире делятся на две категории:

  • Те, кто считает, что ChatGPT кодит на порядок лучше их;

  • Те, кто считает, что ChatGPT кодит на порядок хуже их.

Я отношу себя к другой: те кто его использует.

Это подкатегория первой.

Есть мааааасенькая такая разница между моей логикой и Вашим пониманием моей логики. 

Как Вам угодно :)

Чего тут непонятного? Те, кто считает, что GPT кодит лучше их — конечно его используют, потому что их собственный код ни на что не годен, и код GPT будет всяко лучше их собственного, каким бы дурацким он ни был.

Ваши логические способности мне понятны)

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

Не факт, что вторые правы. Может самомнение излишнее?

Просто для того, чтобы это понять, надо для начала принадлежать ко второй категории. (Даннинг с Крюгером согласно кивают.)

Ну мы-то с Вами точно ко второй принадлежим. Это вот они все, вот те вот, это они думают, что ко второй, а на самом деле к первой. А мы-то правда ко второй! Вон нам даже кивают Даннинг с Крюгером!

Насчёт Вас, судя по Вашему предыдущему комментарию, не уверен.

Хорошо, я к первой, только Вы ко второй :)

Но Вы ведь знаете, что т.н. "эффект Данинга-Крюгера" - это просто статистический артефакт из-за некорректности использованной в работе методологии, и её выводы не имеют отношения к действительности? Об этом и на Хабре писали тоже: https://habr.com/ru/articles/777740/

От того, что семиклассник Вася в своей лабораторной работе по измерению точного значения константы gсделал ошибку, закон всемриного тяготения действовать почему-то не перестал.

А какую формулировку Вы в данном контексте считаете "действующим законом всемирного тяготения"?

Ту, которую в седьмом классе проходят, конечно же.

Пользуетесь о1 моделью?

Очень бы хотел эксперимента ради скормить вашу документацию 4о которой я пользуюсь, чтобы посмотреть что она генерит. Постоянно слышу такие штуки и все время удивляюсь, мы вообще про один и тот же ии говорим?) Жаль проектная документация под нда, не поставить такой эксперимент.

Я пользуюсь. разницы не заметил если честно. Все так же тупит с отступами для jinja2

В целом иногда может пригодится. Но какого то вау эффекта нет.

Вау эффект у людей атрофировался, по моим наблюдениям. Но отличия определенно есть, если проверять объективно.

Проверять объективно это про метрики ради метрик. Для реальной работы разницы нет.

Вы не можете постоянно пользоваться 4о1, её начали раздавать буквально несколько дней назад. Это всё ещё не магия, но заметно лучше 4о

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

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

А вы точно o1 используете?

Даже если можно нагуглить...сегодня вот надо было сеть дома перенастроить серьезно (а у меня там накручено много интересного). Не,т ну в итоге с подсказками ИИ получилось дойти до рабочего решения но до этого - не раз приходилось писать - "а ты учло что это RouterOS7? На указанную команду вылетает ошибка" и оно правило. А также не раз писать "а все равно не работает, симптомы такие то" - в ответ очередные предложения что накрутить. В итоге заработало все же но очень сильно подозреваю что спец по Mikrotik'ам (которым я не являюсь) - сразу бы нашел правильное решение с учетом всех деталей.

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

Написал человек, не имеющий доступа к ChatGPT o1. Во-первых, никто не утверждает, что эта нейронка может заменить программиста. Во-вторых, нормальный программист такой код с нуля за час не напишет. Он даже код калькулятора за час не сможет написать. В-третьих, эта нейронка прекрасно генерирует уникальный на 100% текст и код. Вы это знали бы, если бы были на самом деле программистом, а не диванным специалистом, не догоняющим, как программисты используют нейронки, и если бы у вас действительно был доступ к Chat GPT Plus. Но если диванный программист хочет спорить с доктором философии, ученым из NASA, тогда пусть спорит))).

никто не утверждает, что эта нейронка может заменить программиста

Никто??? Да их тут сотни!

А у меня сложилось впечатление что бедный робот просто проверить не может свои предположения. Как только ИИ будет сам компилить и дообучаться, так и наступит коммунизм :))) Для кого-то:)))

А вариант, что диссер херовый, не рассматриваем?

У «инженеров НАСА» весь код такой. К примеру, 100 килобайт кода парсинга xml файлов (описания данных радарных спутников Sentinel-1) легко заменяются сотней строк (и работают без кучи багов), могу ссылки привести, кому интересно. Кстати, этот код в НАСА лет 10 делали (и еще столько будут ошибки править, чтобы им можно было пользоваться). Еще пачку проектов от них изучал, когда свой софт аналогичный писал, так там везде тонны говнокода, так что для обработки нескольких сот мегабайт данных 16 гигабайт оперативки это минимальное требование.

Вроде у них жесткий лимит на оперативку в космосе ибо радиация не дремлет, так что про 16гб не уверен.

ECC в помощь, которую, собсна, и используют в космосе

С такими лозунгами подписку не продать.

Думаю скоро будут "новости" в духе "нейросеть ChatGPT спасла новозеландских хомячков от вымирания", "нейросеть o1 нашла новое лекарство от рака" и прочие популярные манипуляции.

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

Мне тут на днях знакомый кинул ссылочку от OpenAI что у них O1 теперь диссертации по физике сочиняет. Проверка показала, что он даже задачи из университетского учебника по механике осилить не может.

Хотя не знаю, может теперь диссертации такие ...

может теперь диссертации такие ...

Вы думаете, раньше в бумажном виде, когда код был распечатан в приложении (и никогда не работал даже у автора) было лучше?:)

Я некоторое время назад скачал и прочитал диссертацию Брайана Мея по астрофизике. Того самого гитариста из Queen. Он в свое время покинул аспирантуру ради карьеры профессионального музыканта, а году в 2007 таки дописал и защитил PhD. Там экспериментальная работа по изучению облаков пыли в солнечной системе, телескопы, интерферометры, вот это все. А в самом конце в приложении код на Fortran который данные обрабатывал. Он реально внушает, всем советую разыскать и глянуть ))

А по поводу "было ли раньше лучше" - такое как сейчас на БЭСМ-6 с оперативной памятью в 128 кбайт (если повезет) на ферритовых вентилях просто бы отсеялось само собой. Ограниченные ресурсы как-то сами располагали к написанию если не оптимизированного, то хотя бы чуть-чуть осмысленного кода.

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

Идиократия на марше, сэр!

А в самом конце в приложении код на Fortran который данные обрабатывал. Он реально внушает, всем советую разыскать и глянуть ))

Вы его сами запустить попробуйте, а нам уже на репозиторий с рабочим кодом ссылку присылайте :) Проблемы можно увидеть и в распечатках, если практика есть, но вот запустить код из диссертации или научной статьи и получить полезный результат - это фантастика.

Я никогда не слышал, чтобы код был существенной частью диссертации. Даже по программированию. Так, иллюстрация для порядка.

Собственно для этого достаточно посмотреть код тех кто эти нейронки и обертки для них и пишет например a1111 это капец какой то).

достаточно посмотреть код тех кто эти нейронки и обертки для них и пишет например a1111 это капец какой то

Людям просто нужны не шашечки, а ехать.

Жаль что потом эти люди не занимаются поддержкой всего этого в проде и т.д.. Так как у них лапки.

Вы о чем? Там 26 релизов и 6904 коммитов за последний год.

За поддержку в проде будьте добры заплатить.

Ааа то есть они специально делают хреновый код что бы им платили? Это объясняет почему у ребят через задний проход реализован вывод логов например.

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

Кстати, почему бы не вы? Чем вы хуже остальных 590 контрибьюторов?

Да у датасаинтесов и ML любой херовый код не их проблема. Они говно выкатывают, а дальше им не интересно.

Легче свою кастомную обертку написать чем с этим работать и пытаться исправить. В целом это только пример.

Да у датасаинтесов любой херовый код не их проблема. Они говно выкатывают, а дальше им не интересно.

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

Легче свою кастомную обертку написать чем с этим работать и пытаться исправить. В целом это только пример.

Хороший подход, в целом. Если легче.

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

Это люди на острее хайпа скорее. У которых все ради бабла вертится и развода инвесторов.

Что вы своими постяными переводами топика на деньги вместо того что делать свою работу хорошо и подтверждаете.

Это люди на острее хайпа скорее.

Пусть будет хайпа.

У которых все ради бабла вертится и развода инвесторов.

Можете перечислить список инвесторов в stable-diffusion-webui?

Что вы своими каждыми 5 минутными переводами на деньги и подтверждаете.

Просто пытаюсь намекнуть, что ваши хотелки по дефолту не важнее остальных 6904 коммитов за год. Бесплатно вам никто ничего не должен. Если хотите, чтобы вам были должны - платите деньги. Либо воняйте в issues и вставайте в очередь, там таких как вы уже 2.2К набралось.

Это не хотелки и это не фича. Просто можно писать код хорошо, а можно задней левой ногой с разрядом "И так схвают, мне за нормальное программирование не платят"

Просто можно писать код хорошо

Можно, и релизнуться к 2026, когда уже никому не нужно будет.

Будем ждать вашей правильной кастомной обёртки. Я себе напоминание поставил через год спросить вас о ваших успехах.

Еще раз ты или пишешь какие то базовые вещи нормально. Или нет.

Это не вопрос скорости программирования или каких то фич. Это вопрос Квалификации. Если программист не осиливает нормальный вывод логов через logging в питоне в делает их через print ну что ж его действительно любая нейронка заметит или обезьяна.

Ну и что делать когда "нормальных" программистов один, а проектов тысячи? Вот этот один капризный программист, которого заменить проблема, будет что-то уникальное делать для уникальных людей, с уникальным начальником которого вопрос поиска второго уникального программиста не смущает. А остальные проекты, о которых знают все, будут делать обычные.
Я как то сдуру залез в VmWare, оказалось что её написали студенты на перле. Ну и что, она всё равно долго была основой индустрии.

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

В индустрии какой то треш если честно. На собесах тоже.

Где то ламповое время когда люди собирались и делали что то потому что им нравилось. А не ради очередного раунда инвестиций.

Где то ламповое время когда люди собирались и делали что то потому что им нравилось. А не ради очередного раунда инвестиций.

Я, кстати, все еще не увидел от вас примеров инвестиций в stable-diffusion-webui. Там как раз за спасибо народ пишет, в лучшем случае. В худшем получают таких, как вы.

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

Потому что в науке (да и в инженерке тоже нередко) код как правило одноразовый. По быстрому клепается скрипт, чтобы по проверить там гипотезу или обработать какие-то данные. Может быть потом к этому скрипту прикручивается еще что-то по мелочи, там построение графиков или экспорт в какой-нибудь промежуточный формат. Крайне редко кто планирует, этот исходный код станет настоящим продуктом. А когда внезапно оказывается, что этот разросшийся скрипт является полезным не только автору и расползается по соседям, никто его переписывать под приличный вид не хочет, это никому не интересно.

Поддерживаю. Будучи студентом столкнулся с одной вещью, сделанной в недрах одного НИИ. Комплекс из 6 камер в одной коробке, по оптоволокну гонит 30 кадров 640*640 с каждой камеры (плюс служебная информация). Чтобы вывести изображение с одной камеры на экран разработчикам потребовалась видеокарта с 4гб видеопамяти (они юзали GLFW, OpenGL 3.3). Стоит ли говорить какая жесть творилась в исходниках.

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

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

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

можно было сделать лучше

Любой код можно сделать лучше. Ну, кроме 014747 *

Так. Давайте посмотрим, что это за работа.
"Кайл получил докторскую степень по физике в Калифорнийском университете в Ирвайне в июне 2023 года. Для своей докторской диссертации Кайл разработал структуру моделирования и анализа для динамического взвешивания сверхмассивных черных дыр в центрах гигантских галактик".

Речь о Ph.D.
В основе эта работе.
Кабасарес и др. (2022) Измерения массы черной дыры галактик раннего типа NGC 1380 и NGC 6861 с помощью наблюдений ALMA и HST и газодинамического моделирования.  Астрофизический журнал . DOI: 10.3847/1538-4357/ac7a38
Сама статья доступна по ссылке.
https://iopscience.iop.org/article/10.3847/1538-4357/ac7a38/pdf

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

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

Теренс Тао недавно делился своими впечатлениями от работы c o1. Основной посыл был в том что да, может быть полезна, но каких-то принципиально-новых прорывных идей в ее подходе он пока не увидел.

Тут важно, что он считает, что недолго уже до выдающихся инструментов

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

Так что даже его сравнение o1 со студентом «среднего уровня, но не безнадежного» — уже заслуга. Про предыдущие модели он говорил, что они безнадежны.

Но основная проблема осталась той же. Без руководства сверху модель не дает прорывных идей. Но получив инструкции уже может «работать руками». Но тем не менее, модель смогла осознать ключевые моменты того, что хотел Тао и самостоятельно заметить возможность применения теоремы Крамера. Предыдущая модель 4о этого не смогла.

Так что прогресс безусловно есть, особенно если делать скидку на специфику задач.

Собственно после того как работа сделана - уже просто задавать вопросы/промты, ты уже знаешь что спрашивать, и знаешь, что качественно получишь.

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

Олимпиадные задачи по механике - ну да, ну да, пошли мы нафиг... ))) Ну это шутка, конечно.
Здесь была очень интересная статья, где из движения некоторого количества объектов в пространстве получали законы сохранения.

Мысель не понял. Олимпиадные задачи по механике - это очень простые задачи, раз их можно решить в течение половины дня. Да ещё и несколько.

Правильная олимпиадная задача - нестандартная, где нужно догадаться до чего-то неочевидного. Решение обычно начинается с фразы "Заметим, что ....".
Под механикой я имел ввиду не теоретическую механику (вузовскую), а механику как раздел физики.
Ну или задачи с подвохом.
Как пример - вопрос про самолет на ленте транспортера.

Спасибо, что акцентируете на этом внимание. Я думаю, что если бы речь шла о, например, новой архитектуре нейросети/слоя для нее, и код не был бы в репозитории, то был бы другой результат от попытки воспроизвести ChatGPT и другой разговор (масштаб повода для беспокойства), если бы получилось

В околонаучной среде пишут довольно плохой код. Как правило, человек, который фокусируется на науке, слаб в программировании. Возможно, ему нужно было распарсить CSV с данными со спутника, и он писал этот код левой пяткой полгода по ночам. Современная модель, ясное дело, обучена на тысяче таких задач со StackOverflow.

там и его собственный код уже более года находится в паблики на github. Так что модель могла и на этом коде была обучена.

вот, кстати, репа - https://github.com/kylekaba/alma_dynamicalmodeling . В паблики с февраля 2023го.

Код уровня того, что мы писали в вузе в качестве домашних работ. Так что если они там это писали 10 месяцев...

О, да там классический стиль инженеров НАСА, которые до сих не умеют массивами и прочими структурами данных нормально пользоваться:

xi = int(parameters['xi'])

xf = int(parameters['xf'])
yi = int(parameters['yi'])
yf = int(parameters['yf'])
z_i = int(parameters['nu_i'])
z_f = int(parameters['nu_f'])
N = int(parameters['N'])

Потом эти бесконечные аргументы передаются в функции, где снова по отдельности проверяются и так далее. А в самой последней функции выводится отладочное сообщение со всеми переменными и пара из них складываются :) Не шутка, встречал и такое.

"программу на фортране можно написать на любом языке" (c)

COMMON BLOCKS не хватает, с ними совсем было бы хорошо

Вы уж извините, повторюсь.

Это абсолютно нормальный код. Я, например, знаю и фреймворки, и архитектуру систем, и подходы современные и в состоянии написать современное многослойное веб-приложение со всеми нужными слоями, разделениями логики и т.д. Но иногда пишу какие-то микросервисы для подсчета какой-нибудь фигни. И там в бизнес-логике вполне может быть вот такие простынки текста. Причина их появления - наличие математических формул, где есть все вот эти вот xf, yi, yf и т.д. И их нельзя заменить на что-то другое, например, на словарь или массив. Потому что в таком случае код будет сильно отличаться от мат. формулы и изменять его или искать в нём баги будет трудно. А сложность именно мат. модели тут на порядок выше сложности кода. Поэтому некоторая красота кода жертвуется в угоду соответствия модели. Да, такой код нужно изолировать, но это абсолютно нормально и архитектурно верно иметь в одном месте переменные xf, z_i, N, MtoL, PS_A, пусть и кажется, что "фу! нейминг не тот, массивы не массивы" и т.д.

Речь тут, как мне кажется (или не кажется) не про эстетическую сторону (правила наименования, к примеру). А про то, что люди в принципе не понимают (или игнорируют) как те или иные решения влияют на потребление ресурсов (CPU, RAM), и в конечном счете на производительность.

Много раз обращал внимание, к примеру, на то, что авторы многочисленных поделий на numpy/scipy в принципе не отличают, когда их логика будет исполняться кодом "из под капота" (BLAS/LAPACK и т.д.), написанном на Fortran/C/C++, и соответствующим образом скомпилированном и собранном, и когда исполнение переедет на уровень собственно Python, с соответствующим падением производительности.

Года два или три назад попалась на глаза статья одного из "вычислительных физиков", в которой он делился с коллегами своими мыслями по поводу того, что у нас сейчас petascale (петабайты, петафлопсы), а на подходе exascale (экзабайты, экзафлопсы), и надо срочно придумать задачи, которые мы на exascale будем решать. То есть не сначала сформулировать задачу, а потом определить требуемые для ее решения ресурсы, а наоборот.

Глядя на уровень большинства поделий в этой области, не сомневаюсь, что они и exascale сумеют загрузить каким-нибудь линейным уравнением теплопроводности с однородными коэффициентами и стационарными источниками. Я в них верю.

Причем тут (на Хабре) была несколько лет назад большая статья-интервью с разработчиками НАСА, которые делают софт для шаттлов и других систем. У них не просто другие, а противоположные приоритеты от коммерческого софта. Отсутствие багов, надежность, читаемость, поддержка. Даже через 20 лет в софте должны уметь разобраться и поправить, если надо. Хотя его разрабочики не просто уволились, они уже физически недоступны, умерли от старости.

И сравните это с коммерцией "херак херак и в продакшн", когда продукт даже не через 20 лет, а через 2 года новая команда признает спагетти-легаси и выносит вердикт "проще переписать с нуля на новом модном решении".

Код для шаттла от НАСА не видел, да и сами шатлы давно история, а НАСА умеет теперь только чеки спейсикс выписывать. А вот что их знаменитая лаборатория NASA Jet Propulsion Laboratory (JPL) кодит это кошмар. Недавно я на линкедине для публичной дискуссии выкладывал свое ревью пачки их проектов, можете найти (тех проектов, для которых мои аналоги доступны на гитхабе, так что можете сравнить). Все, что мне ответили, это то, что они так уже 30+ лет пишут, и дальше будут. Увы, на питоне это ужасно и с точки зрения читабельности, и объема кода, и производительности. Притом, что полсотни инженеров НАСА пишут годами, можно написать за несколько месяцев в свободное время (что я и сделал).

 читаемость, поддержка

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

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

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

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

Так и статьи по физике у них такие же. От руководителя лаборатории НАСА JPL в рецензируемой статье ясно сказано, что мол мы обязаны использовать приближение плоской Земли, иначе эффект спутниковой интерферометрии не существует. То есть на деле, для упрощения вычислений мы используем приближение плоской Земли, а вот в статье явно написано, что вся наша физика работает только на плоской Земле :) В ответ на мой пост на линкедине указанный специалист ответил, что он сам эту статью в глаза не видел, это все пишется специально приглашенными людьми (почему-то это был математик, для физической статьи, поэтому получилось… странно) - заметим, у статьи указан единственный автор, который отказывается от какого-либо знакомства со статьей и ответственностью за написанное в ней. Итого, код невменяемый, статьи бредовые (там еще много перлов есть, вдобавок, в коде сделано совсем не так, как описано) и вроде бы все все понимают, но ни точной теории, ни реализации, ни того, кто это все может написать не существует. И это не умозрительная проблема - софт нужно дорабатывать, делать поддержку новых спутников и так далее, но этот черный ящик никому не понятен (и поддержку данных с нового спутника пишут уже много лет целой толпой, пока это все помечено на гитхабе плашкой, что оно не работает, даже не пытайтесь запускать).

Да, это, конечно, бред полный

мы обязаны использовать приближение плоской Земли, иначе эффект спутниковой интерферометрии не существует.

"Для простоты проведём расчёт для сферического коня в вакууме..."

Прошаренный человек, как минимум, в данном случае написал бы макрос и что-нибудь вроде:

get (xf); get (yi); ... и т.д.

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

Это тоже, конечно, верно.

Это не нормально. Такие переменные могут вводится локально в окрестностях документированных(!) математических формул, в остальном код должен быть читаемым. Передавать простыни в параметрах - нельзя. Иначе это будет write-only код или код, завязанный на одного разработчика.

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

Нет, код не работает как специфицировано, хотя при запуске все же что-то делает. Например, насовская утилита burst2safe для скачивания больших наборов радарных снимков создает выходные папки со случайными именами, а при возникновении ошибки просто завершает работу (там есть поддержка повторов http запросов, но это далеко не решает всех проблем). При повторном запуске проверки предыдущих загрузок нет, так что создается новый набор папок со случайными именами... Итого, после нескольких запусков вы получаете кучу папок с рандомными названиями, содержащих в основном "битые" файлы. И что с этим делать? Софт совершенно бессмысленный и "сырой", но он опубликован на гитхабе, PyPI, и за него отчитались, так что живите теперь с этим. Ах да, он еще и "весит" сотню килобайт, потому что наполнен совершенно бессмысленными шаблонными врапперами.

Если это одноразовый код - да, выкинули, поехали дальше. Если нет - то надо приводить к поддерживаемому виду, потом спасибо скажете)

Жесть какая-то, а не код

Код под мышьение автора и его коллег. Эти ребята мыслят другими категориями. Не стоит так.

Ну вот с моей точки зрения это жесть, а не код, с их точки зрения это норм код, решающий их задачу.

О вкусах не спорят. Понятно, что все мы развиты по-разному и не можем быть хороши во всех сферах)

Это нормальный код. На гитхабе такого кучи, и удивительно - в нём легко разобраться, легко переделать и отладить даже не зная C++. А вот например OrcaSlicer написан очень красиво с объектами. Исправить в нём ошибку (скорее всего тривиальную) я не смог из за того что надо разобраться сразу во всём коде.

А вы можете чем-то подтвердить свою точку зрения? Сравнивать сложный слайсер с поделками на несколько строк совсем не корректно.
К примеру, есть у НАСА пакет спутниковой интерферометрии ISCE2, жрущий память, использующий некорректные алгоритмы и так далее. Я вот утверждаю, что там неправильно все и доработать его фактически невозможно, и уйма проблем и ошибок, которые годами не решаются, решены и не будут. Более того, код параллельной обработки интерферограммы занимает одну страницу и пишется за вечер, и я его уже давно опубликовал. Но НАСА это никогда не поможет, потому что их "продукт" только выкинуть и написать заново возможно. Кстати, так они и сделали - и начали разрабатывать новую версию ISCE3, уже лет 6 пишут и конца процессу не видно. Вероятно, через сколько-то лет у всех этих десятков инженеров снова получится "ну не шмогла я". Что же тут нормального, когда целые команды в принципе не могут делать свою работу?

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

Если положить параметры в какую-то структуру, к имени переменной добавится имя структуры и простая формула превращается в нечитаемую простыню.

Знание языка программирования, на котором написан код, не требуется - всё очевидно. Через 20 лет это может стать проблемой. У инженеров НАСА летают некоторые объекты десятилетиями и могут внезапно ожить мёртвые спутники.

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

Ничего там не ясно, баги годами починить не могут, а в итоге, загрузили весь код в новый репозиторий и уже много лет «пилят» его - причем, из десятков разработчиков многие уже весь код переписали по несколько раз (см. статистику коммитов). Репозиторий-то посмотрите: https://github.com/isce-framework/isce2

То, что у НАСА летает десятилетиями, сделано и запущено в другое время и другими людьми. Когда-то и шаттлы летали, а теперь НАСА даже скафандры не могут сделать, почти полвека чинят древние, рассыпающиеся от ветхости. Инженеры НАСА возрастом около 40 лет ссылаются в качестве своих достижений на код, который работает 30+ лет - но они его не писали и не понимают, не говоря уж о том, чтобы написать что-то новое.

Похоже, что вы с таким кодом не работали)))

модель могла и на этом коде была обучена

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

А разве плохо? Пусть научные специалисты будут фокусироваться на том, что они умеют лучше всего, а код за них будут писать нейросети. В итоге такой специалист потратит сильно меньше времени на непрофильное для себя занятие.

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

Только пусть нейросети не пишут код для АЭС? Ну позязя?

Лучше Индусы за миску риса?

Индусы за миску риса уже заняты — они пишут код для Boeing 737 MAX.

Индусов хватит на всех

Почему-то вспомнился анекдот о собаке, которая играла в шахматы. А когда хозяину сказали "ого, какая умная у вас собака", он разозлился "да где ж она умная, 3:2 я выигрываю!?".

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

Поэтому я бы не стал ругать ученых, они сильны в чем-то ином, чем программирование или обработка больших данных.

Вообще да, но тоже не совсем (насколько я понимаю; аналитиком в индустрии как-то не довелось поработать, не очень знаю, чем они занимаются).

Для затравки - байка. Пришли мы однажды в Яндекс, они взялись пиарить свою платформу для науки и образования. Рассказывают: "вот сюда заливают данные ваши дата инженеры, здесь работают программисты, тут непосредственно учёные что-то ворочают". Слушаю всё это и прямо ощущаю, как развивается шизофрения в духе "цементный завод? Я!". Нарисовали нам там команду человек из 15, по факту всю эту работу выполняю (пускай медленно и плохо) я один. Поднять и настроить виртуалки, организовать сбор данных, ETL, собственно анализ, подготовка материала к публикации и написание статей... В таком раскладе мне нужна золотая середина: если обсчитываться будет месяц, скорее всего, не годится. Если оптимизированная версия считала бы час, но писал бы я её тоже час, это хуже версии, написанной за пять минут и считающей три часа. С очень высокой вероятностью код окажется черновым, и надо делать нечто ВООБЩЕ другое.

Такое вот "и швец, и жнец" не уникально для российской науки: лично видел, как в топовой лабе в Германии профессура точно так же мастерила что-то из запчастей из ближайшего строительного. В индустрии бывает принята точка зрения "зачем платить специалисту $Х в час за плохое исполнение работы, которую может сделать специалист за $X/10 в час". В академической науке это работает очень ограниченно: продуктивно думать сложные мысли дальше какого-то предела не получается. Поэтому всё это рукоделие происходит не за $X в час, а практически бесплатно.

Хотелок много, а денег/квалификации/прочих ресурсов на них совсем не хватает даже близко. Поэтому товарищи учёные (обычно) хорошо разбираются в своей предметной области, но и делают параллельно этому ещё десять разных вещей на уровне бестолкового джуна. Что характерно, завлаб безо всякого формального обучения и опыта управляется с всевозможными питонами куда лучше студента, которого таки несколько лет учили прогать в том числе. Умение мыслить - мощная штука. Согласен с пугающей мыслью товарища комментатора тут: https://habr.com/ru/news/843718/#comment_27302466 -- велик соблазн всё сделать самому/с чатгпт вместо того, чтоб растить смену...

Мне кажется, мы об одном и том же говорим. Хотя в некоторых лабораториях есть свои программисты (у кого бюджет позволяет).

Боюсь, что это говорит не о качестве сетки. А об уровне и знаниях данного инженера.

Я стараюсь по максимуму использовать chatGPT при написании кодаи получении какой то информации быстро. Это дикий ужас. Надо тщательно перепроверять. Ошибка на ошибке.

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

1) быстро теряет контекст, и легко выкидывает важные вещи всего пару сообщений назад

2) абсолютно не понимает многие связи. Например, объясняю ему что человек не считает сколько ему нужно времени на речи и не рассчитывает кол-во вдыхаемого воздуха. Да, соглашается и тут же в одном из пунктов снова перечисляет что в зависимости от длины речи человек решает сколько вдохнуть воздуха. И так по кругу.

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

Но ни к ИИ, ни к замени кого то это не ведёт. Это инструмент облегчающий какие-то вещи. Либо этот инженер искал бы и писал свой код просмотрев кучу форумов либо обобщил через LLM.

Автоматизирует рутину - да, так как проверить проще, чем порой писать монотонный код. Но чтобы проверить, надо уметь самому это написать.

Не понимаю, чем хвалятся эти инженеры, когда говорят что chatGPT написал за них этот код, который бы они писали месяц. Это говорит лишь об их уровне компетенции, а не об уровне chatGPT. Значит это плохой инженер, раз эта работа заняла бы у него столько времени.

Так в этой новой версии как раз постарались эту проблему исправить с помощью "chain of thoughts". Вот тут чуть подробнее описано. https://openai.com/index/introducing-openai-o1-preview/

Это не решит проблему. Я знаю про подход  "chain of thoughts" и постоянно использую его добавляя
https://www.promptingguide.ai/

1) рассуждай шаг за шагом
2) проверь свой ответ на соответствие биологическим значениям (если речь про биологию процесса)
3) в чем я не прав?
4) если не знаешь. напиши не знаю и не придумывай

Первый пункт - как раз про  "chain of thoughts".
Второй пункт - про то. чтобы модель придерживалась контекста и проверяла то что пишет.
Третий пункт - чтобы модель меньше фантазировала, и сначала подвергала сомнению. то что я написал
Четвертый - чтобы меньше врала.

Поэтому - "chain of thoughts" ни как не исправит ситуацию, так как я учитываю это в запросах в ручную. Без этих пунктов, ChatGPT просто превращается в рулетку. Так что введение "chain of thoughts" ситуацию не исправит.
Я предлагал подобный подход в чате сбера. Только он был немного шире. Там по аналое с MOE, сами нейронки выступали в качестве орбитора. Это существенно улучило качество ответа в рамках знаний LLM модели (выше головы они не прыгнут), но при этом время одного ответа составляло от 5 до 15 минут.
https://t.me/greenruff/1756
там же в комментариях я прикладывал код, чтобы каждый мог попробовать на разных LLM. Так что ChatGPT есть куда там еще расти.
Но кардинально это не решает проблемы. Так как за пространственное мышление, отвечающее за причинно-следственные связи должна отвечать другая модель, как это сделано у нас в двух полушария. Один из примеров является, такого проявления является Гроккинг, описанный в данном статье
https://habr.com/ru/articles/840136/

"Chain of thoughts" это концептуально другой подход, по сравнению, с просто промпт инжинирингом. Если все сильно упростить, то GPT 4 обучена на "голых" данных, т.е. просто запоминает ответы, тут никакими промптами ситуацию сильно не улучшить. Если готового ответа нет в ее структуре, то она до него не дойдет практически никак. В новой же модели o1 обучение происходило семплированием и оценкой (с выбором наилучшего варианта) следующих ответов. Т.е. модель учится на наилучших в рассматриваемом контексте рассуждениях, а не готовых ответах. Согласитесь, это другой подход к обучению и совсем не то же самое, что и простой промпт инжиниринг.

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

Как по мне подобного подхода не хватает chatGPT и другим LLM. Когда обучение идет периодически чередуя базу и правила.
Сейчас же обучение LLM это обучением базе, и там уже на авось что среди этой базы встретились правила.
Мы проводили тесты. где было выявлено, что обучение зависит от порядка данных.
Поэтому оно должно быть
1) обучение базе.. время - это... пространство это -
2) обучение правилам. после завтра - это время, где...
то, как обучается человек.
Иначе, многие важные связи могут оказаться слабыми.
А так же отуncтвие четких зависимостей, где вместо этого будут просто мусорные связи.

Там вообще не инженер (не программист), а астроном. К программированию отношения не имеющий никакого.

Часто астрономы в программировании шарят лучше многих программистов.

Смотрел весь его лайв, а также видео до этого, где он задаёт нейросети те астрофизические задачки, что ему подкинул профессор и которых предположительно нет в учебниках. Так вот меня больше впечатлило, что она те задачки порешала и выдала численные значения очень схожие с теми, что у автора получилось. Это при том, что она не калькулятор и будет ошибаться по-любому. Более того, он не знал, что нужно в новом чате каждую задачу открывать и пилил всё в одном. То есть контекста хватило на 4 разных сложных задачи и она не запуталась в этом всём!

Что же касается его восторга, что она воспроизвела его программу, тут я не сильно впечатлён. Он эту программу даже не проверил. Она вышла в несколько раз короче, он скормил её и свой код кажется ChatGPT 4 чтобы сравнила, но был уже под конец лайва уставший, не вчитывался. А там на паузе видно, что она пишет, что код нейросети является скорее обучающим, не реализует всех тех же функций, что и исходный код (который она критиковала за монолитность), требует доработки. Потом он посмотрел вывод графики. Там слева шум, справа пустой квадрат. Но его это всё впечатлило почему-то.

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

И ещё один момент, который сформировал определённое мнение об этом человеке как об исследователе - вначале лайва, когда он попросил нейросеть решить задачу, которая у него на сайте решена, она стала решать по-своему, получила другой ответ. Я наблюдал, что он будет делать и он делал что угодно, кроме ожидаемого - пройтись по шагам, найти расхождение. Блин, ты ж исследователь, это твоя область интересов, даже сайт завёл и там эту задачу описал. Неужели не интересно разобраться? Он же полез куда-то гугглить, хотел чтобы нейросеть сравнила решения и потом бросил это и перешёл к коду. Удивительно.

В общем, мышление по шагам проявляет и прогресс в математике и не только огромный, но пока многие из косяков сохраняются ещё. И мне вот до сих пор непонятно, это и есть реализация Q* алгоритма? Я ожидал что-то более детерминированное, типа граф подзадач, который она строго обходит. Это бы позволило избавиться от многих проблем. Но похоже её просто обучали на датасете с размышлениями.

Ваш комментарий как раз подтверждает: уже сейчас нейросети таких вот инженеров могут заменить. И хорошо бы поскорее. Эти инженеры еще и по теории публикации пишут, с таким же лютым трэшем, как в коде, и это потом студентов заставляют учить - от НАСА же! А попробуйте начальнику отдела в НАСА с такими вот кадрами публично вопрос задать, чем они столько времени занимались и что это такое опубликовано - отвечают, что они этим уже больше 30 лет занимаются, и скоро мы все увидим, надо только подождать :) Нейросеть хотя бы признает свои ошибки и пытается исправить - и временами успешно, так что есть перспективы.

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

задача o1 как раз взять как минимум часть работы по проверке генерации на себя

нейросеть проверяет нейросеть?

Автотесты.

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

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

Или будет специальная профессия техножреца, который будет знать специальные заклинания, заставляющие дух машины работать правильно.

У меня так
У меня так

Но у меня промпт вписан в настройках chatgpt, котоый улучшает выдачу. Просто к сведению

А что за промпт?

Наверное, "отвечай как эксперт по математике"

а что не так?

У вас не та модель

Пора спрашивать у юзеров хабра какая у модель больше O или O1, а то уже не смешно

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

главное чтоб сто раньше заменили

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

И впечатляет и пугает одновременно

Смог бы он написать эти 6 промптов если бы не изучал тему 10 месяцев?

Там в комментариях на ютубе справедливо подмечают, что код опубликован на гитхабе около года назад и вполне мог попасть в данные для обучения о1. А суеты уже навели...

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

так в этом собственно и суть.
chat gpt отлично пишет код если задача поставлена максимально понятно и корректно. строк так до 1000 длинной. Так что тут заслуга не чат гпт, а автора который все это придумал, грамотно декомпозировал и понятно изложил в промпте. Кстати вероятно именно этот навык в ближайшее время станет более востребованным чем просто кодинг и часть программистов которые не оч хорошо умеют четко и понятно формулировать мысли останется за бортом.

Как я писал уже много раз,

...давным-давно, когда компьютеры были большими, разработчик набирал переключателями на пульте двоичный код, который потом исполнялся процессором. Потом программист стал писать человекочитаемыми буковками код низкого уровня (на ассемблере), который транслировался в машинный код, который исполнялся процессором. Потом разработчик стал писать код на языке высокого уровня (скажем, C — кстати, у сишных ++ и -- ноги растут из DEC-овских операций с авто{ин|де}крементом), который транслировался в код низкого уровня, который транслировался в машинный код, который исполнялся процессором. Теперь разработчик нового уровня будет писать очень-очень подробное техническое задание, которое транслируется в код на языке высокого уровня, который транслируется в код низкого уровня, который транслируется в машинный код, который исполняется процессором...

Шесть промптов (которые не показали) напоминают шутку что генту можно установить в три команды:

<@insomnia> Нужно выполнить всего три команды, чтобы поставить Gentoo
<@insomnia> cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6
<@insomnia> это первая

Ну вот надо было обязательно кликбейт сделать "для докторской диссертации". Втопку

Про код от научных работников.
1. Программы которые пишут товарищи ученые часто одноразовые - это например обработка экспериментов, эксперимент проведен, обсчитан, статья написана - всё. Можно переходить к другой задаче.
2. Сами программы как правило выглядят так - загрузить данные, считать-считать, выгрузить. Всё. Все возможности современнейших плюсов просто не востребованы.
3. Есть часть исследователей - т.н. численники, люди пишут программы успешно конкурирующие (в своих нишах) с монстрами типа Ansys или Comsol, и там всё оптимизируется максимально. Опять таки - надо помнить, что все плюс-плюшки не бесплатны в плане ресурсов/времени.
А главное - программисты пишут программы, а ученые - исследуют природу, т.е. задачи изначально разные.

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

То что она написала на Питоне обрабатывало один файл пять часов (по её словам). А то что мы написали на Си - две минуты.

Вероятно, вы это сделали напрасно. Я свой высокопроизводительный код как раз с си на питон переписал уже. И да, с использованием numpy и numba он и параллелизуется без костыля в виде сишного OpenMP, да еще и векторизуется (в то время как на си работать с SIMD отвратительно). А если понадобится на нескольких хостах распараллелить, на си это менять OpenMP на OpenMPI, а потом мучаться с их несовместимостью между платформами. Кстати, в относительно новых версиях фортрана поддержка многомерных массивов позволяет многомерные вычисления сделать куда эффективнее и быстрее, чем на си, так что если уж олдскул - то правильный.

И как вам без типизации живется?

В numba типизация есть. Можно даже разные трюки делать, скажем, list_int = [0][1:] для получения пустого списка значений типа int, этот код работает и с numba и нативно в питоне (для отладки удобно).

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

А сколько часов надо потратить для того, чтобы научиться писать программы по обработке изображений на Си? Больше 5 часов?

С GPT есть другая серьезная проблема в нашей работе, о ней пока мало говорят. Это коллеги, которые раньше ничего не делали и потому не мешали.

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

Или соседняя команда, которые сгенерировали JSON и опубликовали его в качестве контракта не читая. И передали его тебе на ревью, чтобы ты сделал эту работу целиком. Отчитаться, что на их стороне все готово, они не забыли, теперь ждут одного только тебя.

Или соседняя команда, которые сгенерировали JSON и опубликовали его в качестве контракта не читая. И передали его тебе на ревью, чтобы ты сделал эту работу целиком. Отчитаться, что на их стороне все готово, они не забыли, теперь ждут одного только тебя.

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

Нейросеть ChatGPT o1 написала код для докторской диссертации за час и шесть промтов, инженер потратил на него 10 месяцев

Так витиевато о том, что он — тормоз, мне ещё никто не признавался!

Справедливости ради, если бы тот инженер написал свой код за час, с него бы уже не «слезли» и он бы писал код уже всей лаборатории пожизненно :)

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

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

Другие новости

Истории