И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 31.01.26 07:44
Оценка: :)
Во-первых, ограничимся достаточно узкой областью. Какой-нибудь open source фреймворк.

Что тут вообще может делать интеллект, неважно какой.

1. Освоить имеющийся материал по этому фреймворку
2. Применить эти знания на практике, то есть сделать код с использованием его для конкретной задачи
3. Дать свои рекомендации по внесению изменений в него, не делая эти изменения. Какие-то новые идеи высказать, например, или хотя бы улучшения предложить.
4. Разработать свой код в качестве contibutor и предложить pull request
5. Принять этот pull request (или отвергнуть его)
6. Внести изменения в release и сделать следующую версию.

ЕИ все это может. Разумеется, разные представители ЕИ

Ну ладно, (6) мы пока ИИ не поручим

(1) — (2) ИИ вроде как может.

Может ли он (3) — (5) ? Если сейчас не может — сможет ли ?

Иными словами, сможет он стать разработчиком нового или останется только компилятором существующего ?
With best regards
Pavel Dvorkin
Re: И еще рассуждения об ИИ
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 31.01.26 07:59
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Может ли он (3) — (5) ?

Может. Да и с пунктом 6 проблем нет. Тут скорее вопрос насколько это отвечает ожиданиям потребителя, пока еще ИИ не может этого оценить. Как говорится "красота в глазах смотрящего".

PD>Если сейчас не может — сможет ли ?

В будущем сможет еще лучше

PD>Иными словами, сможет он стать разработчиком нового или останется только компилятором существующего ?

Это философский вопрос. Есть мнение, что и люди не изобретают новое с нуля, а составляют из зарных известных частей.
GPT делает именно это — "понимает нетривиальную логику" (настраивает параметры на воспроизводство этой логики) составления сложного текста или изображения, может как разбирать существующие тексты\изображения, так и генерировать новые на основе входных данных.

Уже сейчас есть ИИ который генерирует гипотезы для научных работ и отсекает заведомо нежизнеспособные.
Re[2]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 31.01.26 10:32
Оценка:
Здравствуйте, gandjustas, Вы писали:

PD>>Может ли он (3) — (5) ?

G>Может.

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

>Да и с пунктом 6 проблем нет. Тут скорее вопрос насколько это отвечает ожиданиям потребителя, пока еще ИИ не может этого оценить. Как говорится "красота в глазах смотрящего".


С 6 проблем технических нет, это понятно, просто едва ли это нужно сейчас — кто ответственность будет нести ?

PD>>Иными словами, сможет он стать разработчиком нового или останется только компилятором существующего ?

G>Это философский вопрос. Есть мнение, что и люди не изобретают новое с нуля, а составляют из зарных известных частей.

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


G>Уже сейчас есть ИИ который генерирует гипотезы для научных работ и отсекает заведомо нежизнеспособные.


Гипотезы разные бывают.

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

Гипотезы фундаментального типа, где нет аналогов — не уверен. Смог бы он, если бы был тогда, предложить гипотезу о дуализме электрона (частица-волна) ? Базируясь на всем массиве информации того времени ? Или, скажем, предложить гипотезу о кварках, причем не на уровне умозрительных общих соображений (вроде атомарной теории Демокрита), а с предсказанием их типов и взаимодействия ?

Да ладно гипотезы. Смог бы он принцип фон Неймана сформулировать ? Вычислительные машины уже были, электронные лампы тоже.
With best regards
Pavel Dvorkin
Re[3]: И еще рассуждения об ИИ
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 31.01.26 14:59
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, gandjustas, Вы писали:


PD>>>Может ли он (3) — (5) ?

G>>Может.

PD>Пример можно ? Код, созданный ИИ и принятый в репозиторий. Разумеется , код какого-то фреймворка, а не просто проекта. И, конечно, без его правки человеком.

Недавно пробегало https://github.com/wilsonzlin/fastrender
А еще у меня есть на работе проект, который внешняя команда с помощью ChatGPT делает. Там не 100% когда сгенерировано, но порядка 80% минимум. я и сам переодически прошук написать какой-то код ИИшку, когда знаю что она даст или 100% результат или близкий к нему.


>>Да и с пунктом 6 проблем нет. Тут скорее вопрос насколько это отвечает ожиданиям потребителя, пока еще ИИ не может этого оценить. Как говорится "красота в глазах смотрящего".

PD>С 6 проблем технических нет, это понятно, просто едва ли это нужно сейчас — кто ответственность будет нести ?
Это смотря что вы понимаете под словом ответственность.

PD>>>Иными словами, сможет он стать разработчиком нового или останется только компилятором существующего ?

G>>Это философский вопрос. Есть мнение, что и люди не изобретают новое с нуля, а составляют из заранее известных частей.
PD>Как сказать... В каком-то смысле все, что ни было придумано, имеет какой-то аналог в предыдущем. Совсем уж с нуля сложно.
PD>И тем не менее.
PD>Можно, конечно, говорить, что тот, кто изобрел колесо, катал ошкуренные куски стволов и догадался. Но все же колесо — это скорее новое, а не из известных частей.
Увы мы не знаем ничего про то, как было изобретено колесо, поэтому можем догадываться только.

PD>И ракета тоже, кстати.

Серьезно?
То есть ракеты Циолковскому просто приснились, не было фейерверков в Китае в 10 веке и реактивных снарядов в индии в 18ом?
И как вы себе видите изобретение ракет?
Кстати ответ на этот вопрос я получил с помощью ИИ


G>>Уже сейчас есть ИИ который генерирует гипотезы для научных работ и отсекает заведомо нежизнеспособные.

PD>Гипотезы разные бывают.
PD>Гипотезы, скажем, о влиянии тех или иных функциональных групп в молекуле или о пространственном расположении их на активность в качестве лекарства для такой-то болезни — вполне возможно. Это базируется на накопленном опыте таких исследований, а ИИ может перебирать миллионы комбинаций и рекомендовать те, которые наилучшим образом соответствуют имеющимся представлениям.
Думаете ученые действуют от озарения? Увы, они также перебирают, используют направленный перебор, эвристики итд. Вот сейчас им ИИ помогает.

PD>Гипотезы фундаментального типа, где нет аналогов — не уверен.

PD>Смог бы он, если бы был тогда, предложить гипотезу о дуализме электрона (частица-волна) ?
Она же базировалась на дуализме фотонов, который был известен давно — преломление света (ведет себя как волна волна) и фотоэффект (ведет себя как частица). Луи де Бройль потом выдвинул гипотезу, что электрон ведет себя также, как фотон, проявляя двойственность. Дальнейшие эксперименты гипотезу подтвердили. Базируясь на всем массиве информации того времени ? Или, скажем, предложить гипотезу о кварках, причем не на уровне умозрительных общих соображений (вроде атомарной теории Демокрита), а с предсказанием их типов и взаимодействия ?
Мог ли ИИ выдвинуть такую гипотезу на основе знаний о дуализме фотонов и том что электрон тоже проявляет свойство элементарной частицы? Мог конечно, так же перебором соединив два факта. Предсказать взаимодействия не мог, но и на гипотезы де Бройля никто не мог, это уже более поздние работы.


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

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


Мы тут приходим к проблеме: какой промпт надо написать для ИИ, чтобы он в принципе начал что-то полезное генерировать. А уж тем более предложил что-то, что человечеству еще неизвестно.
Промпт инжиниринг сейчас самая сложная часть всей работы с ИИ. Я столько времени иногда трачу на промптинг для простых частей кода, что возможно быстрее было бы самому написать. Как можно исследования так делать — ума не приложу. Там специализированные ИИ и хз как реально они работают.
Re: И еще рассуждения об ИИ
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.02.26 04:42
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Может ли он (3) — (5) ? Если сейчас не может — сможет ли ?
По поводу 3 и 5 — см. например https://github.com/kimak-irmagi/taidon/pull/29#discussion_r2726213981
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 07:55
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:

PD>>Может ли он (3) — (5) ? Если сейчас не может — сможет ли ?
S>По поводу 3 и 5 — см. например https://github.com/kimak-irmagi/taidon/pull/29#discussion_r2726213981

Не совсем понял. Что означает, например

Coverage summary (ubuntu-latest):

engine: 89.9%
cli: 90.9%
combined: 90.3%
Lowest-covered engine files:


Code coverage он там провел, что ли ? Или что-то иное сделал, что изменяется в % ?

Ну а это

Codex Review
Here are some automated review suggestions for this pull request


вполне умели делать статические анализаторы и без всякого ИИ. Тот же PVS-Studio, например.
With best regards
Pavel Dvorkin
Re[4]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 08:34
Оценка:
Удравствуйте, gandjustas, Вы писали:

PD>>Пример можно ? Код, созданный ИИ и принятый в репозиторий. Разумеется , код какого-то фреймворка, а не просто проекта. И, конечно, без его правки человеком.

G>Недавно пробегало https://github.com/wilsonzlin/fastrender

Хм. Возможно, я что-то не понял.

Contributors
3
@wilsonzlin
wilsonzlin Wilson Lin
@wilson-anysphere
wilson-anysphere Wilson
@cursoragent
cursoragent Cursor Agent

Первые 2 вроде как люди, а не боты. Третий, возможно, бот, но для него No commits history


G>А еще у меня есть на работе проект, который внешняя команда с помощью ChatGPT делает. Там не 100% когда сгенерировано, но порядка 80% минимум. я и сам переодически прошук написать какой-то код ИИшку, когда знаю что она даст или 100% результат или близкий к нему.


То, что такое возможно , я , конечно не спорю. Но это все же рабочий проект, в котором используется код, написанный ИИ. А я говорил о фреймворках или библиотеках. И не на 80% с ревизией потом человеком этих 80% и дописыванием 20, а целиком.



G>Увы мы не знаем ничего про то, как было изобретено колесо, поэтому можем догадываться только.


Увы...

PD>>И ракета тоже, кстати.

G>Серьезно?
G>То есть ракеты Циолковскому просто приснились, не было фейерверков в Китае в 10 веке и реактивных снарядов в индии в 18ом?
G>И как вы себе видите изобретение ракет?
G>Кстати ответ на этот вопрос я получил с помощью ИИ

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


PD>>Гипотезы, скажем, о влиянии тех или иных функциональных групп в молекуле или о пространственном расположении их на активность в качестве лекарства для такой-то болезни — вполне возможно. Это базируется на накопленном опыте таких исследований, а ИИ может перебирать миллионы комбинаций и рекомендовать те, которые наилучшим образом соответствуют имеющимся представлениям.

G>Думаете ученые действуют от озарения? Увы, они также перебирают, используют направленный перебор, эвристики итд. Вот сейчас им ИИ помогает.

Когда да, а когда и от озарения.

Идея Демокрита об атомах — тоже своего рода озарение. Впрочем, она была чисто умозрительной.
Архимед с его "Эврика". "Тело, впернутое в воду...
Яблоко Ньютона
Кекуле, как утверждают, предложил структурную формулу бензола после сна, где он увидел сцепившихся в кольцо хвостами обезьян. Можно, конечно, утверждать, что эти сцепившиеся обезьяны есть прообраз структурной формулы бензола, но это уже будет именно "притянуть за уши".
Похоже, озарением была идея двойной спирали ДНК Крика и Уотсона. Состав белка был уже хорошо известен, но из эти компонентов можно придумать миллионы структур. А тут одну — и сразу все верно.


G>Мог ли ИИ выдвинуть такую гипотезу на основе знаний о дуализме фотонов и том что электрон тоже проявляет свойство элементарной частицы? Мог конечно, так же перебором соединив два факта. Предсказать взаимодействия не мог, но и на гипотезы де Бройля никто не мог, это уже более поздние работы.


Возможно.


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

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

Я имею в виду лишь принцип хранимой программы — то, что она хранится в памяти. Это основное, остальное детали. До фон Неймана "программа" задавалась физической коммутацией схем. Есть ли сейчас компьютеры, где программа не хранится в памяти ?


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


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


G>Промпт инжиниринг сейчас самая сложная часть всей работы с ИИ. Я столько времени иногда трачу на промптинг для простых частей кода, что возможно быстрее было бы самому написать. Как можно исследования так делать — ума не приложу. Там специализированные ИИ и хз как реально они работают.


Мне-то уж точно проще было бы самому написать, чем добиться от студента, чтобы он сделал, как я хочу
With best regards
Pavel Dvorkin
Re[5]: И еще рассуждения об ИИ
От: FR  
Дата: 01.02.26 09:26
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

G>>Недавно пробегало https://github.com/wilsonzlin/fastrender


PD>Хм. Возможно, я что-то не понял.



PD>Первые 2 вроде как люди, а не боты. Третий, возможно, бот, но для него No commits history


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

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

Но результат очень посредственный https://rsdn.org/forum/flame.comp/9051858.1
Автор: FR
Дата: 01.02 10:33

Фактически этот браузер равносилен пре-альфа версии движка Blitz в которой всего ~25000 строк раст кода.
Re[5]: И еще рассуждения об ИИ
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 01.02.26 11:07
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Удравствуйте, gandjustas, Вы писали:


PD>>>Пример можно ? Код, созданный ИИ и принятый в репозиторий. Разумеется , код какого-то фреймворка, а не просто проекта. И, конечно, без его правки человеком.

G>>Недавно пробегало https://github.com/wilsonzlin/fastrender

PD>Хм. Возможно, я что-то не понял.

PD>Первые 2 вроде как люди, а не боты. Третий, возможно, бот, но для него No commits history

Ну то что там почти 30к коммитов за полтора месяца тебя ни на какие мысли не наталкивает.
Думаешь человек способен хотя бы ревью такого объема провести?


G>>А еще у меня есть на работе проект, который внешняя команда с помощью ChatGPT делает. Там не 100% когда сгенерировано, но порядка 80% минимум. я и сам переодически прошук написать какой-то код ИИшку, когда знаю что она даст или 100% результат или близкий к нему.

PD>То, что такое возможно , я , конечно не спорю. Но это все же рабочий проект, в котором используется код, написанный ИИ. А я говорил о фреймворках или библиотеках. И не на 80% с ревизией потом человеком этих 80% и дописыванием 20, а целиком.
Ну сегодня 80%, а через два года это станет 90%, а еще через 5 (очень с запасом срок) — 95%. Твоя риторика изменится?



G>>Увы мы не знаем ничего про то, как было изобретено колесо, поэтому можем догадываться только.

PD>Я же написал в предыдущем сообщении, что да, почти всегда можно какой-то аналог найти, или хотя бы за уши притащить. Вопрос в том, насколько далеко этот аналог уходит от прототипа.
Тут не вопрос насколько далеко "изобретение" от существующих знаний, а является ли изобретение какоим-то озарением или открытием, связывающим уже известные нам вещи. Сейчас большинство склоняется к мысли что всё-таки открытие. ИИшка может генерировать варианты возможных открытий связывая вещи по смыслу, которые не догадался связать человек.


PD>Когда да, а когда и от озарения.

А есть пример прям "озарений" в науке?

PD>Идея Демокрита об атомах — тоже своего рода озарение. Впрочем, она была чисто умозрительной.

PD>Архимед с его "Эврика". "Тело, впернутое в воду...
Это же скорее исторический анекдот. Опять-таки мы очень мало знаем как было на самом деле.

PD>Яблоко Ньютона

А тут знаем. Я попробую пересказать вкратце то, что рассказывает Фейнман на своих лекциях.
Вкратце: Кеплер еще до рождения Ньютона описал законы движения планет вокруг солнца и луны вокруг земли. Это тоже он не сам придумал, он опирался на данные астронома Тихо Браге, который просто записывал положение планет. Кроме того Кеплер занимался физикой, ввёл понятие инерции, почти открыл закон тяготения.
Ньютон же, опираясь на все знания подготовленные Кеплером, понял, что луна "падает" на землю (но промахивается за счет вращения) с такой же скоростью, как яблоко у поверхности земли. Выдвинул гипотезу о наличии силы притяжения, которая пропорциональна массам и обратно пропорциональна расстоянию. На основе этой гипотезы рассчитали положения небесных тел и ооооооочень точно угадали.
Это не было озарением, как об это принято писать, это была гипотеза которая подтвердилась. Было еще много гипотез, которые не подтвердились, но они не дошли до наших дней.

Через 50 лет после Ньютона Рёмер заметил движения спутников Юпитера не соответствует закону Ньютона, что иногда они появляются в расчетной точке на 8 минут раньше, а иногда на 8 минут позже. Он сделал гипотезу о конечности скорости света. Её применили в расчетах далеких небесных тел, выяснилось что точность расчётов повысилась.

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

Озарений в этой истории я не вижу.


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

PD>Похоже, озарением была идея двойной спирали ДНК Крика и Уотсона. Состав белка был уже хорошо известен, но из эти компонентов можно придумать миллионы структур. А тут одну — и сразу все верно.
Это до нас дошли имена Крика и Уотсона, потому что они своей гипотезой угадали, до нас не дошли имена тех, кто не угадал.


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

G>>Вот тут я не уверен является при принцип фон-неймана фундаментальным законом и вообще верным в любых условиях. Например существует много устройств, построенных по не-фоннеймановской архитектуре.
G>>Поэтому даже "принципом" называть это не стоит, просто одна их архитектур вычислительных устройств.
PD>Я имею в виду лишь принцип хранимой программы — то, что она хранится в памяти. Это основное, остальное детали.
Причем именно в той же памяти, где данные самой программы (однородность памяти). Это важно.

PD> До фон Неймана "программа" задавалась физической коммутацией схем. Есть ли сейчас компьютеры, где программа не хранится в памяти ?

Конечно, сейчас много девайсов, где программа физически отделена от памяти, с которой программа работает — все FPGA.


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

PD>В переводе на мою преподавательскую деятельность — какой набор инструкций надо выдать студенту, чтобы он начал что-то полезное делать
Именно. Причем ИИ не умеет "разбираться сам". То есть надо выдать очень подробную инскрукцию, с примерами и еще долго пинать потом, чтобы результат был удовлетворительным.

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


G>>Промпт инжиниринг сейчас самая сложная часть всей работы с ИИ. Я столько времени иногда трачу на промптинг для простых частей кода, что возможно быстрее было бы самому написать. Как можно исследования так делать — ума не приложу. Там специализированные ИИ и хз как реально они работают.

PD>Мне-то уж точно проще было бы самому написать, чем добиться от студента, чтобы он сделал, как я хочу
Зачастую так и есть.
Вчера генерировал с помощью ИИ код на C# небольшой, но нетривиальной функции.
Я сам этот код написал за два часа, включая изучение необходимой документации.
Давая довольно поддробную иснтрукцию для ИИ и несколько раз пиная его справить ошибки я получил за 40 минут рабочий код.
Если бы писал сам с нуля, уже имея все знания, то сделал бы то же самое быстрее.

Возможно автоматизация процессов за счет агентов и тестов могла бы решить проблему, то есть:
1) Один агент ИИ сгенерировал бы тест-кейсы
2) Второй генерировал бы код по запросу
3) Третий — запускал код второго, собирал фидбек и отдавал второму на исправление
Но я пока не разобрался как это запустить без Claude Code, а за подписку последнего платить не хочу.

Опять таки на каждом шаге промптинг, который тоже непонятно как делать.
Re[3]: И еще рассуждения об ИИ
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.02.26 11:35
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Не совсем понял. Что означает, например


Это фигня, репорт от CI.

PD>Ну а это


PD>

PD>Codex Review
PD>Here are some automated review suggestions for this pull request

PD>вполне умели делать статические анализаторы и без всякого ИИ. Тот же PVS-Studio, например.
Ну, я не знаю, умеют ли PVS-тулзы находить дефекты в проекте неизвестной заранее структуры, и не формальные нарушения паттернов типа "у вас там в метод может передаваться null".
А так задача ставится не просто "проведи статический анализ", а "посмотри, нет ли каких-то проблем в этом PR".
Вот ещё из того же проекта: https://github.com/kimak-irmagi/taidon/pull/28#discussion_r2724783735
Какой PVS сумеет найти проблему

When a job reaches a terminal status, this block only clears fields and cancels the ticker, but it leaves the m.beats[jobID] entry allocated. Because every job that emits any event creates a heartbeatState (see the earlier m.beats[jobID] = state), the map grows monotonically and will retain one entry per completed job for the lifetime of the engine. Over time this becomes a memory leak and increases lock contention on m.mu. Consider deleting the map entry when the status is succeeded/failed (or when canceling) so completed jobs don’t accumulate.

?
Я с удовольствием посмотрю на такой анализатор.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 11:58
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

G>Ну то что там почти 30к коммитов за полтора месяца тебя ни на какие мысли не наталкивает.

G>Думаешь человек способен хотя бы ревью такого объема провести?

Тут ты прав. Видимо, автор действительно ИИ. Но см. отзыв FR об этом коде

https://rsdn.org/forum/philosophy/9051913.1
Автор: FR
Дата: 01.02 12:26


Но вообще да, признаю, что может.

PD>>То, что такое возможно , я , конечно не спорю. Но это все же рабочий проект, в котором используется код, написанный ИИ. А я говорил о фреймворках или библиотеках. И не на 80% с ревизией потом человеком этих 80% и дописыванием 20, а целиком.

G>Ну сегодня 80%, а через два года это станет 90%, а еще через 5 (очень с запасом срок) — 95%. Твоя риторика изменится?

Не изменится. Пока не будет 100% без участия человека. Как сейчас человек может 100% без участия ИИ.


PD>>Идея Демокрита об атомах — тоже своего рода озарение. Впрочем, она была чисто умозрительной.

PD>>Архимед с его "Эврика". "Тело, впернутое в воду...
G>Это же скорее исторический анекдот. Опять-таки мы очень мало знаем как было на самом деле.

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

PD>>Яблоко Ньютона

G>А тут знаем. Я попробую пересказать вкратце то, что рассказывает Фейнман на своих лекциях.
G>Вкратце: Кеплер еще до рождения Ньютона описал законы движения планет вокруг солнца и луны вокруг земли. Это тоже он не сам придумал, он опирался на данные астронома Тихо Браге, который просто записывал положение планет. Кроме того Кеплер занимался физикой, ввёл понятие инерции, почти открыл закон тяготения.

Это все хорошо известно и без Фейнмана.

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

G>Это не было озарением, как об это принято писать, это была гипотеза которая подтвердилась. Было еще много гипотез, которые не подтвердились, но они не дошли до наших дней.


Тут много чего было.

Другой приоритетный спор был связан с открытием закона тяготения. Ещё в 1666 году Гук пришёл к выводу, что движение планет есть суперпозиция падения на Солнце благодаря силе притяжения к Солнцу, и движения по инерции по касательной к траектории планеты. По его мнению, эта суперпозиция движения и обусловливает эллиптическую форму траектории планеты вокруг Солнца[81]. Однако доказать это математически он не смог и послал в 1679 году Ньютону письмо, где предложил сотрудничество по решению этой задачи. В этом письме было также изложено предположение об убывании силы притяжения к Солнцу обратно пропорционально квадрату расстояния[82]. В ответ Ньютон заметил, что ранее занимался проблемой движения планет, но оставил эти занятия. Действительно, как показывают найденные впоследствии документы, Ньютон занимался проблемой движения планет ещё в 1665—1669 гг., когда он на основании III закона Кеплера установил, что «стремление планет удалиться от Солнца будет обратно пропорционально квадратам их расстояний от Солнца»[83]. Однако представление об орбите планеты как исключительно результате равенства сил притяжения к Солнцу и центробежной силы у него до конца в те годы ещё не выработалось[83][84].


G>Озарений в этой истории я не вижу.


Ладно, допустим.


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


На это ответа не нашлось ?

PD>>Похоже, озарением была идея двойной спирали ДНК Крика и Уотсона. Состав белка был уже хорошо известен, но из эти компонентов можно придумать миллионы структур. А тут одну — и сразу все верно.

G>Это до нас дошли имена Крика и Уотсона, потому что они своей гипотезой угадали, до нас не дошли имена тех, кто не угадал.

Тут тоже не все так просто. Дошли. Не архимедовы все же времена, а середина 20 века.

Кроме Уотсона и Крика структуру ДНК пытались выяснить еще две группы ученых. В Лондоне Морис Уилкинс и Розалинд Франклин, постоянно ругаясь, всматривались в рентгеновские снимки кристаллизованных молекул, а в Калифорнийском технологическом институте над загадкой жизни бился знаменитый химик Лайнус Полинг, который до этого первым определил строение компонентов белков.

...

По рассказам Уотсона, он приезжал в Лондон, чтобы обсудить статью Полинга с Франклин, но та не разделила его энтузиазм и сказала, что молекула ДНК не может быть спиральной.


https://tass.ru/nauka/17594385




PD>>Я имею в виду лишь принцип хранимой программы — то, что она хранится в памяти. Это основное, остальное детали.

G>Причем именно в той же памяти, где данные самой программы (однородность памяти). Это важно.

А вот это ИМХО не так важно. Если бы фон Нейман предложил сделать 2 памяти — для команд и для данных, то потом, конечно, имели бы кучу ненужных проблем и кто-нибудь другой догадался бы эти 2 памяти свести в одну.. Но тогда это вполне могло пройти, и проблем бы не вызвало, потому что задачи были примитивны. А сам принцип хранимой программы остался бы — именно это главное в его концепции.

G>Конечно, сейчас много девайсов, где программа физически отделена от памяти, с которой программа работает — все FPGA.


Да ради бога. Одна память, несколько памятей однородных (NUMA), одна или несколько неоднородных (VRAM), разные способы обращения и т.д. Это все детали. Главное в его идее именно принцип хранимости программы в памяти. Что данные можно хранить в памяти — понимал не он один, тут гением быть не нужно, а вот что программу можно хранить в памяти — догадался он.


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


Ну судя по отзыву FR, восторг так себе.


G>Вчера генерировал с помощью ИИ код на C# небольшой, но нетривиальной функции.

G>Я сам этот код написал за два часа, включая изучение необходимой документации.
G>Давая довольно поддробную иснтрукцию для ИИ и несколько раз пиная его справить ошибки я получил за 40 минут рабочий код.

А вот такой вопрос задам.

Примем твое доверие к твоему собственному коду, написанному без помощи ИИ за 100.

Тебе нужно сделать некий код. Решил делать с помощью ИИ.

Сколько баллов дашь ему в первой его попытке ?
Сколько баллов дашь ему в окончательном его коде (после всех пинаний)? Дашь 100 ? Или же в финальной версии его когда тебе придется разбираться детально и править его самому, чтобы доверять ему на 100 ?

Условие — ты этот код сам не писал, поэтому решения, с которым можно сравнивать, у тебя нет.
With best regards
Pavel Dvorkin
Re[6]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 12:21
Оценка:
Здравствуйте, FR, Вы писали:

FR>Чтобы протестировать эту систему, мы поставили перед собой амбициозную цель: создание веб-браузера с нуля. Агенты работали примерно неделю и написали больше миллиона строк кода в тысяче файлов.

FR>[/q]
FR>Но результат очень посредственный https://rsdn.org/forum/flame.comp/9051858.1
Автор: FR
Дата: 01.02 10:33

FR>Фактически этот браузер равносилен пре-альфа версии движка Blitz в которой всего ~25000 строк раст кода.

И все равно не то. Это написание кода по известному "алгоритму" (в расширенном понимании этого слова).

Приведу пример из своей практики.

Мне была дана задача

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

Все было бы просто, если бы

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

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

Исследовательская работа, в общем. Есть идеи. Никакой уверенности, что эта идея сработает, нет. Попробуем, посмотрим, что получится.

Возился я довольно долго. Перепробовал разные методы, ни один из них не давал нужного результата. Так, эта идея вроде и неплохая, линии убирает, но и портит изображение тоже. Как-то можно ее улучшить, чтобы не портила ? Хм, не получается. Смягчаю критерии — оставляет мусор от линий. Но вообще-то что-то в ней есть. Ладно, возьмем от нее, что она может, а дальше будем думать, что делать с тем, что получилось. Нет, не выходит. В корзину эту первоначальную идею, жалко, конечно, но увы.. Пробуем что-то иное. И т.д.

В конце концов все же сделал, комбинируя несколько своих методов, каждый из которых результата не давал, а все вместе дали.

А теперь допустим, что я эти картинки ИИ скормил и как-то задачу сформулировал (убери линии клеток). Справится ?
With best regards
Pavel Dvorkin
Re[4]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 12:38
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pavel Dvorkin, Вы писали:


S>Ну, я не знаю, умеют ли PVS-тулзы находить дефекты в проекте неизвестной заранее структуры, и не формальные нарушения паттернов типа "у вас там в метод может передаваться null".


Что значит неизвестной заранее структуры ? Ему скармливали код, а он искал в нем дефекты. Работал он ЕМНИМ на per- source file основе, поэтому ошибки, размытые между разными файлами, не находил.

S>Какой PVS сумеет найти проблему

S>

S>When a job reaches a terminal status, this block only clears fields and cancels the ticker, but it leaves the m.beats[jobID] entry allocated. Because every job that emits any event creates a heartbeatState (see the earlier m.beats[jobID] = state), the map grows monotonically and will retain one entry per completed job for the lifetime of the engine. Over time this becomes a memory leak and increases lock contention on m.mu. Consider deleting the map entry when the status is succeeded/failed (or when canceling) so completed jobs don’t accumulate.

S>?

Ну насколько я это понимаю, это можно сформулировать чуть короче. В этот Map добавляются элементы, а this block его не очищает, так что может дело закончиться heap overflow.

Для Java или C# это отловить действительно не так просто. Более того, это может быть неверно. Кто его, этот map знает, может на него еще какая-то ссылка есть извне (не лучшая практика, но и не запрещено), и когда job reaches a terminal status, этим map кто-то и займется совсем в другом месте, и там использует и очистит — через пару интерфейсов и несколько паттернов

Но PVS работал для C++, когда я с ним имел дело, а там все намного проще — есть у этого класса деструктор ("this block"), а в нем не вызывается delete или free для вложенного map. Классический memory leak. Такое он ловить умел.

https://pvs-studio.com/en/blog/posts/cpp/0543/
With best regards
Pavel Dvorkin
Re[5]: И еще рассуждения об ИИ
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.02.26 14:11
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Что значит неизвестной заранее структуры ? Ему скармливали код, а он искал в нем дефекты.

Это значит, что никакой специфичной для инструмента разметки нет. Просто даём код, и он ищет в нём любые дефект.
PD>Работал он ЕМНИМ на per- source file основе, поэтому ошибки, размытые между разными файлами, не находил.
А ИИ прекрасно анализирует ошибки, размытые между файлами.

PD>Ну насколько я это понимаю, это можно сформулировать чуть короче. В этот Map добавляются элементы, а this block его не очищает, так что может дело закончиться heap overflow.

Речь о неполной очистке. Когда мы какой-то из объектов разрушили, а соответствующий ему объект из мапы удалить забыли.

PD>Для Java или C# это отловить действительно не так просто. Более того, это может быть неверно. Кто его, этот map знает, может на него еще какая-то ссылка есть извне (не лучшая практика, но и не запрещено), и когда job reaches a terminal status, этим map кто-то и займется совсем в другом месте, и там использует и очистит — через пару интерфейсов и несколько паттернов

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

PD>Но PVS работал для C++, когда я с ним имел дело, а там все намного проще — есть у этого класса деструктор ("this block"), а в нем не вызывается delete или free для вложенного map. Классический memory leak. Такое он ловить умел.

This block — это не класс. Это просто текст на английском языке: "в этом блоке выполняется очистка задания, достигшего терминального статуса".
PD>https://pvs-studio.com/en/blog/posts/cpp/0543/
Это всё не то. PVS умеет ваш п.5? А это как раз оно — "принять или отвергнуть". Там если он не нашёл, к чему прикопаться, то просто ставит "лайк".
При том, что отрабатывает эта штука уже после того, как все линтеры, форматтеры, статические верификаторы и юнит-тесты отработали.
З.Ы. Важно обратить внимание на формат подачи. Это не просто "правило ES-0051 нарушено в строке такой-то", и сиди разбирайся — то ли это false positive, то ли реальный баг.
А на нормальном, человеческом языке написан комментарий про суть проблемы (в терминах проекта, а не линтера). Ровно так же, как это написал бы мега-внимательный, хорошо разбирающийся в коде проекта ревьювер.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Отредактировано 01.02.2026 14:16 Sinclair . Предыдущая версия .
Re[7]: И еще рассуждения об ИИ
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 01.02.26 15:01
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, gandjustas, Вы писали:



PD>>>То, что такое возможно , я , конечно не спорю. Но это все же рабочий проект, в котором используется код, написанный ИИ. А я говорил о фреймворках или библиотеках. И не на 80% с ревизией потом человеком этих 80% и дописыванием 20, а целиком.

G>>Ну сегодня 80%, а через два года это станет 90%, а еще через 5 (очень с запасом срок) — 95%. Твоя риторика изменится?
PD>Не изменится. Пока не будет 100% без участия человека. Как сейчас человек может 100% без участия ИИ.
Ты же сам понимаешь ущербность этой позиции?
Если что без человека вообще ничего ии пока не умеет. Кто-то должен поставить задачу и "принять" результат.



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

PD>На это ответа не нашлось ?
А я что-то пропустил в предыдщем ответе этот абзац.
Могу сказать что почему-то "озарения" приходят к тем, кто долго темой занимается и собрал много знаний.
Всего один случай есть, когда "озарение" пришло человеку, не владеющему огромных объемом накопленных ранее знаний — математик из индии Сриниваса Рамануджан. И то до сих пор люди сомневаются что его история не преукрашена.

PD>>>Похоже, озарением была идея двойной спирали ДНК Крика и Уотсона. Состав белка был уже хорошо известен, но из эти компонентов можно придумать миллионы структур. А тут одну — и сразу все верно.

G>>Это до нас дошли имена Крика и Уотсона, потому что они своей гипотезой угадали, до нас не дошли имена тех, кто не угадал.

PD>Тут тоже не все так просто. Дошли. Не архимедовы все же времена, а середина 20 века.

PD>

PD>Кроме Уотсона и Крика структуру ДНК пытались выяснить еще две группы ученых. В Лондоне Морис Уилкинс и Розалинд Франклин, постоянно ругаясь, всматривались в рентгеновские снимки кристаллизованных молекул, а в Калифорнийском технологическом институте над загадкой жизни бился знаменитый химик Лайнус Полинг, который до этого первым определил строение компонентов белков.
PD>...
PD>По рассказам Уотсона, он приезжал в Лондон, чтобы обсудить статью Полинга с Франклин, но та не разделила его энтузиазм и сказала, что молекула ДНК не может быть спиральной.


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

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




PD>>>Я имею в виду лишь принцип хранимой программы — то, что она хранится в памяти. Это основное, остальное детали.

G>>Причем именно в той же памяти, где данные самой программы (однородность памяти). Это важно.

PD>А вот это ИМХО не так важно.

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

PD>Если бы фон Нейман предложил сделать 2 памяти — для команд и для данных, то потом, конечно, имели бы кучу ненужных проблем и кто-нибудь другой догадался бы эти 2 памяти свести в одну.. Но тогда это вполне могло пройти, и проблем бы не вызвало, потому что задачи были примитивны. А сам принцип хранимой программы остался бы — именно это главное в его концепции.

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


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

PD>Ну судя по отзыву FR, восторг так себе.
Ты серьезно?
ИИ смог написать браузер. За полтора месяца нагенерив 30к коммитов и десятки (сотни?) тысяч строк. Да с багами, но он запускается, открывает сайты.
ты сможешь повторить этот результат? Никто из известных мне программистов не сможет это повторить в те же сроки.



G>>Вчера генерировал с помощью ИИ код на C# небольшой, но нетривиальной функции.

G>>Я сам этот код написал за два часа, включая изучение необходимой документации.
G>>Давая довольно поддробную иснтрукцию для ИИ и несколько раз пиная его справить ошибки я получил за 40 минут рабочий код.

PD>А вот такой вопрос задам.


PD>Примем твое доверие к твоему собственному коду, написанному без помощи ИИ за 100.

PD>Тебе нужно сделать некий код. Решил делать с помощью ИИ.
PD>Сколько баллов дашь ему в первой его попытке ?
PD>Сколько баллов дашь ему в окончательном его коде (после всех пинаний)? Дашь 100 ? Или же в финальной версии его когда тебе придется разбираться детально и править его самому, чтобы доверять ему на 100 ?
PD>Условие — ты этот код сам не писал, поэтому решения, с которым можно сравнивать, у тебя нет.
не понимаю вопроса... Если это баллы доверия, то я любому написанному не мной коду, который я до этого не видел, который не проходил никаких тестов и не использовался другими людьми, я доверяю на ноль.
Я его читаю и уровень доверия повышается.

Но это я рассуждаю как программист. А если бы я рассуждал как человек, которому нужна программа, и который вообще не лезет в код, то какая разница кем она написана, лишь бы работала.
Re[6]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 15:12
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Это значит, что никакой специфичной для инструмента разметки нет. Просто даём код, и он ищет в нём любые дефект.


Ну так PVS Studio и давали файл кода. Больше ничего.

PD>>Работал он ЕМНИМ на per- source file основе, поэтому ошибки, размытые между разными файлами, не находил.

S>А ИИ прекрасно анализирует ошибки, размытые между файлами.

Этого у него тогда не было, но это было лет 10 назад. С тех пор я с ним дела не имел. Да и его тогда для C# вроде как не было, а для Java только в альфа-версии.


S>Это всё не то. PVS умеет ваш п.5? А это как раз оно — "принять или отвергнуть". Там если он не нашёл, к чему прикопаться, то просто ставит "лайк".


Чего ради он будет делать то, для чего он не предназначен ? Он вообще про PR не знал тогда ИМХО, и не уверен, что сейчас знает. Его дело файл с кодом проанализировать и потенциальные ошибки найти. По крайней мере тогда так было.


S>При том, что отрабатывает эта штука уже после того, как все линтеры, форматтеры, статические верификаторы и юнит-тесты отработали.


А вот это уже интереснее. Линтеры и верификаторы — бог с ними, а вот юнит-тесты — это интересно. Насколько я понимаю, такое можно сделать только если запускать код под собой и контролировать его выполнение. Это уже не статический анализ, а контроль в рантайме. Профайлеры это умеют, но они инструментируют байт-код. Для С++ это неплохо умел покойный Bounds Checker, я им студентов долго мучил. А тут как и кто ? Используется некий инструмент ? И он есть только в этом ИИ, а отдельно его нет ? Чтобы я сам под ним свои unit тесты запустил ? Хм...



S>З.Ы. Важно обратить внимание на формат подачи. Это не просто "правило ES-0051 нарушено в строке такой-то", и сиди разбирайся — то ли это false positive, то ли реальный баг.

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

Ну и там вполне нормальные сообщения были, а не просто ES-0051. Номер лишь для ссылки на документацию, там дается подробная информация об этом типе ошибки, иногда с примерами.

По ES-0051 не нашел, но вот, пожалуйста

https://pvs-studio.ru/ru/docs/warnings/v1051/

Вот что мне бы выдалось

V1051. It is possible that an assigned variable should be checked in the next condition. Consider checking for typos.

В общем, вполне понятно, а для если непонятно — см. пояснения и примеры на этой странице. Что ему, их все в диагностику мне выдать ?
With best regards
Pavel Dvorkin
Re[8]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 15:46
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

PD>>Не изменится. Пока не будет 100% без участия человека. Как сейчас человек может 100% без участия ИИ.

G>Ты же сам понимаешь ущербность этой позиции?
G>Если что без человека вообще ничего ии пока не умеет. Кто-то должен поставить задачу и "принять" результат.

Ну он же должен прогрессировать . Почему бы ему со временем самому все мои пункты 1-6 не сделать ? Так что ущербности не вижу.

Я же не требую, чтобы это было завтра. Он вообще это сможет ?



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

PD>>На это ответа не нашлось ?



G>А я что-то пропустил в предыдщем ответе этот абзац.

G>Могу сказать что почему-то "озарения" приходят к тем, кто долго темой занимается и собрал много знаний.

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

Хотя... Был такой Шлиман. Дилетант в археологии. Прочитал Илиаду и сказал — Троя вот тут должна быть. Поехал и раскопал Трою. Правда, потом возникли сомнения, та ли это Троя.

А другие, вполне специалисты в археологии, так и не нашли ее и были потом страшно обижены.


PD>>Тут тоже не все так просто. Дошли. Не архимедовы все же времена, а середина 20 века.

PD>>

PD>>Кроме Уотсона и Крика структуру ДНК пытались выяснить еще две группы ученых. В Лондоне Морис Уилкинс и Розалинд Франклин, постоянно ругаясь, всматривались в рентгеновские снимки кристаллизованных молекул, а в Калифорнийском технологическом институте над загадкой жизни бился знаменитый химик Лайнус Полинг, который до этого первым определил строение компонентов белков.
PD>>...
PD>>По рассказам Уотсона, он приезжал в Лондон, чтобы обсудить статью Полинга с Франклин, но та не разделила его энтузиазм и сказала, что молекула ДНК не может быть спиральной.


G>То есть было много вариантов, но одна группа ученых таки уагадала, а остальные нет.


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

G>Вот ИИ предлагает генкрирова гипотезы. А может быть найдется другой ИИ, который эти гипотезы будет тестировать.


Вполне возможно, но в варианте Крика-Уотсона идею не тестировали. Просто они ее высказали и потом уже оказалось , что она верна.




PD>>>>Я имею в виду лишь принцип хранимой программы — то, что она хранится в памяти. Это основное, остальное детали.

G>>>Причем именно в той же памяти, где данные самой программы (однородность памяти). Это важно.

PD>>А вот это ИМХО не так важно.

G>Конечно же важно. на этом он построил строгие доказательства эквиваленности проблем останова и вычислимости.

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

Вот еще один пример. Тед Хофф. Первый микропроцессор. Идея — ЭВМ на одном кристалле. До него ЭВМ были и БИС тоже. А вот ЭВМ на одной БИС не было. Он придумал. А что потом из всего этого вышло — сам знаешь. Но идея его, он создателем МП так и останется. Хотя Intel 4004 не совсем то же, что Intel i7


PD>>Если бы фон Нейман предложил сделать 2 памяти — для команд и для данных, то потом, конечно, имели бы кучу ненужных проблем и кто-нибудь другой догадался бы эти 2 памяти свести в одну.. Но тогда это вполне могло пройти, и проблем бы не вызвало, потому что задачи были примитивны. А сам принцип хранимой программы остался бы — именно это главное в его концепции.

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

Я же говорю — это все детали. Могло быть так, а могло быть иначе. Или вначале так, а потом иначе. А принцип хранимой программы, а не коммутируемых схем — он навсегда.


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

PD>>Ну судя по отзыву FR, восторг так себе.
G>Ты серьезно?
G>ИИ смог написать браузер. За полтора месяца нагенерив 30к коммитов и десятки (сотни?) тысяч строк. Да с багами, но он запускается, открывает сайты.
G>ты сможешь повторить этот результат? Никто из известных мне программистов не сможет это повторить в те же сроки.

Нет, я точно не повторю. Но вот тут самое интересное.

Он может генерировать со скоростью, намного большей чем человек или даже команда. Это неудивительно. Интересно другое — а когда он по качеству будет давать то, что сравнимо с кодом команды профессионалов ? Пока что по отзыву FR качество так себе. Я судить не берусь о нем. Но если это качество не достигнет того, что могут делать профессионалы — это же будет примерно то же, что собрать сотню студентов 3 курса и поручить им разработку. Даже если они владеют всем, что нужно для этой разработки (или смогут найти) — это же не значит, что они качественный продукт сделают. Что-то сделают, допустим, вот только вылетать это будет чаще, чем работать.

И наплодят они этот код, вот только не получится, как здесь — по другому поводу сказанное, конечно

https://libverse.ru/ivanov-a/hlopci-i-shekspiri.html

PD>>Примем твое доверие к твоему собственному коду, написанному без помощи ИИ за 100.

PD>>Тебе нужно сделать некий код. Решил делать с помощью ИИ.
PD>>Сколько баллов дашь ему в первой его попытке ?
PD>>Сколько баллов дашь ему в окончательном его коде (после всех пинаний)? Дашь 100 ? Или же в финальной версии его когда тебе придется разбираться детально и править его самому, чтобы доверять ему на 100 ?
PD>>Условие — ты этот код сам не писал, поэтому решения, с которым можно сравнивать, у тебя нет.
G>не понимаю вопроса... Если это баллы доверия, то я любому написанному не мной коду, который я до этого не видел, который не проходил никаких тестов и не использовался другими людьми, я доверяю на ноль.
G>Я его читаю и уровень доверия повышается.

Ну нет. Ты вполне используешь код от серьезных фирм и не исследуешь его. Я не думаю, что ты анализировал код библиотек коллекций от MS или Sun/Oracle. Ты ему просто доверяешь (что не отменяет , конечно, тестирования, но своего кода, использующего их, а не его). Или, скажем, берешь код откуда-то, но знаешь, что его автор тоже известный и хороший программист.

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


В том-то и дело, что работала бы. См. выше.
With best regards
Pavel Dvorkin
Re[7]: И еще рассуждения об ИИ
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.02.26 17:56
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Ну так PVS Studio и давали файл кода. Больше ничего.

А тут — не "файл", а проект. На смеси языков.

PD>Этого у него тогда не было, но это было лет 10 назад. С тех пор я с ним дела не имел. Да и его тогда для C# вроде как не было, а для Java только в альфа-версии.

А при чём тут C#?

PD>Чего ради он будет делать то, для чего он не предназначен ?

Тогда зачем его приводить в качестве решения п.5?


PD>А вот это уже интереснее. Линтеры и верификаторы — бог с ними, а вот юнит-тесты — это интересно. Насколько я понимаю, такое можно сделать только если запускать код под собой и контролировать его выполнение. Это уже не статический анализ, а контроль в рантайме. Профайлеры это умеют, но они инструментируют байт-код. Для С++ это неплохо умел покойный Bounds Checker, я им студентов долго мучил. А тут как и кто ? Используется некий инструмент ? И он есть только в этом ИИ, а отдельно его нет ? Чтобы я сам под ним свои unit тесты запустил ? Хм...

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

PD>https://pvs-studio.ru/ru/docs/warnings/v1051/


PD>Вот что мне бы выдалось


PD>V1051. It is possible that an assigned variable should be checked in the next condition. Consider checking for typos.

Ну вот это и есть шаблонный текст с кодом ошибки.
PD>В общем, вполне понятно, а для если непонятно — см. пояснения и примеры на этой странице. Что ему, их все в диагностику мне выдать ?

Нет. Я же привёл пример. ИИ в отличие от шаблонных анализаторов пишет понятным языком "Код открывает файл лога вызовом CreateFile(), но её результат не проверяется. Поэтому при неудаче открытия запись FileWeite на три строки ниже не сработает".

Не, я меня нет задачи убедить кого-то, что божьей искры не существует. Но ИИ сейчас успешно берёт на себя функции, которые ещё год назад казались подвластными _исключительно_ человеку.
Как насчёт задачки "проверь соответствие кода спецификации"? Спецификация — на естественном языке, записана в маркдауне.
Или "найди противоречия в документации проекта". Вот прямо так, даже без перечисления файлов документации.
Или "найди все ссылки в документах проекта и сделай их гиперссылками", где под "ссылкой" понимается любое упоминание вроде "список констант лежит в файле consts.hpp в папке common".
Всё это никакие линтеры и ПВЗ студии не делают.
Ладно, пёс с ним, допустим, PVS Studio нашла V1051. Исправить эту проблему в коде она может?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: И еще рассуждения об ИИ
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 01.02.26 18:23
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, gandjustas, Вы писали:


PD>>>Не изменится. Пока не будет 100% без участия человека. Как сейчас человек может 100% без участия ИИ.

G>>Ты же сам понимаешь ущербность этой позиции?
G>>Если что без человека вообще ничего ии пока не умеет. Кто-то должен поставить задачу и "принять" результат.

PD>Ну он же должен прогрессировать . Почему бы ему со временем самому все мои пункты 1-6 не сделать ? Так что ущербности не вижу.

PD>Я же не требую, чтобы это было завтра. Он вообще это сможет ?
Он вообще это делает уже сейчас. Браузер же появился.


PD>Вполне возможно, но в варианте Крика-Уотсона идею не тестировали. Просто они ее высказали и потом уже оказалось , что она верна.

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


PD>Да ради бога. Это все существенно, и я не спорю. Но если бы он лишь одно сказал — программу надо хранить в памяти, как числа и там выполнять — этого было бы достаточно. Потом анализировали бы и наводили теорию. А принцип бы остался.

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

PD>Я же говорю — это все детали. Могло быть так, а могло быть иначе. Или вначале так, а потом иначе. А принцип хранимой программы, а не коммутируемых схем — он навсегда.

Это один из вариантов, не единственный.


PD>Он может генерировать со скоростью, намного большей чем человек или даже команда. Это неудивительно.

PD>Интересно другое — а когда он по качеству будет давать то, что сравнимо с кодом команды профессионалов ?
Как ты "качество" измеряешь?



PD> это же будет примерно то же, что собрать сотню студентов 3 курса и поручить им разработку. Даже если они владеют всем, что нужно для этой разработки (или смогут найти) — это же не значит, что они качественный продукт сделают. Что-то сделают, допустим, вот только вылетать это будет чаще, чем работать.

Давай проведем эксперимент — возвращайся когда их браузер хоть что-то откроет.


PD>И наплодят они этот код, вот только не получится, как здесь — по другому поводу сказанное, конечно

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

PD>Ну нет.

Да

PD>Ты вполне используешь код от серьезных фирм и не исследуешь его.

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


PD>Я не думаю, что ты анализировал код библиотек коллекций от MS или Sun/Oracle.

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

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

Если ты решил мои мысли выдумывать за меня, то не надо.
Re[8]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 02.02.26 06:33
Оценка:
Здравствуйте, Sinclair, Вы писали:

PD>>Ну так PVS Studio и давали файл кода. Больше ничего.

S>А тут — не "файл", а проект. На смеси языков.

В общем, не стоит эту тему продолжать, тем более, что я не знаю, что PVS сейчас может.

S>Нет, я говорю о том, что обычные, не ИИ инструменты в проекте уже есть. И они все ничего не нашли. А вот ИИ посмотрел — и увидел, что логика нарушена.


А все-так, пожалуйста, объясните, как работает. Я что-то вижу противоречие между "ИИ посмотрел — и увидел, что логика нарушена" и словами из прошлого сообщения о том, что он делает свой анализ после запуска unit тестов. На что именно посмотрел ? На код или еще и на результат прохождения юнит-тестов ? Вообще-то юнит — тесты сами либо ничего не сообщают, либо выдают информацию про непрошедшие assert или про падению по исключению. Поэтому просто при их запуске ничего о том, что происходило внутри, узнать не удастся. Получить что-то большее от прохождения юнит-тестов можно только если их запустить под собой, то есть инструментировать код в стиле профайлера или Code Coverage. Это делается или нет ? Если нет, а просто юнит-тесты запускаются — какую информацию ИИ может собрать от их прохождения, чтобы делать выводы? Вот это я пока не понимаю.

S>Нет. Я же привёл пример. ИИ в отличие от шаблонных анализаторов пишет понятным языком "Код открывает файл лога вызовом CreateFile(), но её результат не проверяется. Поэтому при неудаче открытия запись FileWeite на три строки ниже не сработает".


Ну слава богу. Если бы анализатор выдал просто "CreateFile result not checked", то, как говорил Воланд, "Без тебя бы мы никак не догадались об этом". Кстати, о том, что потом используется этот непроверенный хендл, он сообщит, думаю. Тут и без ИИ несложно сделать.

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

S>Как насчёт задачки "проверь соответствие кода спецификации"? Спецификация — на естественном языке, записана в маркдауне.
S>Или "найди противоречия в документации проекта". Вот прямо так, даже без перечисления файлов документации.
S>Или "найди все ссылки в документах проекта и сделай их гиперссылками", где под "ссылкой" понимается любое упоминание вроде "список констант лежит в файле consts.hpp в папке common".
S>Всё это никакие линтеры и ПВЗ студии не делают.

Я с этим не спорю. PVS не делает, не его это дело. Существуют ли программы без ИИ, которые нечто подобное делают — не знаю, но готов допустить, что без ИИ это невозможно. Вот только все это к 1-6 не имеет отношения, я ограничился только этой тематикой.

S>Ладно, пёс с ним, допустим, PVS Studio нашла V1051. Исправить эту проблему в коде она может?


Нет, конечно. Не ее функции. Она же только статический анализатор кода. Но в принципе ничто не мешает ей это сделать, если потребуется. Уж если она код С++ анализирует, и довольно серьезно, то добавить

if(hFile == INVALID_HANDLE_VALUE) ...

вполне мог бы.

Да бог с ней, с PVS. Мне IDEA для программ на Java то и дело выдает всякие рекомендации типа "этой переменной стоит дать модификатор final" или "лучше заменить вызов лямбда-функции на ссылку на метод" и т.п. Но сама не делает обычно, а предлагает мне подтвердить. Соглашусь — сделает. А еще у нее есть пункт "Code cleanup", и там она автоматом все изменения делает. Я его боюсь
With best regards
Pavel Dvorkin
Отредактировано 02.02.2026 7:12 Pavel Dvorkin . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.