Обновить

Усталость от напарника-машины. Изнанка работы с ИИ-код-агентами

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели10K
Всего голосов 27: ↑27 и ↓0+32
Комментарии24

Комментарии 24

ЗакрепленныеЗакреплённые комментарии

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.

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

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

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

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

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

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

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

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

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

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

А если сроки установили те, кто верят, что с 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км/ч. Машина не виновата в том, что я не умею водить.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации