Pull to refresh

Comments 31

PinnedPinned comments

Ai brain fry

Лично меня раздражает

  1. Непредсказуемость сроков завершения. Актуально когда сроки задачи жёсткие

  2. One way ticket. Я знаю что настанет предел итераций когда LLM "протухнет и завоняет", правки через LLM станут сложнее чем вручную, что в свою очередь сложнее чем если бы я начал задачу вручную. И тогда понимаешь что купил билет в один конец: обратной дороги нет, начинай с нуля вручную

Ai brain fry

Лично меня раздражает

  1. Непредсказуемость сроков завершения. Актуально когда сроки задачи жёсткие

  2. One way ticket. Я знаю что настанет предел итераций когда LLM "протухнет и завоняет", правки через LLM станут сложнее чем вручную, что в свою очередь сложнее чем если бы я начал задачу вручную. И тогда понимаешь что купил билет в один конец: обратной дороги нет, начинай с нуля вручную

правки через LLM станут сложнее чем вручную

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

Могу сформулировать жестко и кратко:
LLM предаст тебя в любой момент

так и есть, первое что меня поразило в момент знакомства с LLM... так это непредсказуемость получаемого результата. Естественно, я сначала подумал, что это я что-то делаю не так, промпт надо точнее писать и вот это все. Но нет, что может быть не так во фразе "open eyes", но глаза, увы, оставались закрытыми.

Но оказалось, что это у всех так. Или почти у всех.

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

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

Вспоминается анекдот про сову-стратега: «мыши, станьте ёжиками» :-)

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

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

А что мы имеем сейчас? Нам рассказывают про перцептроны, разложение слов на токены (почему-то не на слоги, не на корни\суфиксы\префиксы и т.д., а на токены - ну, ок), перемножение многомерных матриц - тут как бы пока все хорошо. Затем механизм внимания - ...ну, ок(С). Ля-ля.. обучение, скармливаем информацию из всего инета, все-все книги, все тексты газет за все годы и проч. и проч.

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

Ну ладно, "все-все тексты и не хватает"(С) спишем на максимализм фирм-разработчиков. OpenAI хочет опередить Anthropic и наоборот - предположим. Но!

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

И что делать инженеру глядя на шестипалых в такой ситуации?

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

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

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

P.S.

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

Но кто-нибудь, объясните мне, как после обучения на массиве всех-всех текстов в мире, на сколько там триллионов параметров... в итоге современная нам LLM может нарисовать руку с шестью пальцами? Лицо с тремя глазами? 

Потому что вместо LLM нужно брать современную диффузную нейросетку и схему автокоррекции по распознаванию руки/лица.

современная нам LLM может нарисовать руку с шестью пальцами? Лицо с тремя глазами? 

Точно не диффузная модель? Это они такое любят, особенно ранние типа StableDiffusion 1.5

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

Тоже постоянно об этом думаю. Моя мысль в том, что текст ≠ реальный мир. Чтобы написать текст, человек проделывает огромную работу со своими мыслями, но чтобы понять этот текст, другой человек опирается на свой опыт, который он получает в реальности. Можно что-то прочитать, ходить, ходить, пока не дойдет: «Ааа, вот как это на самом деле», а еще можно прочитать что-то и сказать: «Ну тут бред написан, не бывает такого». У ИИ нет реальности, на которую он опирается и нет акта понимания.

Известен эксперимент с собакой (опыт Шенгер-Крестовниковой), где её приучали к одной системе стимулов, а затем эту систему ломали. Собака в итоге ехала крышей.

Так вот, я желаю нам всем не сдохнуть на этом витке эволюции

готовлюсь изо всех сил — играю в покер и в dicechess (шахматы с кубиками) 😅😂. Приучаю себя к неопределённости вероятности

Не, не, не. Дело не в промпте. Дело в том, что вы играли с нейронкой в шахматы, когда на самом деле с ней надо играть в го.

Прямая атака к успеху не приводит. К успеху приводят очерченные границы, инструменты, подсказывающие простые пути, лёгкие корректоры поведения...

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

С агента надо не цель требовать. Ему надо выстроить аттрактор, чтобы он сам сделал хорошо.

Всё так. Но только если вы в заказной разработке и под давлением темпов и сроков, вам может не хватит времени на построение такого долгого такта игры.

Если у вас жёсткие строки, НЕ используйте LLM

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

А если сроки установили те, кто верят, что с LLM можно всё тоже но в X раз быстрее? Ведь другие же справились быстрее?

Другие просто вовремя сбежали, пока проблемы не появились

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

это непредсказуемость получаемого результата

В этом и проблема LLM.

LLM - это, по сути, такой же автокомплит (по принципу работы). Что на вход дашь, то на выходе и будет что-то.

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

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

Честно говоря я плохо понимаю откуда у вас всех у настоящих программистов такие объёмы работы. Вас что, майкрософт ворд за 2 недели втроём заставляют переписать? В тех конторах где я работал от 10 разрабов 2 недели ждёшь чтобы в форму кнопку добавили они всё чёто согласуют да перепроверяют а у вас код мегабайтами в час генерится...

В тех конторах где я работал от 10 разрабов 2 недели ждёшь чтобы в форму кнопку добавили они всё чёто согласуют да перепроверяют а у вас код мегабайтами в час генерится...

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

Дак LLM и не “думают”. Они продолжают мысль человека, не более.

Причина, из-за которой разбиваются все мечты о ИИ: Общение с LLM = ОДИН запрос по HTTP ввиде чистого ТЕКСТА со всем контекстом, который потом нарезается на токены!

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

Не… пока это псевдо-ИИ сможет получить доступ к AST без HTTP…

Вроде как RAG для кода показал себя неэфективным... Но это не точно.

Знакомая боль.
Когда я запросил Антропик проанализировать все сессии проектов и выдать рекомендации,
он пожаловался, что 60% моего общения - это матерные frustrations. :)
У меня локальный ASR и все "факи" передаются без авто-коррекции.

За полтора года плотной работы с ИИ, появилась определенная "гигиена".
Например:
- собираемый контекст и факты/выводы, которые делает модель в ходе общения, сейчас черный ящик.
Было бы удобно в рамках каждой сессии видеть набор ключевых фактов, на основании которых модель принимает решения.
- Specification-driven design and development - чем детальнее инструкции, тем более предсказуемый результат.
- отслеживание Specification Drift.
Дополнительный агент должен следить, чтобы исполнителя спецификации не понесло.

Коллеги по не легкому пути (освоение нового направления), почему мы считаем, что работа через агентов - это что-то что радикально отличающиеся от работы с обычными людьми?

Если мы не умеем ставить задачи человеку - разве не получим рандом решение?

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

Если мы не умеем сохранять контекст решения - разве не нужно объяснять новому коллеге нюансы решений и реализаций?

Если мы не знаем как и что должно быть - мы потом не переделываем?

Если нет времени на нормальное решение и проработку - разве мы сами не создадим тех долг?

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

Почему мы не начинаем с себя?

Почему мы отказываемся понимать то, что агент - это инструмент?

Разве инструмент не требует обучения/понимания?

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

Почему мы не видим, что этот новый инструмент помогает тем кто и так знает и ломает тех кто даже не понимают, что не понимает?

Почему мы не видим то, что это рычаг - как в положительном так в отрицательном смысле?

я приведу пример

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

Мы как люди которые умеют водить понимаем, что это невозможно - ехать со скорость 300 км/ч.

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

«на треке и мы профессионалы»

Агент - это машина которая может ехать со скорость 500км/ч

Агенту для эффективной работы - нужны условия (трек)

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

Я не умею ездить на машинах со скоростью 300 км/ч. Я не страдаю от этого. Я не буду ездить на машина со скоростью 300км/ч. Машина не виновата в том, что я не умею водить.

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

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

Да, с этими ИИшками чувствуешь себя как подавившийся Зорг

Мне кажется, что абсолютно все такие статьи пишутся людьми, которые сами ежедневно руками кодят, и все претензии можно свести к формуле "я пишу лучше, чем coding agent". С этой точки зрения всё понятно: есть вариант написать самому хорошо, либо, вероятно, с помощью агента побыстрее, но результат будет во всех отношениях хуже.

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

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

И ведь ничего концептуально нового тут нет: спецификации, code review, тестирование, метрики. Многое из этого мы не делали не потому, что мы не верим в подход, а потому что банально не хватает сил. Я доверяю Васе, шут с ним, с code review, Вася дичи не напишет. Если Петя сказал, что протестировал, не буду требовать автотестов в репозитории, чего уж там. А теперь это всё нагенерировать не очень обременительно, так что почему бы и нет.

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

AI-агент - это junior-разработчик, junior-дизайнер, junior-допишите_сами_роль.

Несколько AI-агентов - уже несколько junior'ов у вас в подчинении.

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

В процессе отладки мучаешься с промптами, пока однажды не осознаешь, что 100500 раз отправляешь один и тот же шаблон (системны промпт: "ты - младший помощник старшего сантехника ..." + "тех.документация по колодцу водоснабжения и задвижкам" + твой промпт:"проверь задвижку по холодной воде") в пустую голову агента (stateless же). А агент, в силу своей вероятностной природы, даже с подкрученными temperature/seed/top'ами всякими и т.д. выберет другой удобный токен. Как говорится "как карта (GPU) ляжет в текущей фазе Меркурия розетки". И вернется с тебе агент с описанием задвижки, её марки и предложит найти такую же на озоне. Как говорится, послал молодого задвижку проверить. И не придерешься, проверил же. Что просил то и получил. Выписываешь молодому люлей обратную связь.

А когда осознаешь что тебе надо, чтобы твои junior'ы учились от запуска к запуску, то в обратную связь им пишешь: "найди задвижку синего цвета, верни % открытия штока, сделай фотографию, отправь фото на анализ другому балбесу". Так потихоньку или городишь агентам свой RAG и следишь за его наполнением, или срисовываешь HermesAgent (почти тоже самое, вид сбоку), или поступаешь как chat[.]qwen[.]com. Их инженеры в настройках пользователя в персонализации добавили Memory, который заполняется краткими результатами разных сессий с модельками типа "Начальник не любит громкого смеха". Если кратко, то после первого погружения в колодец агент запишет в память именно твою обратную связь: "там темно - возьми фонарь, фотоаппарат, рулетку". И в следующий запуск шаблон будет побольше, особенно в разделе тех.документации.

Итеративная инженерная задача, на измор ))

Перфекционист, которому надо задачу решить и сразу на 5-ку кричит матом, а подход другой - сделай на 3-ку -> обратная связь -> доведем до 4-ки, потом до 4+. Везде human-инзалуп.

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

Sign up to leave a comment.

Articles