All streams
Search
Write a publication
Pull to refresh

Comments 83

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

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

Именно поэтому нужно придумать белее точное название чем ИИ...

На Хабре была статья с очень точным названием для нынешнего ИИ — мешок слов.

А все несогласные комментарии можно было бы обобщить до несколько более точного термина: продвинутый мешок слов.

кожаный продвинутый мешок слов. ))

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

Естественно мозг не работает пожбирая вероятности каждого следующего слова в зависимсти от контекста и предыдущего текста.

мозг работает как аналоговый вычислитель а не дискретный (как бы ни ьыло огромно число текстовых токенов оно все равно конечно и его можно общитать).

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

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

Имитация Интеллекта.

Матрица вероятностей.

Так оно есть - LLM. Искусственным интеллектом большие языковые модели называют маркетологи.

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

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

LLM с мамба слоями уже пару месяцев как появились, например NVIDIA Nemotron-H family 12b. Крайние релизы Qwen не пробовали смотреть? А hunyuan-t1? А это: https://habr.com/ru/companies/bar/articles/894370/
Как вам идея для начала Habr спарсить переложить его в RAG, потом по RAGу пройтись LLMкой и проверить свою статью на качество утверждений путем поиска иных утверждений с высоким индексом релевантности

Это не моя статья, если что).

"Свежие релизы Qwen не пробовали смотреть?"

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

Ну можно верить не в самих агентов а в круглые сумы которые на этом зарабатываются

Ну так нужны новые языки "под ключ" для агентов.

С новыми workflow и хранением проекта.

Workflow - снижает ошибки (ну т.е. обратные петли с тестированием и watchdog'ом зовущим челвоека разгребать если пайп не прошёл).
Проект - древовидная документация в конфлюесн + интерфейсы (боле-менее соответствующая структуре проекта в ФС).

Любой промпт (заливает в проект атомарно), вызывает следующие изменения:
1. Меняет "верхнеуровневую доку" конфлюенс (требует апрува от человека "продолжай")
2. По результатам изменений конфлюенса - меняет код, доуточняет изменение интерфейсов (которые через doxigen-like тоже экспортятся в доку) и нижнеуровневой доки
3. Дальше - прогоняет пайплайны, дописывает автотесты и т.д.

Основная фишка - проект это ВЕРХНЕУРОВНЕВАЯ ДОКА (которую читает агент) + код в файликах примерно в соотношении: 1 страничка : 1 файлик (с интерфейсами если есть разделение на них и реализацию).

код в файликах примерно в соотношении: 1 страничка : 1 файлик

Не очень понял, можете пример привести?

Я пожалуй немного смягчу условие.

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

========================================================
Цель - помочь агентам с архитектурой.
Общая идея - отобразить семантическую структуру и доки и кода на архитектуру проекта.

Т.е. если вам надо как-то поменять "компонент-Х", вы находите его в дереве иерархии и:

1. Читаете саму страничку компонента
2. Читаете все станички "от корня до данной".
3. Читаете все под-странички компонента.
4. Читаете код исходных файликов, относящихся к этой страничке (по 2,3 - на этапе "предложи архитектуру" код читать не нужно).

А для чего confluence? Почему не держать всё в файловой системе - в md-файлах? Можно разнести по разным репозиториям, если надо: доки - отдельно, код - отдельно.

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

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

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

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

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

Если это будет репозиторий в котором хранится *.md - ok.

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

Ответил выше про "зафорсить повышение уровня абстракции при работе ИИ-агентов".

С проблемой надежности сложно спорить. Только она присуща не только ИИ-агентам, но и людям. И большинство людей имеют "надежность" гораздо меньше 95%. Пообещать и не сделать вовремя? Да, легко. Или вообще "ой, я забыл"? Сплошь и рядом. Ошибаются вообще все. Контроль результата и корректировка являются неотъемлемой частью абсолютно любого workflow безо всяких ИИ-агентов.

А если каждое действие имеет 95% надежность? Жить прямо как в DnD? Взял ручку - бросок кубика. Не повезло - тут же уронил. Или сломал. Или потерял.

А если добавить не просто "неудачи" в действии, а галлюцинации (которыми славятся LLM)? "Не повезло" и ты не просто "забыл", а сделал неправильно, будучи на 100% уверенным что так и надо было. Например, вместо удаления файла - форматирование диска (файл же это тоже удалит).

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

В массовом сознании, почему-то закрепилось мнение, что ИИ = "Компетентный и ответственный сотрудник senior-уровня с которым мы работаем >3 лет". Это не так. Гораздо ближе к реальности "мидл, вроде толковый, но мы его наняли всего 2 недели назад". Может быть мы неверно оценили скиллы, а может он вообще завтра в запой уйдет. Никто в здравом уме сразу не выдаст бесконтрольный доступ к критическим ресурсам такому человеку. И да, разумеется подавляющее большинство работников это именно мидлы и джуны. Синьеров на всех не напасешься. И да, многих наняли не так давно и в принципе непонятно чего от них ждать. Кто-то из них наверняка сотворит какую-нибудь фигню, и не факт что поймет что это фигня и своевременно предупредит/спросит у более опытных коллег. Но мы с этим работаем и никого такое положение вещей не удивляет. Се ля ви.

Синьеров на всех не напасешься.

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

Человек обучаем и способен развивать свои навыки.

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

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

Я бы LLM даже с джуном не сравнивал - просто потому что джун обучается.

P.S. да, LLM можно "обучить" - на куче примеров и за много-много денег. Но это далеко не тоже самое, что обучение человека. И доступно далеко не каждому.
P.P.S. Да, возможности LLM поражают, этого не отнять. Но на текущем уровне они еще очень далеки до полноценного ИИ.

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

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

Вы с Марса?

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

Пределы своей компетентности человек также не понимает. Вообще.

Человек вообще существо либо вечно сомневающееся во всём, либо дурное.

Да, возможности LLM поражают, этого не отнять. Но на текущем уровне они еще очень далеки до полноценного ИИ.

Тут главное у вас что нет определения "полноценного ИИ". - попробуйте пообщаться с ChatGPT для теоретического обучения своего и с человеком для той же цели. И вы поймёте что человек и в подмётки не годится ChatGPT в данном случае.

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

ChatGPT / LLM - скорее библиотека или справочная. Но понимания там нет.

И не стоит забывать про галлюцинации, которыми славятся LLM. Так что 100% доверия ему нет.

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

Так что 100% доверия ему нет.

А 100% и не надо:

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

Анализ с применением искусственного интеллекта, проведённый швейцарской компанией Art Recognition в сотрудничестве с Университетом Ливерпуля, определил с вероятностью 85,7%, что «Лютнист», хранящийся в Бадминтон-хаусе в Глостершире, является подлинной работой Микеланджело Меризи да Караваджо."

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

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

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

С ИИ надо ожидать подвоха в каждом ответе

Вы наверное считаете что с ИИ можно общаться только и только через чат, типа как с человеком.

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

"AlphaFold — программа на базе искусственного интеллекта (AI), разработанная Google DeepMind, которая выполняет предсказания пространственной структуры белка.

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

Руководители разработки AlphaFold Демис Хассабис и Джон Джампер были удостоены Нобелевской премии по химии 2024 года за использование AlphaFold 2 для предсказания в области укладки белков."

Сами понимаете, что "обычному среднему человеку" и даже "библиотекарю" нобелевскую пока не дают.

Мы говорили о LLM.

Большая языковая модель (БЯМ; англ. large language model, LLM) — языковая модель, состоящая из нейронной сети со множеством параметров (обычно миллиарды весовых коэффициентов и более), обученной на большом количестве неразмеченного текста с использованием обучения без учителя.

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

Мы говорили о LLM.

Верно. Но всё же между ними есть и общие элементы, типа Transformer:

Transformer - это нейросетевой архитектурный «двигатель», основанный на механизме внимания, который позволяет эффективно находить связи внутри длинных последовательностей и стал фундаментом LLM, Alpha Fold 2 и многих других современных ИИ-систем.

Для БОЛЬШИНСТВА людей оно где-то так же.

Просто приймите, что ЛЛМ - обычный СРЕДНИЙ человек.

В том то и проблема, что я бы его даже со средним человеком не сравнил.

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

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

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

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

Дело не только в проценте надежности, но и в природе ошибок. Человек может забыть или сделать опечатку, а LLM-агент может уверенно сгаллюцинировать и решить, что лучший способ удалить временные файлы — это rm -rf /.

Уровень непредсказуемости и потенциального ущерба от ошибки ИИ несоизмеримо выше

Просто напомню, что "rm -rf /" появился и наносил ущерб сильно задолго до появления ИИ. Джуны находили такие злые шутки на форумах и уверенно запускали. Проблема настолько массовая, что в итоге пришлось даже менять стандартное поведение терминала, чтобы дополнительно запрашивал подтверждение.

rm: опасно рекурсивно обрабатывать '/'
rm: используйте --no-preserve-root, чтобы отменить предупреждение об опасности

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

Однажды выполнивший "rm -rf /" скорее всего больше не повторит эту ошибку. ИИ может тут же её повторить, даже если прямо попросить это не делать.

А вы права рута не выдавайте чтобы вам все не снесли. :)

Агенты это всё в контейнере делают, там можно :) А кто Агента на прод запустил - тот сам себе злобный буратин и там уже не важно, какие у Агента права.

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

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

Короче - инерция. Вот и всё, что отделяет вас от пропасти, после которой вы станете не нужны. (с) чат-жпт.

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

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

95% надежности на шаг — это уже оптимистично, а на выходе пшик

«Друзья! Эту статью подготовила команда ТГК»
Если статью подготовили команда, то почему «у меня и Я» а не «у нас и мы»?

Есть мнение что ИИ не и писал.

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

Это не отменяет того факта что система может быть глюкавой. Вопрос как вы работу выстроите.

В приципе, любая достаточно сложная программма сегодня это вероятностная система: то-ли работает, то-ли нет.
Так что подход к написанию ее методом «Монте Карло» имеет место быть.

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

Но вот бизнес, где цена ошибки иная - это уже совсем другая история(с)

Да, для личного использования - LLM отлично подходят. Может ответить практически на что угодно - гораздо быстрее и проще, чем искать самому (*). А если тема малоизвестная - можно подключить поиск и тоже получить неплохие результаты.

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

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

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

Только вот вы никогда не узнаете правду вам сетка написала или сгалюцинировала на 100 процентов.

верификация ответов нейросети не простая, но решаемая проблема, было бы желание

Там может сразу и начать с нормальных источников? Чтобы не делать двойную работу.

За все хорошее и против всего плохого

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

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

Да, работы больше, но работа разная бывает, простая и сложная, тут она проще, что является значимым преимуществом.

Точно помогает? А не выдумывает источники случаем?

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

Точно помогает?

Да, мне помогает

Возможно это моя специфика, но сужу по своему опыту

Процесс с чатгпт ощущается быстрее и эффективнее чем без него.

А не выдумывает источники случаем?

На моей практике выдумывает где-то треть источников если явно попросить их перечислить

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

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

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

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

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

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

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

Вы же буквально описали источник которому в принципе нельзя доверять ни в чем. 90 процентов правды и 10 процентов вранья с виду похожего на правду это гораздо хуже чем 100 процентов вранья.

Ну, проведу аналогию. Есть фреймворк актуальной версии 2.0, в 10% контрактов отличающийся от 1.0. Так вышло, что доков по актуальной версии у вас нет, но есть по первой. Его точно нет смысла читать из-за 10% неверной инфы? Или после прочтения будет довольно неплохое представление, что к чему, а с расхождениями можно уже и на практике разобраться?

Да. Точно нет смысла обновляться. И даже разбираться более чем, интересно что там, нет смысла. Где там расхождения вообще не интересно.

Софт должен работать правильно или он не нужен. С гарантией в девятках.

Ллмки правильно работают в задачах без точного решения. Вроде придумай бла-бла-бла.

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

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

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

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

Одно дело функция myGeatF не документирована. Тут все просто - не используем ее. И совсем другое дело если функция println с документацией "выводим строку в stdout" с вероятностью 0.1 процент делает rm -f / UB везде.

Нейросети ведут себя вторым образом.

Ага, я понял теперь, о чём вы. Это не про "неполную документацию", и не про "частично неверную документацию", и вообще не про документацию к софту. Это про сам софт, который в 99.9% случаев выполняет что-то полезное, а в 0.1% случаев при тех же условиях уничтожает Вселенную. Да, в таких условиях действительно использование подобного софта является преступлением против человечества.

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

Я на практике использую LLM для поиска способов конфигурации, например, VSCode. Да, что-то не подходит (10%), но основное (90%) очень даже сокращает время. Просто взять текстовый конфиг какого-то сервиса (`/etc/...`) и попросить LLM'ку переписать его с другими установками. Всё это очень успешно работает и не уничтожает ни человечество, ни файлы на моём компьютере.

Вы же буквально описали источник которому в принципе нельзя доверять ни в чем. 90 процентов правды и 10 процентов вранья с виду похожего на правду это гораздо хуже чем 100 процентов вранья.

Да, так и есть. Я молотком тоже не всегда по гвоздю попадаю, но я его использую. Считайте, что враньё нейросетки в ответе - это ваш криво составленный запрос :)

Они именно так себя ведут. Функция "подбери следующее самое вероятное слово" выдает текст всегда. При этом вероятность что эти самые вероятные слова не имеют вообще ничего общего с реальностью есть и она сильно ненулевая. Это как раз типичный UB. В каждом ответе.

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

Ну, нейронка это просто инструмент. Она может делать некоторые вещи и может делать их на приемлемом уровне. Как её использовать - на ваше усмотрение. Если вам проще гуглить - не используйте нейронки. Мне, например, проще сделать скриншот с настройками IDE или с сообщением об ошибке и задать вопрос в контексте. Гугл уже встроил Gemini в свой поиск и для общих вопросов иногда вполне хватает вывода Gemini.

По-большому счёту, это вопрос вашей персональной интеграции с этим инструментом. Если вам проще гуглить - гуглите.

Настройки IDE это что-то совсем примитивное как мне кажется. Вроде такой проблемы как разобраться с IDE нет уже лет 10-20. Наверно в таких вопросах ллмки и работают.

Начните с простого и усложняйте задачи по мере освоения инструмента.

Освоении? Проблема в том что чтобы я не делал инструмент имеет UB в любом ответе. Это его базовое свойство.

Смотрите, я задал LLM-ке впорос:

Что означает UB в данном контексте? `` Одно дело функция myGeatF не документирована. Тут все просто - не используем ее. И совсем другое дело если функция println с документацией "выводим строку в stdout" с вероятностью 0.1 процент делает rm -f / UB везде.``

Мне она ответила:

Алекс, тут UB значит Undefined Behavior («неопределённое поведение»).

...

Вот пример простейшего использования. Мелочь? Разумеется. Но попробуйте это погуглить.

Есть множество сценариев, как использовать LLM "с UB в каждом ответе". И есть люди, которые работают с этими сценариями, а есть, которые их отвергают, как бесперспективные.

У каждого свой путь.

Погуглил

Отличный результат. Хороший источник, про который в отличии от вашего нельзя сказать мол непонятно верная это расшифровка или нет.

А почему это "undefined behavior" в выдаче гугла - это верная расшифровка, а "undefined behavior" в выдаче LLM - неверная? :)))

Мне LLM, получается, солгала, а вам Гугл правду сказал? Но ведь ответ-то один и тот же?! :)

Вы, в силу своих ограничений, не доверяете одним источниками информации и доверяете другим. Я, в силу своих ограничений, делаю то же самое. Просто у нас ограничения разные.

А UB можно сильно по-разному переводить, в зависимости от контекста.

В Гугле ссылка на вики. Есть что почитать и понять почему оно верно.

Гугл дал именно верный результат. Успех же.

Что вы имели в виду под "UB" в своём комменте?

Если что-то другое, чем то, что ответила мне LLM (тут UB значит Undefined Behavior), то я соглашусь, что вы правы - LLM лжёт, а Гугл нет :)

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

Судя по уходу от прямого ответа, вы всё-таки под UB имели в виду именно "Undefined Behavior". Значит, я успешно использовал LLM и получил правильный ответ, но вы не можете поступать так же из-за ваших собственных убеждений.

ОК, продолжайте гуглить, раз вам так удобнее.

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

Сложно добиться от вас ответа, а LLM-ка мне написала в первой же строке:

Алекс, тут UB значит Undefined Behavior («неопределённое поведение»).

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

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

Я могу использовать LLM в своей деятельности и продемонстрировал это на практике. А вы можете и дальше упирать на UB.

А не лучше сразу погуглить? Зачем двойную работу делать?

... и, это, ответы Гугла - тоже не истина, так-то.

Нет, чтобы нейронка условно описала какую-то функцию как "вывод в консоль" в то время как на самом деле она делает rm -rf - это надо, чтобы 1) по этой функции не было или почти не было доступной инфы, которую она выдаст 2) "правдоподобный" нафантазированный ответ говорил про консоль вместо удаления - но это, например, значит, что название функции что-то типа logToConsole, а не deleteAll, и как она тогда под капотом что-то удаляет - вопрос. Нейронка старается в ситуациях, где нет инфы, сгенерить что-то внешне консистентное, а это значит, что для прям радикального вранья и то, о чем спрашивают, должно иметь проблемы с внутренней консистентностью. Да ещё и не быть сильно известным(чтобы включить фантазии у нейронки). А точно ли этим стоит пользоваться вообще?

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

Не так. Это аналогия.

Любой ответ нейронки является функций с UB внутри. Вы никогда не знаете нагалюционировала она его полностью или нет. Использовать такое для генерации чего-то больше "нарисуй котика"? Ну так себе идея.

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

Это ж не повод отказываться от официальных доков и SO. Точно так же и с нейронками - если внедрять llm driven development или stack overflow driven development, то, скорее всего, рано или поздно выстрелит(но не факт). А если ко всему подходить, как говорится, with a grain of salt и по принципу доктора Хауса - то вполне рабочая штука. Просто у нейронок характер вранья отличается от "человеческого", это надо учитывать, но это не блокер.

А поделитесь примерами неверных залайканных ответов в SO без нескольких комментариев что мол устарело или неверной документации. Для чего-нибудь массового и 2025 года.

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

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

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

Sign up to leave a comment.

Articles