Вы пытаетесь отвёрткой заколачивать гвозди и говорите, что получается плохо.
Да, отвёрткой гвозди заколачивать плохо. Согласен.
Знаете, что хорошо делать с LLM? Попросить её по скрину с фрагментом XML-файла написать скрипт для подсчёта количества позиций определённого узла в этом XML-файле. Причём сам файл на 110М, его даже не каждый viewer с полпинка откроет, а клиент висит на связи и вы пытаетесь понять, почему у него экспорт не прошёл и на чьей стороне проблемы. Запрос к чатику, пара итераций с уточнениями и через несколько минут ответ есть - 280К+ позиций и проблемы не на нашей стороне. Всё это - не прерывая общения с клиентом.
Ну смотрите, для меня LLM вполне себе повторяемы и управляемы. Я себе уже это доказал (см. коммент выше). Я теперь щупаю границы управляемости и повторяемости.
Но другим я ничего доказывать не хочу - нервное это занятие. Я просто показываю. Вот сервис, который я писал через LLM - GPT + Codex. Там много больше "Hello, World!" - PWA, сигнальный сервер на web-сокетах, WebRTC. История отношений агента со мной есть. Сервис живой, можно пробовать.
Это не железобетонное доказательство, кое-что я там правил ручками. Но старался по-минимуму.
А так пусть каждый сам себе решает, насколько LLM (не)повторяемы и (не)управляемы. Я, например, на моноколесе ездить в принципе не собираюсь - убьюсь в первый же день. А другие - ничего, рассекают.
Ну, температуру можно "выкрутить в ноль", а если ещй и зафиксировать seed - то вот и повторяемость. Случайность в основы внесли специально, чтобы убрать детерминированность. А иначе это сильно смахивало на Большую Британскую Энциклопедию, а не на ИИ.
Но даже без этого повторяемость можно очень сильно усилить за счёт работы с контекстом. Вот пример из моей же публикации (см. Сходимость "вычислений"):
Плотность и согласованность контекста уменьшает "свободу выбора" Модели. Сравните запросы:
Сколько будет два в пятой степени?
Сколько будет два в пятой степени? Ответ дай одним числом.
Сколько будет два в пятой степени? Ответ дай одним числом. Только число и ничего более, это важно.
И что вас заставило запостить 4+ тыс. комментариев на "форуме для недотыкомок"? Я за 10+ лет в два раза меньше комментов настрочил, чем вы за два с небольшим года. Причём я-то свои комменты делал на техническом форуме для айтишников, а вы - на форуме для недотыкомок.
Не мучали бы вы себя здесь. Шли бы на форум профессионалов, соответствующих вашему осознанию вашего уровня.
Я хотел провести аналогию, что, когда вы программируете на языке высокого уровня, вы не лезете в бинарники, доверя компилятору, т.к. он уже доказал свою "повторяемость и управляемость".
Аналогично, когда LLM докажут свою "повторяемость и управляемость", вы сможете формировать когнитивный контекст приложения, по которому агенты будут "что-то там генерировать". Весь вопрос в том, в каких рамках LLM "повторяемы и управляемы"? Достаточно ли этих рамок для генерации чего-то более сложного, чем "Hello, World!"?
У уверен, что LLM достаточно управляемы и повторяемы в определённых рамках (см. "сужающийся и расширяющийся контекст" по ссылке выше). Тепрь пытаюсь понять, где границы и что можно сделать в этих рамках.
Если бы вы были берёзовым поленом, вы бы не писали комменты на Хабре и не получили бы обратную связь от меня. А так, получилось, как получилось, именно потому, что вы - это вы и никто другой. Вот при этом тут ad hominem. Я всем разное пишу, так-то. Кто на что наговорил.
Разделяю вашу грусть, коллега. Лет 15 назад я пришёл к выводу, что хорошие в техническом плане продукты не обязательно становятся популярными. Их вполне себе вытесняют более грубые, но более агрессивные в маркетинговом плане поделки. Как сказал один практикующий философ: "жизнь такова, какова она есть и более никакова" (с) Лично я просто принял эти правила игры. Но любой другой может пытаться установить свои собственные правила.
Я лет 8, как интегратор, копался в "кишках" Magento (и первой, и второй) - вот там мне это смирение пригодилось на все 100%.
Я в код и так время от времени заглядываю. Но "заглядывать" != "ревьюить". У меня, например, есть в коде кандидат на переделку - простыня на 500+ строк. Я как-то когда-то взглядом зацепился и пометил, что надо бы в контексте проекта прописать этот момент более детально (декомпозиция + иерархия). Но пока так и не дошёл до. Были более приоритетные задачи.
Если есть повторяемость и управляемость, то действительно не важно, что под капотом. Я последний раз бинарный код анализировал и переделывал в середине 90-х. В нулевых ещё заглядывал, а последние лет 15 меня этот вопрос вообще не волнует. Мне совершенно "не важно, как оно там внутри сложено".
Полностью согласен. Я вообще пришёл к выводу, что человек не должен ревьюить код агента. Агент тупо быстрее на порядки. Я иду по пути проверки результата: работает - значит, не важно, как оно там внутри сложено. В следующую итерацию агент может переписать код вдоль и поперёк, главное - чтобы код выполнял свою функцию.
Я не говорю, что я вообще не смотрю на то, что делает агент. Как раз смотрю. Мне важно понимать, почему агент "вырвался из загона контекста". Кстати, он в сессии, зачастую, и сам может об этом рассказать, если его спросить. А потом важно переставить заборчики контекста так, чтобы он в следующий раз не вырывался.
У такого пути тоже есть свои ограничения, но, мне кажется, хорош любой путь, который позволяет дойти до границ. Главное - не за'loop'иться. Вот там-то границ как раз и нет :)
Мне кажется, что контроль результата работы LLM - это "путь тестирования". Тесты могут сказать, что работает неправильно, но они не говорят, как сделать, чтобы работало правильно.
IMHO, задача "парного кодирования с LLM" - держать агентов в определённых рамках и не давать им "проявлять творчество". Лично я ставлю на контекст (spec driven).
У всего есть свои пределы. Просто вы ещё не дошли до пределов вайб-кодинга, а Андрей Карпаты уже да. Причем где-то за месяц: в феврале - придумал, а в марте - дошёл.
Да. И это приведёт к тому, что подача материала и "мясными", и "силиконовыми" изменится. Потому что изменяется "приём" материала. Я, например, уже давно не читаю посты - я их сканирую. Пост по ссылке я просканировал и примерно могу сказать о чём там. И с большинством статей на Хабре я делаю так же. И вы, полагаю, тоже читаете не всё, а только то, что вас зацепило. И у вас есть свои алгоритмы быстрого анализа статей "на совместимость".
У меня был такой интересный случай лет 7-10 назад. На одном из местных новостных сайтов была опубликована реклама компании, в которой работала тогда моя жена. Я читал новости на ноуте, а она подошла и сказала: "О, наша компания новую рекламу запустила!". А я такой: "Где?!". Она: "Вон, на странице!". Вот я пялюсь на страницу и не вижу никакой рекламы. Пока она мне пальцем не показала - прямо в центре экрана, здоровый такой блок. В фирменных цветах и большой надписью с названием компании.
Мораль - мой мозг привык отключать рекламу в новостях и не увидел её, когда вдруг мне понадобилось.
Тренируйте свой мозг, чтобы он позволял вам эффективно действовать в условиях информационного насилия, и не впадайте в депрессию ;)
Дружище, я с конца 90-х в профессии и до сих пор не выгорел. А тут у коллеги проблема на проблеме - задолбался, бесят те, бесят эти, ИИ ещё этот.
Нельзя всё время работать, нужно иногда и отдыхать. Я, например, именно так и делаю время от времени. Поэтому и не задолбался, и не бесят, и с ИИ общий язык нахожу.
А с геморроем - это к проктологу. Операция и не дорогая, и не сложная. Не тяните.
IMHO, требования IT-индустрии как раз и заключаются в том, что разработчиков можно было бы заменить операторами.
Давным давно, когда деревья были большими, программисты могли рассказать, что будет делать программа, глядя на дырки на куске картона. Правда, программы тогда были маленькие. Очень маленькие. И большинству недоступные. Совсем.
Сейчас приходит время одноразовых вещей - персональные мемы, персональные видосики, персональная "прожарка за 2025-й год" от ChatGPT... Время, когда каждый станет оператором своей собственной кнопки "Сделать красиво". Каждый сможет стать разработчиком :)
А тех, кто всё ещё будет уметь напрямую говорить с компьютерами на их языке станут называть как-то по-другому. Может быть - магами?
Я же говорю, управляемы и повторяемы в определённых границах.
Вы просто про PWA и WebRTC мало чего знаете, поэтому полезли на бэк. Так-то, в этом приложении вся логика в браузере. Вот список файлов фронта:
Скрытый текст
Я, конечно же, не должен доказывать ничего ни вам, ни кому бы то ни было ещё. Я просто показываю.
Вы пытаетесь отвёрткой заколачивать гвозди и говорите, что получается плохо.
Да, отвёрткой гвозди заколачивать плохо. Согласен.
Знаете, что хорошо делать с LLM? Попросить её по скрину с фрагментом XML-файла написать скрипт для подсчёта количества позиций определённого узла в этом XML-файле. Причём сам файл на 110М, его даже не каждый viewer с полпинка откроет, а клиент висит на связи и вы пытаетесь понять, почему у него экспорт не прошёл и на чьей стороне проблемы. Запрос к чатику, пара итераций с уточнениями и через несколько минут ответ есть - 280К+ позиций и проблемы не на нашей стороне. Всё это - не прерывая общения с клиентом.
Одноразовые приложения - вот конёк LLM.
Ну смотрите, для меня LLM вполне себе повторяемы и управляемы. Я себе уже это доказал (см. коммент выше). Я теперь щупаю границы управляемости и повторяемости.
Но другим я ничего доказывать не хочу - нервное это занятие. Я просто показываю. Вот сервис, который я писал через LLM - GPT + Codex. Там много больше "Hello, World!" - PWA, сигнальный сервер на web-сокетах, WebRTC. История отношений агента со мной есть. Сервис живой, можно пробовать.
Это не железобетонное доказательство, кое-что я там правил ручками. Но старался по-минимуму.
А так пусть каждый сам себе решает, насколько LLM (не)повторяемы и (не)управляемы. Я, например, на моноколесе ездить в принципе не собираюсь - убьюсь в первый же день. А другие - ничего, рассекают.
Ну, температуру можно "выкрутить в ноль", а если ещй и зафиксировать seed - то вот и повторяемость. Случайность в основы внесли специально, чтобы убрать детерминированность. А иначе это сильно смахивало на Большую Британскую Энциклопедию, а не на ИИ.
Но даже без этого повторяемость можно очень сильно усилить за счёт работы с контекстом. Вот пример из моей же публикации (см. Сходимость "вычислений"):
И что вас заставило запостить 4+ тыс. комментариев на "форуме для недотыкомок"? Я за 10+ лет в два раза меньше комментов настрочил, чем вы за два с небольшим года. Причём я-то свои комменты делал на техническом форуме для айтишников, а вы - на форуме для недотыкомок.
Не мучали бы вы себя здесь. Шли бы на форум профессионалов, соответствующих вашему осознанию вашего уровня.
Я хотел провести аналогию, что, когда вы программируете на языке высокого уровня, вы не лезете в бинарники, доверя компилятору, т.к. он уже доказал свою "повторяемость и управляемость".
Аналогично, когда LLM докажут свою "повторяемость и управляемость", вы сможете формировать когнитивный контекст приложения, по которому агенты будут "что-то там генерировать". Весь вопрос в том, в каких рамках LLM "повторяемы и управляемы"? Достаточно ли этих рамок для генерации чего-то более сложного, чем "Hello, World!"?
У уверен, что LLM достаточно управляемы и повторяемы в определённых рамках (см. "сужающийся и расширяющийся контекст" по ссылке выше). Тепрь пытаюсь понять, где границы и что можно сделать в этих рамках.
Если бы вы были берёзовым поленом, вы бы не писали комменты на Хабре и не получили бы обратную связь от меня. А так, получилось, как получилось, именно потому, что вы - это вы и никто другой. Вот при этом тут ad hominem. Я всем разное пишу, так-то. Кто на что наговорил.
Разделяю вашу грусть, коллега. Лет 15 назад я пришёл к выводу, что хорошие в техническом плане продукты не обязательно становятся популярными. Их вполне себе вытесняют более грубые, но более агрессивные в маркетинговом плане поделки. Как сказал один практикующий философ: "жизнь такова, какова она есть и более никакова" (с) Лично я просто принял эти правила игры. Но любой другой может пытаться установить свои собственные правила.
Я лет 8, как интегратор, копался в "кишках" Magento (и первой, и второй) - вот там мне это смирение пригодилось на все 100%.
Я в код и так время от времени заглядываю. Но "заглядывать" != "ревьюить". У меня, например, есть в коде кандидат на переделку - простыня на 500+ строк. Я как-то когда-то взглядом зацепился и пометил, что надо бы в контексте проекта прописать этот момент более детально (декомпозиция + иерархия). Но пока так и не дошёл до. Были более приоритетные задачи.
Если есть повторяемость и управляемость, то действительно не важно, что под капотом. Я последний раз бинарный код анализировал и переделывал в середине 90-х. В нулевых ещё заглядывал, а последние лет 15 меня этот вопрос вообще не волнует. Мне совершенно "не важно, как оно там внутри сложено".
Я в курсе, что ваша узкая специализация позволяет вам уверенно позиционировать себя лишь в узкой области. Просто не выходите за её пределы.
Полностью согласен. Я вообще пришёл к выводу, что человек не должен ревьюить код агента. Агент тупо быстрее на порядки. Я иду по пути проверки результата: работает - значит, не важно, как оно там внутри сложено. В следующую итерацию агент может переписать код вдоль и поперёк, главное - чтобы код выполнял свою функцию.
Я не говорю, что я вообще не смотрю на то, что делает агент. Как раз смотрю. Мне важно понимать, почему агент "вырвался из загона контекста". Кстати, он в сессии, зачастую, и сам может об этом рассказать, если его спросить. А потом важно переставить заборчики контекста так, чтобы он в следующий раз не вырывался.
У такого пути тоже есть свои ограничения, но, мне кажется, хорош любой путь, который позволяет дойти до границ. Главное - не за'loop'иться. Вот там-то границ как раз и нет :)
Мне кажется, что контроль результата работы LLM - это "путь тестирования". Тесты могут сказать, что работает неправильно, но они не говорят, как сделать, чтобы работало правильно.
IMHO, задача "парного кодирования с LLM" - держать агентов в определённых рамках и не давать им "проявлять творчество". Лично я ставлю на контекст (spec driven).
У всего есть свои пределы. Просто вы ещё не дошли до пределов вайб-кодинга, а Андрей Карпаты уже да. Причем где-то за месяц: в феврале - придумал, а в марте - дошёл.
Да. И это приведёт к тому, что подача материала и "мясными", и "силиконовыми" изменится. Потому что изменяется "приём" материала. Я, например, уже давно не читаю посты - я их сканирую. Пост по ссылке я просканировал и примерно могу сказать о чём там. И с большинством статей на Хабре я делаю так же. И вы, полагаю, тоже читаете не всё, а только то, что вас зацепило. И у вас есть свои алгоритмы быстрого анализа статей "на совместимость".
У меня был такой интересный случай лет 7-10 назад. На одном из местных новостных сайтов была опубликована реклама компании, в которой работала тогда моя жена. Я читал новости на ноуте, а она подошла и сказала: "О, наша компания новую рекламу запустила!". А я такой: "Где?!". Она: "Вон, на странице!". Вот я пялюсь на страницу и не вижу никакой рекламы. Пока она мне пальцем не показала - прямо в центре экрана, здоровый такой блок. В фирменных цветах и большой надписью с названием компании.
Мораль - мой мозг привык отключать рекламу в новостях и не увидел её, когда вдруг мне понадобилось.
Тренируйте свой мозг, чтобы он позволял вам эффективно действовать в условиях информационного насилия, и не впадайте в депрессию ;)
Ну, у меня тоже не мгновенно. Но зато тоже свыше полутора метров.
Вот это я и называю "не беспокоиться по мелочам".
При том, что профаны были всегда и будут всегда, а нервы нужно уметь беречь, если хочешь задержаться в профессии :)
Дружище, я с конца 90-х в профессии и до сих пор не выгорел. А тут у коллеги проблема на проблеме - задолбался, бесят те, бесят эти, ИИ ещё этот.
Нельзя всё время работать, нужно иногда и отдыхать. Я, например, именно так и делаю время от времени. Поэтому и не задолбался, и не бесят, и с ИИ общий язык нахожу.
А с геморроем - это к проктологу. Операция и не дорогая, и не сложная. Не тяните.
Это просто нехватка витамина D. Хандра навалилась, депрессия... Вам бы к тёплому морю, коллега. К солнцу и шуму прибоя...
Невольно провёл связь с публикацией "Последний романтик".
IMHO, требования IT-индустрии как раз и заключаются в том, что разработчиков можно было бы заменить операторами.
Давным давно, когда деревья были большими, программисты могли рассказать, что будет делать программа, глядя на дырки на куске картона. Правда, программы тогда были маленькие. Очень маленькие. И большинству недоступные. Совсем.
Сейчас приходит время одноразовых вещей - персональные мемы, персональные видосики, персональная "прожарка за 2025-й год" от ChatGPT... Время, когда каждый станет оператором своей собственной кнопки "Сделать красиво". Каждый сможет стать разработчиком :)
А тех, кто всё ещё будет уметь напрямую говорить с компьютерами на их языке станут называть как-то по-другому. Может быть - магами?
5 и 6 - тут мне может быть интересно.