Сообщение Re[6]: Провалы ИИ от 09.12.2025 7:05
Изменено 09.12.2025 7:25 ботаныч
Re[6]: Провалы ИИ
Здравствуйте, VladD2, Вы писали:
V>> "рефакторинг тулом" vs "рефакторинг ИИ-кой" это как "считать на калькуляторе" vs "считать ИИ-кой"
VD>Это ложная аналогия. Она приравнивает принципиально разные по сложности задачи. Использование ИИ для простой арифметики действительно избыточно — так как всегда есть то самое детерминированное решение,
Да ну ))) для арифметики ? с ложной аналогией согласен, но только не надо в контексте ИИ про непогрешимость и точность. Вы вообще про неполноту (а отсюда и etc...) нет? Весь ИИ обложен, неполнотой, накоплением ошибки (и не только), и в итоге неожиданными глюками в глубине к применяемой системе. И вот я не совсем согласен, что искать эти глюки быстрее, чем написать одну строчку в обобщенном коде.
VD>универсальный алгоритм вычисления (в прочем хорошая ИИ-шка, как и не глупый человек без проблем и выражения вычислит).
Ну вот хватит экскаватор сравнивать с человеком. Вы накопление ошибки считали (ну перечисляли) ??
Итак — ваши промты, кто занимается векторизацией слов? Генерацией токенов (имеется в виду параметризацией), подбором параметров? Как слова в LLM приобретают вид конкретных инструкций (а все иное просто топчется лесом)? Автоматом, transform?))))) от не надо.
VD>Рефакторинг — это сложная, многокритериальная и часто творческая задача, для которой не всегда существует единый детерминированный алгоритма
) да в шарпах сложно жить.
VD>и даже если такой существует для частных случаев, часто он просто не реализован в IDE,
а зачем ?? Если писали умные люди, то первое ИИ там себе ноги поломает (пробовали знаем), а во вторых мимализм и обобщенность. Пишите код на правильном языке, с правильной архитектурой, и ИИ вы таки начнете использовать по назначению.
VD>а стало быть не может быть применён.
Сам зааксиомил непойми что, и сам вывод сделал. НЮНЮ.
VD>ИИ решает не ту же задачу, что и тулинг (синтаксические преобразования),
это какие ?)))
VD>а задачу более высокого уровня — семантический и архитектурный анализ
Ага, большая часть семантики скрыта в джире и бошках девелоперов (тех, кто еще живы), блин реально )))
VD>и осмысленное переписывание кода,
И откудла там осмысленное переписывание кода ?? А??? А если ему
(коду) уже лет 50??? И там инфу чел будет рыть по коллегам джире, коммитам гиту и прочему )))??? Вы туда ИИ запустите? Так он себе там так ноги поломает, и такого нагенерит, .. нюню (как говорят в Одессе).
VD>как это делает человек. И ИИ способен генерировать сотни слов в секунду в отличии от человека, что и позволяет использовать его в качестве тулзы рефакторинга.
Ага. Я так понимаю, у вас срослось с мелкой задачкой по рефакторингу .. скажем небольшого участка кода, и вы воспылали любовью. Ну и это пройдет.
VD>Я не спорю, что если есть готовый рефакторинг, применять вместо него ИИ довольно бессмысленно хотя бы потому, что рефакторинг работает намного быстрее и детерминировано. Но автоматические рефакторинги покрывают лишь часть совсем простых случаев. А ИИ может сделать рефакторинг почти любой сложности,
Слушайте, хватит вводить народ в заблуждение. В реальных проектах где экспертиза разбросана по юнитам ИИ просто об****тся. Ну я не спорю, что машину надо пинать под задницу в правильное направление, но иногда, мне проще на коде с кмпайлтайм рефлекшином добавить одну — пару строчек .. чем чем этому барану рассказывать, а почему оно тут так ... — в весьма извращенных вариантах.
VD>так как он может понимать контекст и производить анализ, как и человек. Все что нужно сделать — качественно поставить задачу и предоставить необходимый контекст (код).
т.е. я должен вместо того, чтобы быстренько наколбасить код (весьма короткий шаблонный и обобщенный), в правильной архитектуре с историей, и разбросанной экспертизой, кою собрать и выдать ИИ не представляется возможным в назначенные сроки т.к. я опа и сделал, а эту дрянь я еще пинать должен непонятно какой срок ... ???))
V>> В основе тулов лежат детерминированные вычисления... А в основе ИИ-ки лежит и случайная интерпретация задачи и случайное её применение — примерно так работает джун.
Вы весьма переоцениваете случайность в ИИ
VD>Твое понимание работы ИИ детское и наивное ну или устарело. Современные LLM — это не генераторы случайных токенов, а системы, выявляющие сложные логические и семантические паттерны на основе обучения на огромных массивах качественного кода.
Ага, только не моего, он можно грубо ?? "дупля не отбивает, что там в этом коде, который я ему дам"
VD>Их работа — это не "случайное применение", а предсказание наиболее вероятного корректного решения, аналогичное процессу мышления опытного разработчика.
А это просто какое-то.. предновогоднее наверное. Какой опытный разработчик, если это чучело
1. не компилятор
2. не имеет экспертизы в том коде, куда его запускают (если его не просят решить типовую задачу, что в принципе в подавляющем случаев так и есть)
3... да сами подумайте ... там еще пунктов и пунктов )) попросите ИИ — ответить
VD>Сравнение с джуном некорректно: ИИ обладает "опытом", на порядки превышающим человеческий, так как "видел" больше паттернов.
вот именно "опытом"
V>> Перепроверка имеет такие показатели, как затраты, вероятность пропустить ошибку.
VD>Именно поэтому ИИ — мощный инструмент. Проверить и доработать качественное предложение от ИИ дешевле, чем писать решение с нуля.
А это какое, и какое с нуля ?? Меня его генерации раздражают, он не шарит. и не напишет код, как я хочу. есть области применения .. но и там за ним подтирать, и подтирать. А архитектуру — да пшел он ...
VD>Он резко повышает качество исходного варианта,
слова слова слова ...
VD>сокращая пространство для ошибок и снижая общие затраты. Ревью кода от коллеги ты тоже проверяешь, но это не делает его работу бесполезной.
Коллега не обременен накоплением ошибок (и прочими сюрпризами линейной алгебры веторизацией слов и прочих алгоритмов, которые смысл.. семантику втопчут в ню), обучаем, причем в контексте той архитектуры, что ему дают (и это не ваше позднее связывание)
VD>Когда ты проверяешь, что сделал ИИ ты просто используешь diff.
Это вообще волшебно, diff после "рефакторинга" ИИ-шкой
VD>Ты видишь, что изменила ИИ-шка и можешь или откатить ненужные изменения, или уточнить в промпте,
Знаете, я за свою программерскую жизнь понял одну вещь, чем сложнее технология, тем больше с ней долбаться. Промты — сырое и не языкоподобное образование, это скорее для девочек, картинки рисовать. Я бы предпочел, ферари. язык, который мне даст мне возможность эту технологию так обуздать, чтобы она ... была как компилятор С++ 26-го стандарта. Чтобы я написал, а оно мне — ... ну вы понимаете. А все это блаблабла с векторизацией (сквозь дырявой) слов, ..и мне не нужен естественный язык. Мы не девочки мы не в этой области работаем, все должно быть — железобетонно.
VD>что делать надо, а что не надо.
Нюню, а неоднозначность промта ??? А накопление ошибки в тех градидентах ??? А глюки в обратной связи ??
VD>Что сложного в том, чтобы понять, что изменила ИИ-ка по diff-у? Ниже будет пример промпта и их diff. Можешь оценить сам.
Две строчки поменял ... и — да там регекспом пройтись, ну (не вникал)
VD>Писать и отлаживать код куда медленнее нежели читать его.
Это смотря на чем писать. В языках с поздним связыванием и без метпрограммига да — слоджно жить. А когда у тебя любой шаг влево компайл тайм констрейнт покрывает, то пади ты ошибись.. ) и никакой ИИ эти мысли не поднимет, только человек (возможно с использованием оного).
VD>Ну и должны быть тесты или тестовый запуск с проверкой функционала.
а тесты кто буде тестить ?)))
VD>Именно так делают люди когда сами пишут код. Ни всегда получается написать корректный код сразу (даже человеку).
ООО вот тут вы выдали себя — даже человеку, т.е. понимание таки есть.
VD>Всегда есть место для ошибки. Лично я всегда смотрю свой код при коммите и потом в PR-е. Ну и по возможности стараюсь его запускать и тестировать или запускать тесты.
V>>Оба пункта странные — потому что они никак не следуют из того, как работают ИИ.
VD>Не как работает ИИ, а твоим заблуждениям по этому поводу. Давай будем точными в формулировках.
V>> ...ты воспринимаешь ИИ как волшебный черный ящик... на всем множестве задач это не работает.
нет он просто тебе оппонирует, и у него получился "рефакторинг"
VD>Не надо за меня додумывать. ИИ — не волшебный ящик, а инструмент с конкретными сильными и слабыми сторонами. Его сила — в работе с неформализованными, контекстно-зависимыми задачами, где нет детерминированного алгоритма.
не детерминированные алгоритмы ? А если там просто рассчитать налоговую накладную по новому плану счетов, в общем чистый расчет? Что там не детерминированного. Не детерминированное это из области статистики (плодом чего ИИ и является), хотя без реального генератора СЧ — все одно детерминированно, или квантовых расчетов.
VD>Для таких задач (к которым относится большая часть сложного рефакторинга)
Вы конечно простите, но рефакторинг по определению детерминирован, да вариативен, но детерминирован.
VD>он часто работает и работает хорошо. Критиковать его за не идеальность на "всем множестве задач" — это требовать от отвёртки, чтобы она хорошо забивала гвозди.
а вот мне кажется, что для рефакторинга ИИ как раз и есть — то, что вы сказали.
VD>Твоя основная ошибка — в дихотомии "либо детерминированный алгоритм, либо бесполезная случайность". Реальность сложнее: ИИ — это статистически обобщённый алгоритм высокого уровня,
Бла бла, весь этот разговор вообще смысла имеет мало, потому как мы обсуждаем ничто. Какой ИИ? вообще ИИ?
VD>который дополняет детерминированные тулы, решая те задачи, которые им недоступны в принципе или не автоматизированы на сегодня.
Отродясь люди писали генераторы. Качественное и корректно применение ИИ — в генерации массивных формализованных данных, на основе неформальных вводных, или же классификации и формализации оных. И таких технологий было со времен AMC, и прочих статистических алгоритмов.
VD>Вот тебе пример который придумал на ходу. В студии нет встроенного рефакторинга правильно расставляющего ключевые слова sealed и abstract на типах. Но дав ИИ-шке просто промпт и код (в данном случае фалы: DotAst.cs и DotVisitor.cs) в качестве контекста легко заставить её расставить sealed и abstract на заданном множестве типов. При этом тебе не надо объяснять где можно ставить sealed-ы, а где нельзя. ИИ-шка без проблем создает граф наследования "в голове" и логически выводит куда можно впихнуть sealed, куда abstract, а куда ни то, ни другое. Это не случайность. Чтобы ей было сложнее я специально удалил abstract с тех типов где они уже были расставлены человеком и при этом их отсутствие не ломало бы компиляцию. Вот результат:
VD>https://chat.deepseek.com/share/bmp62sq0iab4bikx97
VD>Вот diff изменений:
VD>Image: AiWorkDiff-001.png
VD>Тебе будет сложно оценить, что ИИ сделал всё как следует? Всё что тебе нужно сделать — это перед внесением изменений засташить старые. Ну разные IDE вроде Cursore или Antigravity делают это автоматом.
VD>Специально включил режим рассуждений, хотя ИИ-шка все сделала бы правильно и без него. И что интересно, так как у данной задачи есть только одно решение, то оно всегда будет одинаковым (детерминированным),
Вариативность и детерминированность вообще вещи разные
VD>как бы ты не заявлял обратного. По сути недетерминизм скорее определяется множеством возможных решений, а не природой ИИ. И ИИ всегда можно подтолкнуть в том направлении, что тебе требуется, даже если изначально ты получил не то решение, что ожидал. Просто добавил уточняющих промптов и всё.
))) или написал пол строчки в метакоде. безовсяких пинаний ..
мндя тяжело жить в мире позднего связывания
VD>Главное, чтобы ИИ-шка была не тупой от рождения и умела следовать инструкциям. Это достижение буквально последнего года. Еще 1-2 года назад ИИ-шки плохо следовали инструкциям.
слушайте, это же просто какой-то треш. Вы на естественном языке пишите промпт, который сам по себе — не однозначен (при компиляции в систему). Потом вся эта, далее уже идет умноженное на неоднозначность заводится, запускает этот поток в свои градиенты, mladjoint и прочие с накоплением ошибки, и в итоге заявляете , что оно точно ).
V>>То, что ты увидел черную корову (в своей работе получил вау-эффект) — не значит, что все коровы черные и даже не значит, что она со второго бока тоже черная.
VD>Я не однократно использовал ИИ для решения конкретных задач, вроде той, что я тебе привел в качестве примера. Не скажу, что всегда удавалось добиться желаемого. Но очень часто. В отличи от тебя я предпочитаю оценивать вещи на практике, а не по пересказу одной бабки.
)) Так таки да, можно прежде сказать, что за ИИ? Я тоже кидал код, и просил генерировать, и сейчас пользую иногда. Но в реально нетривиальном проекте, с разбросанной экспертизой — что мертвому припарки. Неплохо иногда консультирует, но — всегда держи ухо в остро, навалять лажи может не глядя, да еще какой ))
VD>Что там тебе за коровы мерещатся, я не знаю. Я вполне реалистично оцениваю ИИ и часто критикую оные за тупость.
Я свой резюм скажу
— 1. надо писать язык, чтобы эту тварь заставить работать
— 2. интеграция с компиляторами, бо блин достало когда эта дрянь генерит, к примеру пайтон код с выдуманными полями, которых
в помине нет. (не все, о часто)
— 3. язык должен быть формальным, вполне возможно сложным, точно сложнее С++ etc... такой потенциал точно требуется
— 4. при написании есстественным языком — должен быть представлен внутренний вариант, наподобе того как оракл выдает внутреннее содержание запроса в системе.
в общем — язык.
V>> "рефакторинг тулом" vs "рефакторинг ИИ-кой" это как "считать на калькуляторе" vs "считать ИИ-кой"
VD>Это ложная аналогия. Она приравнивает принципиально разные по сложности задачи. Использование ИИ для простой арифметики действительно избыточно — так как всегда есть то самое детерминированное решение,
Да ну ))) для арифметики ? с ложной аналогией согласен, но только не надо в контексте ИИ про непогрешимость и точность. Вы вообще про неполноту (а отсюда и etc...) нет? Весь ИИ обложен, неполнотой, накоплением ошибки (и не только), и в итоге неожиданными глюками в глубине к применяемой системе. И вот я не совсем согласен, что искать эти глюки быстрее, чем написать одну строчку в обобщенном коде.
VD>универсальный алгоритм вычисления (в прочем хорошая ИИ-шка, как и не глупый человек без проблем и выражения вычислит).
Ну вот хватит экскаватор сравнивать с человеком. Вы накопление ошибки считали (ну перечисляли) ??
Итак — ваши промты, кто занимается векторизацией слов? Генерацией токенов (имеется в виду параметризацией), подбором параметров? Как слова в LLM приобретают вид конкретных инструкций (а все иное просто топчется лесом)? Автоматом, transform?))))) от не надо.
VD>Рефакторинг — это сложная, многокритериальная и часто творческая задача, для которой не всегда существует единый детерминированный алгоритма
) да в шарпах сложно жить.
VD>и даже если такой существует для частных случаев, часто он просто не реализован в IDE,
а зачем ?? Если писали умные люди, то первое ИИ там себе ноги поломает (пробовали знаем), а во вторых мимализм и обобщенность. Пишите код на правильном языке, с правильной архитектурой, и ИИ вы таки начнете использовать по назначению.
VD>а стало быть не может быть применён.
Сам зааксиомил непойми что, и сам вывод сделал. НЮНЮ.
VD>ИИ решает не ту же задачу, что и тулинг (синтаксические преобразования),
это какие ?)))
VD>а задачу более высокого уровня — семантический и архитектурный анализ
Ага, большая часть семантики скрыта в джире и бошках девелоперов (тех, кто еще живы), блин реально )))
VD>и осмысленное переписывание кода,
И откудла там осмысленное переписывание кода ?? А??? А если ему
(коду) уже лет 50??? И там инфу чел будет рыть по коллегам джире, коммитам гиту и прочему )))??? Вы туда ИИ запустите? Так он себе там так ноги поломает, и такого нагенерит, .. нюню (как говорят в Одессе).
VD>как это делает человек. И ИИ способен генерировать сотни слов в секунду в отличии от человека, что и позволяет использовать его в качестве тулзы рефакторинга.
Ага. Я так понимаю, у вас срослось с мелкой задачкой по рефакторингу .. скажем небольшого участка кода, и вы воспылали любовью. Ну и это пройдет.
VD>Я не спорю, что если есть готовый рефакторинг, применять вместо него ИИ довольно бессмысленно хотя бы потому, что рефакторинг работает намного быстрее и детерминировано. Но автоматические рефакторинги покрывают лишь часть совсем простых случаев. А ИИ может сделать рефакторинг почти любой сложности,
Слушайте, хватит вводить народ в заблуждение. В реальных проектах где экспертиза разбросана по юнитам ИИ просто об****тся. Ну я не спорю, что машину надо пинать под задницу в правильное направление, но иногда, мне проще на коде с кмпайлтайм рефлекшином добавить одну — пару строчек .. чем чем этому барану рассказывать, а почему оно тут так ... — в весьма извращенных вариантах.
VD>так как он может понимать контекст и производить анализ, как и человек. Все что нужно сделать — качественно поставить задачу и предоставить необходимый контекст (код).
т.е. я должен вместо того, чтобы быстренько наколбасить код (весьма короткий шаблонный и обобщенный), в правильной архитектуре с историей, и разбросанной экспертизой, кою собрать и выдать ИИ не представляется возможным в назначенные сроки т.к. я опа и сделал, а эту дрянь я еще пинать должен непонятно какой срок ... ???))
V>> В основе тулов лежат детерминированные вычисления... А в основе ИИ-ки лежит и случайная интерпретация задачи и случайное её применение — примерно так работает джун.
Вы весьма переоцениваете случайность в ИИ
VD>Твое понимание работы ИИ детское и наивное ну или устарело. Современные LLM — это не генераторы случайных токенов, а системы, выявляющие сложные логические и семантические паттерны на основе обучения на огромных массивах качественного кода.
Ага, только не моего, он можно грубо ?? "дупля не отбивает, что там в этом коде, который я ему дам"
VD>Их работа — это не "случайное применение", а предсказание наиболее вероятного корректного решения, аналогичное процессу мышления опытного разработчика.
А это просто какое-то.. предновогоднее наверное. Какой опытный разработчик, если это чучело
1. не компилятор
2. не имеет экспертизы в том коде, куда его запускают (если его не просят решить типовую задачу, что в принципе в подавляющем случаев так и есть)
3... да сами подумайте ... там еще пунктов и пунктов )) попросите ИИ — ответить
VD>Сравнение с джуном некорректно: ИИ обладает "опытом", на порядки превышающим человеческий, так как "видел" больше паттернов.
вот именно "опытом"
V>> Перепроверка имеет такие показатели, как затраты, вероятность пропустить ошибку.
VD>Именно поэтому ИИ — мощный инструмент. Проверить и доработать качественное предложение от ИИ дешевле, чем писать решение с нуля.
А это какое, и какое с нуля ?? Меня его генерации раздражают, он не шарит. и не напишет код, как я хочу. есть области применения .. но и там за ним подтирать, и подтирать. А архитектуру — да пшел он ...
VD>Он резко повышает качество исходного варианта,
слова слова слова ...
VD>сокращая пространство для ошибок и снижая общие затраты. Ревью кода от коллеги ты тоже проверяешь, но это не делает его работу бесполезной.
Коллега не обременен накоплением ошибок (и прочими сюрпризами линейной алгебры веторизацией слов и прочих алгоритмов, которые смысл.. семантику втопчут в ню), обучаем, причем в контексте той архитектуры, что ему дают (и это не ваше позднее связывание)
VD>Когда ты проверяешь, что сделал ИИ ты просто используешь diff.
Это вообще волшебно, diff после "рефакторинга" ИИ-шкой
VD>Ты видишь, что изменила ИИ-шка и можешь или откатить ненужные изменения, или уточнить в промпте,
Знаете, я за свою программерскую жизнь понял одну вещь, чем сложнее технология, тем больше с ней долбаться. Промты — сырое и не языкоподобное образование, это скорее для девочек, картинки рисовать. Я бы предпочел, ферари. язык, который мне даст мне возможность эту технологию так обуздать, чтобы она ... была как компилятор С++ 26-го стандарта. Чтобы я написал, а оно мне — ... ну вы понимаете. А все это блаблабла с векторизацией (сквозь дырявой) слов, ..и мне не нужен естественный язык. Мы не девочки мы не в этой области работаем, все должно быть — железобетонно.
VD>что делать надо, а что не надо.
Нюню, а неоднозначность промта ??? А накопление ошибки в тех градидентах ??? А глюки в обратной связи ??
VD>Что сложного в том, чтобы понять, что изменила ИИ-ка по diff-у? Ниже будет пример промпта и их diff. Можешь оценить сам.
Две строчки поменял ... и — да там регекспом пройтись, ну (не вникал)
VD>Писать и отлаживать код куда медленнее нежели читать его.
Это смотря на чем писать. В языках с поздним связыванием и без метпрограммига да — слоджно жить. А когда у тебя любой шаг влево компайл тайм констрейнт покрывает, то пади ты ошибись.. ) и никакой ИИ эти мысли не поднимет, только человек (возможно с использованием оного).
VD>Ну и должны быть тесты или тестовый запуск с проверкой функционала.
а тесты кто буде тестить ?)))
VD>Именно так делают люди когда сами пишут код. Ни всегда получается написать корректный код сразу (даже человеку).
ООО вот тут вы выдали себя — даже человеку, т.е. понимание таки есть.
VD>Всегда есть место для ошибки. Лично я всегда смотрю свой код при коммите и потом в PR-е. Ну и по возможности стараюсь его запускать и тестировать или запускать тесты.
V>>Оба пункта странные — потому что они никак не следуют из того, как работают ИИ.
VD>Не как работает ИИ, а твоим заблуждениям по этому поводу. Давай будем точными в формулировках.
V>> ...ты воспринимаешь ИИ как волшебный черный ящик... на всем множестве задач это не работает.
нет он просто тебе оппонирует, и у него получился "рефакторинг"
VD>Не надо за меня додумывать. ИИ — не волшебный ящик, а инструмент с конкретными сильными и слабыми сторонами. Его сила — в работе с неформализованными, контекстно-зависимыми задачами, где нет детерминированного алгоритма.
не детерминированные алгоритмы ? А если там просто рассчитать налоговую накладную по новому плану счетов, в общем чистый расчет? Что там не детерминированного. Не детерминированное это из области статистики (плодом чего ИИ и является), хотя без реального генератора СЧ — все одно детерминированно, или квантовых расчетов.
VD>Для таких задач (к которым относится большая часть сложного рефакторинга)
Вы конечно простите, но рефакторинг по определению детерминирован, да вариативен, но детерминирован.
VD>он часто работает и работает хорошо. Критиковать его за не идеальность на "всем множестве задач" — это требовать от отвёртки, чтобы она хорошо забивала гвозди.
а вот мне кажется, что для рефакторинга ИИ как раз и есть — то, что вы сказали.
VD>Твоя основная ошибка — в дихотомии "либо детерминированный алгоритм, либо бесполезная случайность". Реальность сложнее: ИИ — это статистически обобщённый алгоритм высокого уровня,
Бла бла, весь этот разговор вообще смысла имеет мало, потому как мы обсуждаем ничто. Какой ИИ? вообще ИИ?
VD>который дополняет детерминированные тулы, решая те задачи, которые им недоступны в принципе или не автоматизированы на сегодня.
Отродясь люди писали генераторы. Качественное и корректно применение ИИ — в генерации массивных формализованных данных, на основе неформальных вводных, или же классификации и формализации оных. И таких технологий было со времен AMC, и прочих статистических алгоритмов.
VD>Вот тебе пример который придумал на ходу. В студии нет встроенного рефакторинга правильно расставляющего ключевые слова sealed и abstract на типах. Но дав ИИ-шке просто промпт и код (в данном случае фалы: DotAst.cs и DotVisitor.cs) в качестве контекста легко заставить её расставить sealed и abstract на заданном множестве типов. При этом тебе не надо объяснять где можно ставить sealed-ы, а где нельзя. ИИ-шка без проблем создает граф наследования "в голове" и логически выводит куда можно впихнуть sealed, куда abstract, а куда ни то, ни другое. Это не случайность. Чтобы ей было сложнее я специально удалил abstract с тех типов где они уже были расставлены человеком и при этом их отсутствие не ломало бы компиляцию. Вот результат:
VD>https://chat.deepseek.com/share/bmp62sq0iab4bikx97
VD>Вот diff изменений:
VD>Image: AiWorkDiff-001.png
VD>Тебе будет сложно оценить, что ИИ сделал всё как следует? Всё что тебе нужно сделать — это перед внесением изменений засташить старые. Ну разные IDE вроде Cursore или Antigravity делают это автоматом.
VD>Специально включил режим рассуждений, хотя ИИ-шка все сделала бы правильно и без него. И что интересно, так как у данной задачи есть только одно решение, то оно всегда будет одинаковым (детерминированным),
Вариативность и детерминированность вообще вещи разные
VD>как бы ты не заявлял обратного. По сути недетерминизм скорее определяется множеством возможных решений, а не природой ИИ. И ИИ всегда можно подтолкнуть в том направлении, что тебе требуется, даже если изначально ты получил не то решение, что ожидал. Просто добавил уточняющих промптов и всё.
))) или написал пол строчки в метакоде. безовсяких пинаний ..
мндя тяжело жить в мире позднего связывания
VD>Главное, чтобы ИИ-шка была не тупой от рождения и умела следовать инструкциям. Это достижение буквально последнего года. Еще 1-2 года назад ИИ-шки плохо следовали инструкциям.
слушайте, это же просто какой-то треш. Вы на естественном языке пишите промпт, который сам по себе — не однозначен (при компиляции в систему). Потом вся эта, далее уже идет умноженное на неоднозначность заводится, запускает этот поток в свои градиенты, mladjoint и прочие с накоплением ошибки, и в итоге заявляете , что оно точно ).
V>>То, что ты увидел черную корову (в своей работе получил вау-эффект) — не значит, что все коровы черные и даже не значит, что она со второго бока тоже черная.
VD>Я не однократно использовал ИИ для решения конкретных задач, вроде той, что я тебе привел в качестве примера. Не скажу, что всегда удавалось добиться желаемого. Но очень часто. В отличи от тебя я предпочитаю оценивать вещи на практике, а не по пересказу одной бабки.
)) Так таки да, можно прежде сказать, что за ИИ? Я тоже кидал код, и просил генерировать, и сейчас пользую иногда. Но в реально нетривиальном проекте, с разбросанной экспертизой — что мертвому припарки. Неплохо иногда консультирует, но — всегда держи ухо в остро, навалять лажи может не глядя, да еще какой ))
VD>Что там тебе за коровы мерещатся, я не знаю. Я вполне реалистично оцениваю ИИ и часто критикую оные за тупость.
Я свой резюм скажу
— 1. надо писать язык, чтобы эту тварь заставить работать
— 2. интеграция с компиляторами, бо блин достало когда эта дрянь генерит, к примеру пайтон код с выдуманными полями, которых
в помине нет. (не все, о часто)
— 3. язык должен быть формальным, вполне возможно сложным, точно сложнее С++ etc... такой потенциал точно требуется
— 4. при написании есстественным языком — должен быть представлен внутренний вариант, наподобе того как оракл выдает внутреннее содержание запроса в системе.
в общем — язык.
Re[6]: Провалы ИИ
Здравствуйте, VladD2, Вы писали:
V>> "рефакторинг тулом" vs "рефакторинг ИИ-кой" это как "считать на калькуляторе" vs "считать ИИ-кой"
VD>Это ложная аналогия. Она приравнивает принципиально разные по сложности задачи. Использование ИИ для простой арифметики действительно избыточно — так как всегда есть то самое детерминированное решение,
Да ну ))) для арифметики ? с ложной аналогией согласен, но только не надо в контексте ИИ про непогрешимость и точность. Вы вообще про неполноту (а отсюда и etc...) нет? Весь ИИ обложен, неполнотой, накоплением ошибки (и не только), и в итоге неожиданными глюками в глубине к применяемой системе. И вот я не совсем согласен, что искать эти глюки быстрее, чем написать одну строчку в обобщенном коде.
VD>универсальный алгоритм вычисления (в прочем хорошая ИИ-шка, как и не глупый человек без проблем и выражения вычислит).
Ну вот хватит экскаватор сравнивать с человеком. Вы накопление ошибки считали (ну перечисляли) ??
Итак — ваши промты, кто занимается векторизацией слов? Генерацией токенов (имеется в виду параметризацией), подбором параметров? Как слова в LLM приобретают вид конкретных инструкций (а все иное просто топчется лесом)? Автоматом, transform?))))) от не надо.
VD>Рефакторинг — это сложная, многокритериальная и часто творческая задача, для которой не всегда существует единый детерминированный алгоритма
) да в шарпах сложно жить.
VD>и даже если такой существует для частных случаев, часто он просто не реализован в IDE,
а зачем ?? Если писали умные люди, то первое ИИ там себе ноги поломает (пробовали знаем), а во вторых мимализм и обобщенность. Пишите код на правильном языке, с правильной архитектурой, и ИИ вы таки начнете использовать по назначению.
VD>а стало быть не может быть применён.
Сам зааксиомил непойми что, и сам вывод сделал. НЮНЮ.
VD>ИИ решает не ту же задачу, что и тулинг (синтаксические преобразования),
это какие ?)))
VD>а задачу более высокого уровня — семантический и архитектурный анализ
Ага, большая часть семантики скрыта в джире и бошках девелоперов (тех, кто еще живы), блин реально )))
VD>и осмысленное переписывание кода,
И откудла там осмысленное переписывание кода ?? А??? А если ему
(коду) уже лет 50??? И там инфу чел будет рыть по коллегам джире, коммитам гиту и прочему )))??? Вы туда ИИ запустите? Так он себе там так ноги поломает, и такого нагенерит, .. нюню (как говорят в Одессе).
VD>как это делает человек. И ИИ способен генерировать сотни слов в секунду в отличии от человека, что и позволяет использовать его в качестве тулзы рефакторинга.
Ага. Я так понимаю, у вас срослось с мелкой задачкой по рефакторингу .. скажем небольшого участка кода, и вы воспылали любовью. Ну и это пройдет.
VD>Я не спорю, что если есть готовый рефакторинг, применять вместо него ИИ довольно бессмысленно хотя бы потому, что рефакторинг работает намного быстрее и детерминировано. Но автоматические рефакторинги покрывают лишь часть совсем простых случаев. А ИИ может сделать рефакторинг почти любой сложности,
Слушайте, хватит вводить народ в заблуждение. В реальных проектах где экспертиза разбросана по юнитам ИИ просто об****тся. Ну я не спорю, что машину надо пинать под задницу в правильное направление, но иногда, мне проще на коде с кмпайлтайм рефлекшином добавить одну — пару строчек .. чем чем этому барану рассказывать, а почему оно тут так ... — в весьма извращенных вариантах.
VD>так как он может понимать контекст и производить анализ, как и человек. Все что нужно сделать — качественно поставить задачу и предоставить необходимый контекст (код).
т.е. я должен вместо того, чтобы быстренько наколбасить код (весьма короткий шаблонный и обобщенный), в правильной архитектуре с историей, и разбросанной экспертизой, кою собрать и выдать ИИ не представляется возможным в назначенные сроки т.к. я опа и сделал, а эту дрянь я еще пинать должен непонятно какой срок ... ???))
V>> В основе тулов лежат детерминированные вычисления... А в основе ИИ-ки лежит и случайная интерпретация задачи и случайное её применение — примерно так работает джун.
Вы весьма переоцениваете случайность в ИИ
VD>Твое понимание работы ИИ детское и наивное ну или устарело. Современные LLM — это не генераторы случайных токенов, а системы, выявляющие сложные логические и семантические паттерны на основе обучения на огромных массивах качественного кода.
Ага, только не моего, он можно грубо ?? "дупля не отбивает, что там в этом коде, который я ему дам"
VD>Их работа — это не "случайное применение", а предсказание наиболее вероятного корректного решения, аналогичное процессу мышления опытного разработчика.
А это просто какое-то.. предновогоднее наверное. Какой опытный разработчик, если это чучело
1. не компилятор
2. не имеет экспертизы в том коде, куда его запускают (если его не просят решить типовую задачу, что в принципе в подавляющем случаев так и есть)
3... да сами подумайте ... там еще пунктов и пунктов )) попросите ИИ — ответить
VD>Сравнение с джуном некорректно: ИИ обладает "опытом", на порядки превышающим человеческий, так как "видел" больше паттернов.
вот именно "опытом"
V>> Перепроверка имеет такие показатели, как затраты, вероятность пропустить ошибку.
VD>Именно поэтому ИИ — мощный инструмент. Проверить и доработать качественное предложение от ИИ дешевле, чем писать решение с нуля.
А это какое, и какое с нуля ?? Меня его генерации раздражают, он не шарит. и не напишет код, как я хочу. есть области применения .. но и там за ним подтирать, и подтирать. А архитектуру — да пшел он ...
VD>Он резко повышает качество исходного варианта,
слова слова слова ...
VD>сокращая пространство для ошибок и снижая общие затраты. Ревью кода от коллеги ты тоже проверяешь, но это не делает его работу бесполезной.
Коллега не обременен накоплением ошибок (и прочими сюрпризами линейной алгебры векторизацией слов и прочих алгоритмов, которые смысл.. семантику втопчут в ню), обучаем, причем в контексте той архитектуры, что ему дают (и это не ваше позднее связывание)
VD>Когда ты проверяешь, что сделал ИИ ты просто используешь diff.
Это вообще волшебно, diff после "рефакторинга" ИИ-шкой
VD>Ты видишь, что изменила ИИ-шка и можешь или откатить ненужные изменения, или уточнить в промпте,
Знаете, я за свою программерскую жизнь понял одну вещь, чем сложнее технология, тем больше с ней долбаться. Промты — сырое и не языкоподобное образование, это скорее для девочек, картинки рисовать. Я бы предпочел, ферари. язык, который мне даст мне возможность эту технологию так обуздать, чтобы она ... была как компилятор С++ 26-го стандарта. Чтобы я написал, а оно мне — ... ну вы понимаете. А все это блаблабла с векторизацией (сквозь дырявой) слов, ..и мне не нужен естественный язык. Мы не девочки мы не в этой области работаем, все должно быть — железобетонно.
VD>что делать надо, а что не надо.
Нюню, а неоднозначность промта ??? А накопление ошибки в тех градидентах ??? А глюки в обратной связи ??
VD>Что сложного в том, чтобы понять, что изменила ИИ-ка по diff-у? Ниже будет пример промпта и их diff. Можешь оценить сам.
Две строчки поменял ... и — да там регекспом пройтись, ну (не вникал)
VD>Писать и отлаживать код куда медленнее нежели читать его.
Это смотря на чем писать. В языках с поздним связыванием и без метпрограммига да — сложно жить. А когда у тебя любой шаг влево компайл тайм констрейнт покрывает, то пади ты ошибись.. ) и никакой ИИ эти мысли не поднимет, только человек (возможно с использованием оного).
VD>Ну и должны быть тесты или тестовый запуск с проверкой функционала.
а тесты кто буде тестить ?)))
VD>Именно так делают люди когда сами пишут код. Ни всегда получается написать корректный код сразу (даже человеку).
ООО вот тут вы выдали себя — даже человеку, т.е. понимание таки есть.
VD>Всегда есть место для ошибки. Лично я всегда смотрю свой код при коммите и потом в PR-е. Ну и по возможности стараюсь его запускать и тестировать или запускать тесты.
V>>Оба пункта странные — потому что они никак не следуют из того, как работают ИИ.
VD>Не как работает ИИ, а твоим заблуждениям по этому поводу. Давай будем точными в формулировках.
V>> ...ты воспринимаешь ИИ как волшебный черный ящик... на всем множестве задач это не работает.
нет он просто тебе оппонирует, и у него получился "рефакторинг"
VD>Не надо за меня додумывать. ИИ — не волшебный ящик, а инструмент с конкретными сильными и слабыми сторонами. Его сила — в работе с неформализованными, контекстно-зависимыми задачами, где нет детерминированного алгоритма.
не детерминированные алгоритмы ? А если там просто рассчитать налоговую накладную по новому плану счетов, в общем чистый расчет? Что там не детерминированного. Не детерминированное это из области статистики (плодом чего ИИ и является), хотя без реального генератора СЧ — все одно детерминированно. или вы за квантовые расчеты.
VD>Для таких задач (к которым относится большая часть сложного рефакторинга)
Вы конечно простите, но рефакторинг по определению детерминирован, да вариативен, но детерминирован.
VD>он часто работает и работает хорошо. Критиковать его за не идеальность на "всем множестве задач" — это требовать от отвёртки, чтобы она хорошо забивала гвозди.
а вот мне кажется, что для рефакторинга ИИ как раз и есть — то, что вы сказали.
VD>Твоя основная ошибка — в дихотомии "либо детерминированный алгоритм, либо бесполезная случайность". Реальность сложнее: ИИ — это статистически обобщённый алгоритм высокого уровня,
Бла бла, весь этот разговор вообще смысла имеет мало, потому как мы обсуждаем ничто. Какой ИИ? вообще ИИ?
VD>который дополняет детерминированные тулы, решая те задачи, которые им недоступны в принципе или не автоматизированы на сегодня.
Отродясь люди писали генераторы. Качественное и корректно применение ИИ — в генерации массивных формализованных данных, на основе неформальных вводных, или же классификации и формализации оных. И таких технологий было со времен AMC, и прочих статистических алгоритмов.
VD>Вот тебе пример который придумал на ходу. В студии нет встроенного рефакторинга правильно расставляющего ключевые слова sealed и abstract на типах. Но дав ИИ-шке просто промпт и код (в данном случае фалы: DotAst.cs и DotVisitor.cs) в качестве контекста легко заставить её расставить sealed и abstract на заданном множестве типов. При этом тебе не надо объяснять где можно ставить sealed-ы, а где нельзя. ИИ-шка без проблем создает граф наследования "в голове" и логически выводит куда можно впихнуть sealed, куда abstract, а куда ни то, ни другое. Это не случайность. Чтобы ей было сложнее я специально удалил abstract с тех типов где они уже были расставлены человеком и при этом их отсутствие не ломало бы компиляцию. Вот результат:
VD>https://chat.deepseek.com/share/bmp62sq0iab4bikx97
VD>Вот diff изменений:
VD>Image: AiWorkDiff-001.png
VD>Тебе будет сложно оценить, что ИИ сделал всё как следует? Всё что тебе нужно сделать — это перед внесением изменений засташить старые. Ну разные IDE вроде Cursore или Antigravity делают это автоматом.
VD>Специально включил режим рассуждений, хотя ИИ-шка все сделала бы правильно и без него. И что интересно, так как у данной задачи есть только одно решение, то оно всегда будет одинаковым (детерминированным),
Вариативность и детерминированность вообще вещи разные
VD>как бы ты не заявлял обратного. По сути недетерминизм скорее определяется множеством возможных решений, а не природой ИИ. И ИИ всегда можно подтолкнуть в том направлении, что тебе требуется, даже если изначально ты получил не то решение, что ожидал. Просто добавил уточняющих промптов и всё.
))) или написал пол строчки в метакоде. безовсяких пинаний ..
мндя тяжело жить в мире позднего связывания
VD>Главное, чтобы ИИ-шка была не тупой от рождения и умела следовать инструкциям. Это достижение буквально последнего года. Еще 1-2 года назад ИИ-шки плохо следовали инструкциям.
слушайте, это же просто какой-то треш. Вы на естественном языке пишите промпт, который сам по себе — не однозначен (при компиляции в систему). Потом вся эта, далее уже идет умноженное на неоднозначность заводится, запускает этот поток в свои градиенты, mladjoint и прочие с накоплением ошибки, и в итоге заявляете , что оно точно ).
V>>То, что ты увидел черную корову (в своей работе получил вау-эффект) — не значит, что все коровы черные и даже не значит, что она со второго бока тоже черная.
VD>Я не однократно использовал ИИ для решения конкретных задач, вроде той, что я тебе привел в качестве примера. Не скажу, что всегда удавалось добиться желаемого. Но очень часто. В отличи от тебя я предпочитаю оценивать вещи на практике, а не по пересказу одной бабки.
)) Так таки да, можно прежде сказать, что за ИИ? Я тоже кидал код, и просил генерировать, и сейчас пользую иногда. Но в реально нетривиальном проекте, с разбросанной экспертизой — что мертвому припарки. Неплохо иногда консультирует, но — всегда держи ухо в остро, навалять лажи может не глядя, да еще какой ))
VD>Что там тебе за коровы мерещатся, я не знаю. Я вполне реалистично оцениваю ИИ и часто критикую оные за тупость.
Я свой резюм скажу
— 1. надо писать язык, чтобы эту тварь заставить работать
— 2. интеграция с компиляторами, бо блин достало когда эта дрянь генерит, к примеру пайтон код с выдуманными полями, которых
в помине нет. (не все, о часто)
— 3. язык должен быть формальным, вполне возможно сложным, точно сложнее С++ etc... такой потенциал точно требуется
— 4. при написании есстественным языком — должен быть представлен внутренний вариант, наподобе того как оракл выдает внутреннее содержание запроса в системе.
в общем — язык.
V>> "рефакторинг тулом" vs "рефакторинг ИИ-кой" это как "считать на калькуляторе" vs "считать ИИ-кой"
VD>Это ложная аналогия. Она приравнивает принципиально разные по сложности задачи. Использование ИИ для простой арифметики действительно избыточно — так как всегда есть то самое детерминированное решение,
Да ну ))) для арифметики ? с ложной аналогией согласен, но только не надо в контексте ИИ про непогрешимость и точность. Вы вообще про неполноту (а отсюда и etc...) нет? Весь ИИ обложен, неполнотой, накоплением ошибки (и не только), и в итоге неожиданными глюками в глубине к применяемой системе. И вот я не совсем согласен, что искать эти глюки быстрее, чем написать одну строчку в обобщенном коде.
VD>универсальный алгоритм вычисления (в прочем хорошая ИИ-шка, как и не глупый человек без проблем и выражения вычислит).
Ну вот хватит экскаватор сравнивать с человеком. Вы накопление ошибки считали (ну перечисляли) ??
Итак — ваши промты, кто занимается векторизацией слов? Генерацией токенов (имеется в виду параметризацией), подбором параметров? Как слова в LLM приобретают вид конкретных инструкций (а все иное просто топчется лесом)? Автоматом, transform?))))) от не надо.
VD>Рефакторинг — это сложная, многокритериальная и часто творческая задача, для которой не всегда существует единый детерминированный алгоритма
) да в шарпах сложно жить.
VD>и даже если такой существует для частных случаев, часто он просто не реализован в IDE,
а зачем ?? Если писали умные люди, то первое ИИ там себе ноги поломает (пробовали знаем), а во вторых мимализм и обобщенность. Пишите код на правильном языке, с правильной архитектурой, и ИИ вы таки начнете использовать по назначению.
VD>а стало быть не может быть применён.
Сам зааксиомил непойми что, и сам вывод сделал. НЮНЮ.
VD>ИИ решает не ту же задачу, что и тулинг (синтаксические преобразования),
это какие ?)))
VD>а задачу более высокого уровня — семантический и архитектурный анализ
Ага, большая часть семантики скрыта в джире и бошках девелоперов (тех, кто еще живы), блин реально )))
VD>и осмысленное переписывание кода,
И откудла там осмысленное переписывание кода ?? А??? А если ему
(коду) уже лет 50??? И там инфу чел будет рыть по коллегам джире, коммитам гиту и прочему )))??? Вы туда ИИ запустите? Так он себе там так ноги поломает, и такого нагенерит, .. нюню (как говорят в Одессе).
VD>как это делает человек. И ИИ способен генерировать сотни слов в секунду в отличии от человека, что и позволяет использовать его в качестве тулзы рефакторинга.
Ага. Я так понимаю, у вас срослось с мелкой задачкой по рефакторингу .. скажем небольшого участка кода, и вы воспылали любовью. Ну и это пройдет.
VD>Я не спорю, что если есть готовый рефакторинг, применять вместо него ИИ довольно бессмысленно хотя бы потому, что рефакторинг работает намного быстрее и детерминировано. Но автоматические рефакторинги покрывают лишь часть совсем простых случаев. А ИИ может сделать рефакторинг почти любой сложности,
Слушайте, хватит вводить народ в заблуждение. В реальных проектах где экспертиза разбросана по юнитам ИИ просто об****тся. Ну я не спорю, что машину надо пинать под задницу в правильное направление, но иногда, мне проще на коде с кмпайлтайм рефлекшином добавить одну — пару строчек .. чем чем этому барану рассказывать, а почему оно тут так ... — в весьма извращенных вариантах.
VD>так как он может понимать контекст и производить анализ, как и человек. Все что нужно сделать — качественно поставить задачу и предоставить необходимый контекст (код).
т.е. я должен вместо того, чтобы быстренько наколбасить код (весьма короткий шаблонный и обобщенный), в правильной архитектуре с историей, и разбросанной экспертизой, кою собрать и выдать ИИ не представляется возможным в назначенные сроки т.к. я опа и сделал, а эту дрянь я еще пинать должен непонятно какой срок ... ???))
V>> В основе тулов лежат детерминированные вычисления... А в основе ИИ-ки лежит и случайная интерпретация задачи и случайное её применение — примерно так работает джун.
Вы весьма переоцениваете случайность в ИИ
VD>Твое понимание работы ИИ детское и наивное ну или устарело. Современные LLM — это не генераторы случайных токенов, а системы, выявляющие сложные логические и семантические паттерны на основе обучения на огромных массивах качественного кода.
Ага, только не моего, он можно грубо ?? "дупля не отбивает, что там в этом коде, который я ему дам"
VD>Их работа — это не "случайное применение", а предсказание наиболее вероятного корректного решения, аналогичное процессу мышления опытного разработчика.
А это просто какое-то.. предновогоднее наверное. Какой опытный разработчик, если это чучело
1. не компилятор
2. не имеет экспертизы в том коде, куда его запускают (если его не просят решить типовую задачу, что в принципе в подавляющем случаев так и есть)
3... да сами подумайте ... там еще пунктов и пунктов )) попросите ИИ — ответить
VD>Сравнение с джуном некорректно: ИИ обладает "опытом", на порядки превышающим человеческий, так как "видел" больше паттернов.
вот именно "опытом"
V>> Перепроверка имеет такие показатели, как затраты, вероятность пропустить ошибку.
VD>Именно поэтому ИИ — мощный инструмент. Проверить и доработать качественное предложение от ИИ дешевле, чем писать решение с нуля.
А это какое, и какое с нуля ?? Меня его генерации раздражают, он не шарит. и не напишет код, как я хочу. есть области применения .. но и там за ним подтирать, и подтирать. А архитектуру — да пшел он ...
VD>Он резко повышает качество исходного варианта,
слова слова слова ...
VD>сокращая пространство для ошибок и снижая общие затраты. Ревью кода от коллеги ты тоже проверяешь, но это не делает его работу бесполезной.
Коллега не обременен накоплением ошибок (и прочими сюрпризами линейной алгебры векторизацией слов и прочих алгоритмов, которые смысл.. семантику втопчут в ню), обучаем, причем в контексте той архитектуры, что ему дают (и это не ваше позднее связывание)
VD>Когда ты проверяешь, что сделал ИИ ты просто используешь diff.
Это вообще волшебно, diff после "рефакторинга" ИИ-шкой
VD>Ты видишь, что изменила ИИ-шка и можешь или откатить ненужные изменения, или уточнить в промпте,
Знаете, я за свою программерскую жизнь понял одну вещь, чем сложнее технология, тем больше с ней долбаться. Промты — сырое и не языкоподобное образование, это скорее для девочек, картинки рисовать. Я бы предпочел, ферари. язык, который мне даст мне возможность эту технологию так обуздать, чтобы она ... была как компилятор С++ 26-го стандарта. Чтобы я написал, а оно мне — ... ну вы понимаете. А все это блаблабла с векторизацией (сквозь дырявой) слов, ..и мне не нужен естественный язык. Мы не девочки мы не в этой области работаем, все должно быть — железобетонно.
VD>что делать надо, а что не надо.
Нюню, а неоднозначность промта ??? А накопление ошибки в тех градидентах ??? А глюки в обратной связи ??
VD>Что сложного в том, чтобы понять, что изменила ИИ-ка по diff-у? Ниже будет пример промпта и их diff. Можешь оценить сам.
Две строчки поменял ... и — да там регекспом пройтись, ну (не вникал)
VD>Писать и отлаживать код куда медленнее нежели читать его.
Это смотря на чем писать. В языках с поздним связыванием и без метпрограммига да — сложно жить. А когда у тебя любой шаг влево компайл тайм констрейнт покрывает, то пади ты ошибись.. ) и никакой ИИ эти мысли не поднимет, только человек (возможно с использованием оного).
VD>Ну и должны быть тесты или тестовый запуск с проверкой функционала.
а тесты кто буде тестить ?)))
VD>Именно так делают люди когда сами пишут код. Ни всегда получается написать корректный код сразу (даже человеку).
ООО вот тут вы выдали себя — даже человеку, т.е. понимание таки есть.
VD>Всегда есть место для ошибки. Лично я всегда смотрю свой код при коммите и потом в PR-е. Ну и по возможности стараюсь его запускать и тестировать или запускать тесты.
V>>Оба пункта странные — потому что они никак не следуют из того, как работают ИИ.
VD>Не как работает ИИ, а твоим заблуждениям по этому поводу. Давай будем точными в формулировках.
V>> ...ты воспринимаешь ИИ как волшебный черный ящик... на всем множестве задач это не работает.
нет он просто тебе оппонирует, и у него получился "рефакторинг"
VD>Не надо за меня додумывать. ИИ — не волшебный ящик, а инструмент с конкретными сильными и слабыми сторонами. Его сила — в работе с неформализованными, контекстно-зависимыми задачами, где нет детерминированного алгоритма.
не детерминированные алгоритмы ? А если там просто рассчитать налоговую накладную по новому плану счетов, в общем чистый расчет? Что там не детерминированного. Не детерминированное это из области статистики (плодом чего ИИ и является), хотя без реального генератора СЧ — все одно детерминированно. или вы за квантовые расчеты.
VD>Для таких задач (к которым относится большая часть сложного рефакторинга)
Вы конечно простите, но рефакторинг по определению детерминирован, да вариативен, но детерминирован.
VD>он часто работает и работает хорошо. Критиковать его за не идеальность на "всем множестве задач" — это требовать от отвёртки, чтобы она хорошо забивала гвозди.
а вот мне кажется, что для рефакторинга ИИ как раз и есть — то, что вы сказали.
VD>Твоя основная ошибка — в дихотомии "либо детерминированный алгоритм, либо бесполезная случайность". Реальность сложнее: ИИ — это статистически обобщённый алгоритм высокого уровня,
Бла бла, весь этот разговор вообще смысла имеет мало, потому как мы обсуждаем ничто. Какой ИИ? вообще ИИ?
VD>который дополняет детерминированные тулы, решая те задачи, которые им недоступны в принципе или не автоматизированы на сегодня.
Отродясь люди писали генераторы. Качественное и корректно применение ИИ — в генерации массивных формализованных данных, на основе неформальных вводных, или же классификации и формализации оных. И таких технологий было со времен AMC, и прочих статистических алгоритмов.
VD>Вот тебе пример который придумал на ходу. В студии нет встроенного рефакторинга правильно расставляющего ключевые слова sealed и abstract на типах. Но дав ИИ-шке просто промпт и код (в данном случае фалы: DotAst.cs и DotVisitor.cs) в качестве контекста легко заставить её расставить sealed и abstract на заданном множестве типов. При этом тебе не надо объяснять где можно ставить sealed-ы, а где нельзя. ИИ-шка без проблем создает граф наследования "в голове" и логически выводит куда можно впихнуть sealed, куда abstract, а куда ни то, ни другое. Это не случайность. Чтобы ей было сложнее я специально удалил abstract с тех типов где они уже были расставлены человеком и при этом их отсутствие не ломало бы компиляцию. Вот результат:
VD>https://chat.deepseek.com/share/bmp62sq0iab4bikx97
VD>Вот diff изменений:
VD>Image: AiWorkDiff-001.png
VD>Тебе будет сложно оценить, что ИИ сделал всё как следует? Всё что тебе нужно сделать — это перед внесением изменений засташить старые. Ну разные IDE вроде Cursore или Antigravity делают это автоматом.
VD>Специально включил режим рассуждений, хотя ИИ-шка все сделала бы правильно и без него. И что интересно, так как у данной задачи есть только одно решение, то оно всегда будет одинаковым (детерминированным),
Вариативность и детерминированность вообще вещи разные
VD>как бы ты не заявлял обратного. По сути недетерминизм скорее определяется множеством возможных решений, а не природой ИИ. И ИИ всегда можно подтолкнуть в том направлении, что тебе требуется, даже если изначально ты получил не то решение, что ожидал. Просто добавил уточняющих промптов и всё.
))) или написал пол строчки в метакоде. безовсяких пинаний ..
мндя тяжело жить в мире позднего связывания
VD>Главное, чтобы ИИ-шка была не тупой от рождения и умела следовать инструкциям. Это достижение буквально последнего года. Еще 1-2 года назад ИИ-шки плохо следовали инструкциям.
слушайте, это же просто какой-то треш. Вы на естественном языке пишите промпт, который сам по себе — не однозначен (при компиляции в систему). Потом вся эта, далее уже идет умноженное на неоднозначность заводится, запускает этот поток в свои градиенты, mladjoint и прочие с накоплением ошибки, и в итоге заявляете , что оно точно ).
V>>То, что ты увидел черную корову (в своей работе получил вау-эффект) — не значит, что все коровы черные и даже не значит, что она со второго бока тоже черная.
VD>Я не однократно использовал ИИ для решения конкретных задач, вроде той, что я тебе привел в качестве примера. Не скажу, что всегда удавалось добиться желаемого. Но очень часто. В отличи от тебя я предпочитаю оценивать вещи на практике, а не по пересказу одной бабки.
)) Так таки да, можно прежде сказать, что за ИИ? Я тоже кидал код, и просил генерировать, и сейчас пользую иногда. Но в реально нетривиальном проекте, с разбросанной экспертизой — что мертвому припарки. Неплохо иногда консультирует, но — всегда держи ухо в остро, навалять лажи может не глядя, да еще какой ))
VD>Что там тебе за коровы мерещатся, я не знаю. Я вполне реалистично оцениваю ИИ и часто критикую оные за тупость.
Я свой резюм скажу
— 1. надо писать язык, чтобы эту тварь заставить работать
— 2. интеграция с компиляторами, бо блин достало когда эта дрянь генерит, к примеру пайтон код с выдуманными полями, которых
в помине нет. (не все, о часто)
— 3. язык должен быть формальным, вполне возможно сложным, точно сложнее С++ etc... такой потенциал точно требуется
— 4. при написании есстественным языком — должен быть представлен внутренний вариант, наподобе того как оракл выдает внутреннее содержание запроса в системе.
в общем — язык.