ИИ называют искусственным интеллектом, но на самом деле это модель лишь одного из процессов, составляющих интеллект.
Представь себе, что ты быстро взглянул на некоторый узор на дереве, напоминающий морду собаки, и сразу же закрыл глаза. У тебя в мозгу создался некоторый отпечаток. Если тебя спросить, на что похож узор, ты ответишь "на собаку". Потому что глаз не видит, а нейроне помнят. Это называется эмбеддинг.
Дальше ты открыл глаза, и начал по памяти зарисовывать увиденное. Сначала один круг — глаз, потом другой, потом некая загогулина, напоминающая нос. При чем, твое воображение само дорисует детали, которые отсутствовали в исходном узоре. Это называется декодер.
Вот AI моделирует чисто этот процесс: заснапшотивание мельком увиденного фрагмента в эмбеддинг, и поэтапную зарисовку этого дела на выходе.
И когда нейросеть отвечает на твой вопрос, это она как бы мельком взглянула на нечто, напоминающее диалог, который был ну очень знакомым, но вот последний ответ там отсутствовал. И модель, ничего толком не поняв, зарисовала по памяти этот диалог, и ее "воображение" дорисовало ответ токен за токеном.
Всякие вещи типа "стоп, откуда у собаки хрен на лбу" в этот процесс не входят. Моя чуйка говорит, что у кожаных мешков отдельные нейроны как-то отслеживают "обычные" значения входных сигналов, и кидают какой-то нейрохимический эксепшн, если они выходят за рамки.
С точки зрения сознания это проявляется в эмоциях типа удивления, расстерянности и т.п. Это дело как-то меняет проводимость нейронов в зависимости от того, были ли они недавно активны, и ты переключаешься на поиск альтернатив, или расширяешь/сужаешь фокус.
Как это точно работает, никто не знает, и в текущем поколении LLM ничего подобного просто не предусмотрено. Там фиксированные коэффициенты формирования эмбеддингов, и фиксированне коэффициенты по "дорисовыванию" следующего токена.
Некоторого подобия того, что тебе надо, можно добиться, если играться с оборвчиванием промптов. Даешь инструкции, после которых отдельно просишь не выполнять их, а, скажем, дать список противоречий или неясностей.
Если хочешь поиграться, у меня это редактируется через XML-файлы, ну и в следующих версиях будут проверенные в бою темплейты.
В плане ускорения собственной производительности лично мне помогло, когда я задумался, как работает мое собственное мышление при планирования и написания кода. Я сначала разбираюсь в задаче, "загружая" в голову некоторое представление,
мозг это представление как-то крутит и пережевывает, пока не появляется четкая картина, что вот здесь должен быть интерфейс, вот этот кусок должен иметь логарифмическую сложность, а там надо выделить из класса абстрактный родитель, и добавить другую реализацию.
Как только это представление появилось, начинается довольно рутинный процесс написания собственно кода.
Вот ИИ эту рутинную часть конкретно для меня ускорил просто в разы. Достаточно пары ключевых слов и одного-двух уточняющих пинков, и он за секунду выдает код, который я бы писал несколько минут. Но надо иметь в голове четкую модель, как оно должно выглядеть.
Если тебе самому код писать статус не позволяет, ИИ тебе мало чем поможет. Джуна он не заменит, придется вникать в детали. В моем же случае, он автоматизирует самую ненавистную часть работы, и оставляет больше времени на эксперименты и архитектуру.
Re: компании уволившие сотрудников в связи с заменой
Здравствуйте, sergey2b, Вы писали:
S>людей на AI S>начали активно нанимать живых острудников назад
видел результат попыток применения ии агента. остался не удовлетворён
не более чем ещё один чуть более продвинутый вспомогатор
сам собираюсь опробовать в ближайшее время. чисто что бы понять границы возможного.
так что не ссать. никто программистов не заменит
в США начали использовать AI для проведения собеседований
Здравствуйте, Marty, Вы писали:
M>Мне дипсик находит где я накосячил, я ему даже все исходники не кормлю, только один сорец даю
С точки зрения логики, это значит, что ты либо очень крутой спец по использованию ИИ,
либо ты делаешь слишком простые ошибки, которые даже Искусственный Идиот может найти.
Течёт вода Кубань-реки куда велят большевики.
Re[6]: компании уволившие сотрудников в связи с заменой
Здравствуйте, sergey2b, Вы писали:
S>я второй день ищу баг S>как можно использовать AI для поиска бага если у меня несколько милл строк поприарного кода
Во-первых, убедись, что тебя не вздрючат за отправку кода в облако.
Во-вторых, остановись, и задумайся, как ты обычно его ищешь руками. Я ищу как-то так:
* Составляю список вопросов. Типа, что за функция ответственна за XYZ.
* Делаю предположения с "вилками": баг или при сохранении, или при загружке.
* Делаю эксперименты для сужения "вилок".
* Периодически, возникают гипотезы, которые я проверяю через отельные эксперименты.
AI может сильно ускорить поиск релевантного кода и постановку экспериментов. Только задачи надо давать в лоб. Не "найди функцию, пишущую заголовок списка файлов" а "найди все функции с Write() в имени, и среди них дай 5, наиболее похожих на запись заголовка".
Не "разберись, почему в варианте 2 файл в 20 раз больше, чем в варианте 1", а "добавь вот в эти 20 функций логирование размеров записываемых объектов" и потом "сравни 2 лога, найди первое отличие, и предположи, где ставить breakpoint". Т.е. тупую рутинную работу по преобразованию идей в код.
Мой продукт автоматизирует быстрые правки (нужен бесплатный аккаунт Cerebras, если хочешь реально мгновенное редактирование). Умного поиска пока нет, можешь попробовать Claude CLI, но там спокойно будет пара баксов за поиск вылетать.
Здравствуйте, sergey2b, Вы писали:
_>>Update: а что, методом деления пополам бага не находится?
S>Я нашел баг S>но сильно сомневаюсь что AI его осилит так как произошло взаимное влияние нескольких ошибок/неточностей
Мне дипсик находит где я накосячил, я ему даже все исходники не кормлю, только один сорец даю
Развитие нейросетей в последние годы набирает обороты, можно сказать , что произошёл новый технологический прорыв , который изменит всё. Можно долго рассуждать о том, насколько нейросети великолепны, и я с этим согласен , но я хочу сконцентрировать ваше внимание на влиянии нейросетей на молодых специалистов. В руках сформировавшегося специалиста нейросеть — это мощнейший инструмент , который ускоряет работу и увеличивает производительность труда, но начинающий специалист с нейросетью — это обезьяна с гранатой. Хорошо, если человек пользуется нейросетью как продвинутым поисковиком или как самоучителем, но что происходит, когда человек начинает пользоваться нейросетью как другом , который все сделает за него? Приобретаются поверхностные знания, фальшивый опыт и огромное самомнение. Ведь человек начинает считать , что это он сам все сделал, и начинает браться за более сложные и ответственные проекты. А самое печальное , что работодатель зачастую не знает о реальной глубине знаний человека и доверяет ему более ответственные задачи.
Здравствуйте, baxton_ulf, Вы писали:
_>видел результат попыток применения ии агента. остался не удовлетворён _>не более чем ещё один чуть более продвинутый вспомогатор
Это очень крутой вспомогатор, который при правильном использовании автоматизирует огромный пласт рутины.
_>сам собираюсь опробовать в ближайшее время. чисто что бы понять границы возможного.
Потому что не надо ему давать целые таски. AI отлично работает на уровне "примени известный алгоритм X к функции Y, обратабывающей стуктуру Z".
Если это делать на таком микро-уровне, получается код, мало отличимый от написанного руками. И каждый такой шаг занимает всего пару секунд.
Вот пример с конкретными промптами из доков к моему продукту.
Ему нельзя доверять решения. Причем "красиво выглядящий код против работающего" — это тоже решение, и он его часто будет запарывать. Но если научиться дробить задачи до уровня, гле все решения уже приняты человеком, то получается очень удобный инструмент.
Re: компании уволившие сотрудников в связи с заменой
S>начали активно нанимать живых острудников назад
Похоже, задача угодить человекообразным — как минимум такая же тяжёлая по вычислениям, как доставочное пешехождение в городе в потоке человекообразных. (И настолько же безсмысленная). И ещё долго для обеих этих задач будет экономически эффективнее наловить людей, чем создавать специализированных роботов. Приблизительно пока вообще будет нужна передача результатов работы другим человекообразным. Но по мере исключения человекообразных из цепочки производства, от руды до поля битвы — нужда во взаимодействии с ними (с нами) будет стремиться к 0.
Данное сообщение является художественным произведением и освещает вымышленные события в вымышленном мире. Все совпадения с реальностью являются случайными. Не является инвестиционной рекомендацией.
Здравствуйте, sergey2b, Вы писали:
S>я второй день ищу баг S>как можно использовать AI для поиска бага если у меня несколько милл строк поприарного кода
твоя компания (ну или ты сам) должна купить этот ии сервис. у тебя будет какой то id и лимит на количество вызовов.
ну или попробуй бесплатный ДипСик на свою машину поставить. но во первых это может быть против полисей твоей кампании, во вторых у локальной модели мощей может не хватить
Update: а что, методом деления пополам бага не находится?
Здравствуйте, Marty, Вы писали:
M>Здравствуйте, sergey2b, Вы писали:
_>>>Update: а что, методом деления пополам бага не находится?
S>>Я нашел баг S>>но сильно сомневаюсь что AI его осилит так как произошло взаимное влияние нескольких ошибок/неточностей
M>Мне дипсик находит где я накосячил, я ему даже все исходники не кормлю, только один сорец даю
Так давно существуют разные анализаторы кода и встраивать туда ии — очевидное и правильное применение
Re[4]: компании уволившие сотрудников в связи с заменой
Здравствуйте, flаt, Вы писали:
F>Я бы быстрее* код написал, чем выписывать всё это сначала для модели, а потом ещё и проверять за ней, не выдало ли дурь какую. А уж если проверять все 4 модели, как в статье — тогда вообще времени уйдёт вагон.
Ну, 4 модели я привел, скорее, ради любопытства. На практике, обычно, понятно, какая модель с чем справится.
F>Но если человек умеет писать код, то зачем ему промежуточное звено в виде модели, которая норовит выдать дичь, что приходится постоянно быть в недоверии и перепроверять? К джуну-то со временем доверие растёт, по мере накопления опыта у оного. Не говоря уже о том, чтобы самому писать код.
Конкретно меня, работа с ИИ гораздо менее отвлекает. Допустим, у меня в голове есть общий план архитектуры, какие-то высокоуровневые вещи, и тут бац, надо сделать какую-то низкоуровневую вещь типа разобрать строку в некотором формате, и дать ее на вход в распарсенном виде какому-нибудь готовому компоненту. Руками это делать жутко отвлекает: пока загружу голову, чему должно равняться i и start в каждом из 10 случаев, вылетет из головы половина общей архитектуры.
С ИИ можно дать ему общее описание, и прошагать в отладчике пару критических случаев, не вникая совсем в низкий уровень. Общую сложность алгоритма обычно видно из количества циклов, а i вместо i+1 ловится при первом же прогоне на реальных данных. В итоге, получается как-то менее напряжно, что ли.
Re: в США начали использовать AI для проведения собеседований
х.з. если честно. смотреть в камеру — по моему дурь. я бы послал на х.
я никогда не требую такого на интервью. всегда можно задать доп вопросы и всё понять
Re[3]: компании уволившие сотрудников в связи с заменой
B>Вот пример с конкретными промптами из доков к моему продукту. B>Ему нельзя доверять решения. Причем "красиво выглядящий код против работающего" — это тоже решение, и он его часто будет запарывать. Но если научиться дробить задачи до уровня, гле все решения уже приняты человеком, то получается очень удобный инструмент.
с твоей страницы:
So, it makes a few not-so-useful guesses
я своих джуниуров всегда учу: никогда не пытаться угадывать. спроси, будет быстрее и надёжней
надеюсь ии это умеет если ему в промпте прямо написать "не знаешь, спроси меня"
Re[4]: компании уволившие сотрудников в связи с заменой
Здравствуйте, baxton_ulf, Вы писали:
_>я своих джуниуров всегда учу: никогда не пытаться угадывать. спроси, будет быстрее и надёжней _>надеюсь ии это умеет если ему в промпте прямо написать "не знаешь, спроси меня"
Ага, у меня есть прикольная фича — planning mode. Это когда ты тыкаешь в код, даешь промпт из двух-трех слов, и модель через несколько секунд дает тебе на выбор 3 варианта, что же ты мог иметь в виду.
Ты в два щелчка выбираешь нужный, редактируешь, если надо, и отправляешь его на выполнение.
Если приноровиться, сильно экономит время. Можно писать всякие +icomparable via size, then name, и модель из этого с полпинка напишет работающее сравнение.
Я хочу сделать подобное для ревью — тыкаешь в конкретный кусок не понравившегося кода, модель тебе дает на выбор варианты, что там может быть не так, ты выбираешь и получаешь правку. Т.е. решения принимаешь ты, а ногами бегает модель.
Здравствуйте, bazis1, Вы писали:
B>Я хочу сделать подобное для ревью — тыкаешь в конкретный кусок не понравившегося кода, модель тебе дает на выбор варианты, что там может быть не так, ты выбираешь и получаешь правку. Т.е. решения принимаешь ты, а ногами бегает модель.
я второй день ищу баг
как можно использовать AI для поиска бага если у меня несколько милл строк поприарного кода
Сегодня спросил у гугла, как закинуть файл (который на беке обрабатывается "AI"). Гугл нагаллюцинировал правдоподобное решение, которое однако не работало и не могло работать. Т.е. да, LLM полезен в меру, но нужно знать пределы его возможностей и не ожидать "абсолютно логичного существа", которое бы работало по принципу теории игр, скорее это как тяжелый случай шизофрении или кислотного трипа.
Re[7]: компании уволившие сотрудников в связи с заменой
Здравствуйте, Артём, Вы писали:
Аё>Сегодня спросил у гугла, как закинуть файл (который на беке обрабатывается "AI"). Гугл нагаллюцинировал правдоподобное решение, которое однако не работало и не могло работать. Т.е. да, LLM полезен в меру, но нужно знать пределы его возможностей и не ожидать "абсолютно логичного существа", которое бы работало по принципу теории игр, скорее это как тяжелый случай шизофрении или кислотного трипа.
Ну так ты неправильно бутерброд ешь
Надо просить не "придумать решение" а найти его в интернете (онлайн) и применить.
Не надо заставлять LLM выдавать то, чего она тупо не знает. Гораздо продуктивнее дать ей задачу и дать инструменты для решения.
Я, если вижу, что задача сложная, прямо так и говорю — сначала поищи инфу онлайн что известно по этому поводу, потом делай.
Само собой у LLM должна быть возможность компилировать (видеть сообщения компилятора) или отлаживать (видеть консоль) то что она пишет.
B>Вот пример с конкретными промптами из доков к моему продукту.
Create nested classes TokenWrapper and LineWrapper with int Number and List<> Tokens.
TokenWrapper should privately wrap original token, have public string Value and nested enum DiffState{Normal, Added, Removed} State.
DumpTokens() should first build a list of wrapped lines, then dump them all.
Я бы быстрее* код написал, чем выписывать всё это сначала для модели, а потом ещё и проверять за ней, не выдало ли дурь какую. А уж если проверять все 4 модели, как в статье — тогда вообще времени уйдёт вагон.
Возможно, в многословных ЯП (C#, Java) что-то и экономится — ну так есть Решарпер, который точно так же сэкономит время по всяким приседаниям перед ООП. Но в обычных системных языках я, честно, не вижу преимуществ в написании промптов вместо писать самому код.
* Ок, проверил с секундомером — 1мин 34сек у меня ушло на написание кода по данному описанию.
С другой стороны, я попробовал просто перепечатать этот промпт и у меня ушло 1мин 08сек на это. А если самому придумывать, то может уйти гораздо больше времени — и вот мы возвращаемся к тому, в каком месте и что мы экономим?
Я вижу только один кейс: писать код мы не хотим уже, либо вообще не умеем — тогда да, словами описываем то, что хотим получить, а всякие консервные банки за деньги будут писать код. И если раньше можно было нанять джуна за $200/мес, который писал бы код за вас, то сейчас за эти деньги пишут код эти ваши модели. $200 — это подписка в какой-то умной модели (не вспомню сейчас, в какой именно), а так-то есть и за $15-25/мес. И снова соглашусь, что за $15 джуна уже не найти, поэтому модель дешевле человека.
Но если человек умеет писать код, то зачем ему промежуточное звено в виде модели, которая норовит выдать дичь, что приходится постоянно быть в недоверии и перепроверять? К джуну-то со временем доверие растёт, по мере накопления опыта у оного. Не говоря уже о том, чтобы самому писать код.
Re[8]: компании уволившие сотрудников в связи с заменой
Здравствуйте, bnk, Вы писали:
Аё>>Сегодня спросил у гугла, как закинуть файл
bnk>Ну так ты неправильно бутерброд ешь bnk>Надо просить не "придумать решение" а найти его в интернете (онлайн) и применить.
Я не просил ничего придумать, а гуглил. До последнего раунда изговнения "ai", гугл таки находил ссылки на SO и подобное.
bnk>Не надо заставлять LLM выдавать то, чего она тупо не знает. bnk>Само собой у LLM должна быть возможность компилировать (видеть сообщения компилятора) или отлаживать (видеть консоль) то что она пишет.
Да да. Cursor ага. Бесконечный цикл генерации бреда, потом "извини мастер, палкой не бей" и повторяющийся бред.
Re[2]: компании уволившие сотрудников в связи с заменой
Здравствуйте, baxton_ulf, Вы писали:
_>Здравствуйте, sergey2b, Вы писали:
S>>людей на AI S>>начали активно нанимать живых острудников назад
играюсь с AI ассистентом уже неделю. определённо он избавляет от некоторых рутинных задач. например: обновить документацию по коду
может выделить общий функционал большого количества кода в отдельный метод. генерирует юнит-тесты, причём подсматривает в уже существующие и пишет подобные но с кодом и тестами надо очень внимательно ревью делать. косячит
так что пока я его запромоутил до "старательный, но туповатый джун"