Итак, как же пользоваться этой чёртовой LLM

Программирование, Хакинг, Безопасность, Софт, Железо, а также всё связанное с компьютерами
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

Я не буду писать о решениях предлагаемых рынком из коробки. Я как всегда покупаю вещь не для того чтобы читать инструкцию а для того чтобы ее разобрать на запчасти самостоятельно и выкинуть :) Шутка.

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

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

И поначалу я было уже ее уволил. Но, присмотревшись, решил дать ей второй шанс.
=====

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

Я заметил что она не умеет глубоко вникать. Если дать ей допустим указание типа - "ОК, вот мой бизнес - наладь тут всё" - она похлопав своими длинными ресницами возьмет швабру и начнет наводить уборку в офисе, но она не просечет что вы от нее хотели на самом деле.

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

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

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

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

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

И это первое и самое основное что нужно понять о ее работе. Но это конечно только самое начало.

DeepSeek:
► Показать
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

Иллюстрация.

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

DeepSeek:
► Показать
16437+83458
► Показать
98769124895214869+12124898691498986
► Показать

Сессия 2:
Сколько будет 98769124895214869+12124898691498986
► Показать
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

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

Понятно что интерес представляют именно ее сильные стороны поэтому можно стоить не совсем строгие машины а например с умными операциями. Например попробовать сделать парсер кода такой который раскладывает код на фрагменты по строгим правилам но среди этих правил иногда применять более свободные творческие критерии типа "сравнить два элемента по смыслу"
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

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

То есть нужно просто разделить сущности по уровням сложности - самые сложные сущности и точность которых критически важна - оставить для ручной разработки. Остальное можно генерить автоматом.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

В целом LLM стоит рассматривать как глуповатого сотрудника но способного выполнять большой объем какой-то не сильно интеллектуально сложной работы. То есть автоматизировать генерацию проектов полностью - однозначно ей не по зубам. Но разделить проект на секции которые должен выполнять опытный программист и на секции которые может сгенерить LLM - это вполне рабочая стратегия. То есть как минимум часть работы поручить LLM можно.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

Что еще плохо в LLM. Она обучена на общепринятых штампах. То есть она мыслит в общепринятых понятиях. То есть когда её просишь - распиши план работ для агентов - она расписывает план так как буд-то это будет выполнять отдел из сотни программистов которые будут работать над проектом допустим месяц. И ей никак не удается втемяшить что нужен план для агентов которые должны сгенерировать проект за пять минут. Она не мыслит в таких понятиях потому что таких примеров еще не было в ее обучающих данных.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

Честно говоря LLM раскрывает как это всё делается в больших командах и это выглядит реально мерзко - теперь понятно куда вбухиваются эти большие капиталы при том что на выходе такие мизерные результаты. По сути в больших коллективах вся эффективность съедается трением взаимодействия членов команды между собой. Такая концентрированная эффективность как если проект один разработчик им не знакома.
► Показать
И очень хорошо видно что LLM не может сгенерировать как ей прикажешь - она снова и снова сползает в шаблоны как это делается всеми. А мне именно так и не подходит.
► Показать
Мне не годится как все потому что все набирают команду которой платят по 5000 в месяц каждому рассчитывают на проект в несколько месяцев и получают на выходе смешной выпук который впрочем как-то продается. А мне нужно - я один, делаю за день, получаю шедевр. :) LLM так просто не мыслит потому что никто так не делает. А мне нужно именно так.
► Показать
Да - мы можем. Но придется серьезно пересмотреть подходы.
► Показать
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

https://habr.com/ru/articles/986170/
Подтверждаю, всё таки очень очень сложно добиться от LLM внятной результативности.

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

Грубо говоря это как подходит LLM к станку ЧПУ и рассказывает ему историю вместо того чтобы дать однозначный код который изготовит конкретную деталь. Детали каждый раз получаются разные - в машину это не вставить.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

Возможно я сойдусь на том что мне нужна не генерация кода а просто рефакторинг всего моего написанного за много лет кода так чтобы превратить его из кучи разрозненных экспериментов в структурированную библиотеку решений на базе которой можно быстро собирать новые проекты. И вот провести такой рефакторинг возможно мне поможет LLM
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Итак, как же пользоваться этой чёртовой LLM

Сообщение BDK »

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