Ну и выражение «индийский код» тоже давно существует.
Точнее «индусский», индийский - это код с песнями и танцами. Кстати интересное дело, обучили модели на индусском коде, а ожидают генерацию чистого и понятного.
порог вхождения в поддержку такого софта существенно снижается.
Основной порог там не в собственно самом софте, а в знании производственных процессов которыми он рулит и того как ими надо [бы] рулить правильно. Естественно ИИ этого не знает и опытом эксплуатации оборудования не обладает. А собственно сам код там редко бывает каким-то особо сложным. Но его очень много и он учитывает кучу всяких неочевидных условий и ситуаций. Нередко обработку этих ситуаций дописывали по итогам «разбора полётов» при различных нештатных ситуациях.
И даже допустив что порог вхождения всё же снизится - все равно желающих войти всегда будет немного. Каких-то гигантских зарплат или головокружительных преспектив там нет. Это просто работа которая может кормить даже не годами, а десятилетиями того кто не стремится выпрыгивать из штанов и хватать звезды с неба.
Индусы - это последователи индуизма, религия такая. Жители Индии всё же - индийцы.
Сомневаюсь что на особенности кода влияет именно вероисповедание:)
Ну и насчет обучения вы в значительной степени правы. Если моделям скармливали всё подряд без фильтрации - то и результат будет так себе. Наверно получше чем у выпускника ускоренных курсов по изучению языка за пару месяцев, но хуже чем у хорошего программиста.
Индусы - это последователи индуизма, религия такая. Жители Индии всё же - индийцы.
Сомневаюсь что на особенности кода влияет именно вероисповедание:)
Так «индусский код» вполне может быть создан и не жителем Индии и не индийцем по происхождению. Индусский код - устойчивое сочетание, вполне нарицательное.
Чего всё патчи то шлют, а не форкают, допустим, curl, внося туда 100500 улучшений/исправлений?
Мне кажется, потому что школьникам хочется примазаться к известному проекту, засветиться в ченжлоге. А тянуть полноценный форк намного сложней, да и не нужон он никому и даром.
Дак, столярка, этож не только мебель. Двери из дерева вполне делают, лестницы в котеджи (там перила часто держат точёные столбики), резные рамы (для зеркал, картин, фотографий), посуда (досочки, подносы). Столярка не умерла полностью с массовым применением ЛДСП, но ещё до ЛДСП работа в столярном цеху к хоббиному струганию деревяшки отношения не имела.
Двери уже заказывает аж примерно никто. Я сам делал и со столярами общался. Рынка уже почти нет. Можешь открыть любой ролик про столярку на Ютубе и тебе там скажут то же самое.
Тот, кто клеёный массив укладывает на фрезерный станок с ЧПУ, чтобы получить резную дверь — он столяр или нет?
В моем понимании нет. Просто оператор станка. Стояр это кто шарим в свойства древесины, умеет делать всякие столярные соединения, клеить щиты, пользоваться рейсмусом и фуганком и т. д.
Я видел старую мебель производства СССР до ДСП. Не сказал бы, что она вся сделана такими столярами, которые фуганком умели работать. ИМХО, та столярка, где мастер знал дерево, стала умирать не от ДСП, а от промышленного производства мебели и прочих изделий. Там нужно выдать объём, если, допустим, стране нужено несколько миллионов оконных рам в год, то фуганками столько не выстругать, массовый столяр стал работником столярного цеха/оператором станка.
Рынка уже почти нет.
Не знаю, я изредка вижу новые двери из дерева, но, скорее всего они со станока ЧПУ. В бани/сауны двери из ДСП как-то не ставят. Да и остальное убранство бани под ключ (полки, скамьи, столики) тоже из дерева. Если это делают на станках, видимо качество как-то потребителя устраивает, что он не ищет бани ручного строгания.
С программированием, ИМХО, тоже что-то аналогичное. Не знаю, сколько сейчас таких фирм, где Кен Томпсон и Деннис Ритчи, фактически, просто игрались с PDP-7, или Джон Кармак и Джон Ромеро выносили компьютеры в коттедж на вик-энд. Видимо, этой отрасли стали не нужны хакеры, а просто продивинутые операторы компьютера, и началось это до вайбкодинга.
Дак, ИМХО, многие из этих 20 человек всё одно не могут делать премиум мебель, всё подгоняя, сплочая. Оконные рамы из дерева из СССР с огромными щелями их рук дело.
Мебель не из дерева появились давным-давно. ЕМНИП, на крейсерах Варяг, Аврора и пр. мебель в офицерской кают-кампании была стальная, против пожара, хотя выглядела как деревянная. Ну и полочки, столики из стекла и стали тоже давно появились. Всякая садовая мебель из пластика. Из натурального камня (мрамора) столешницы появились в эпоху возрождения, и, наверное, в 1990 перестали быть роскошью, как алмазный инструмент подешевел. Явно я не всё перечисли, но, в общем, — это в средевековье почти вся мебель была из дерева, а после рынок постоянно сокращался :)
Оконные рамы из дерева из СССР с огромными щелями их рук дело.
И не только оконные рамы и не только из СССР. Живу в деревне, старую мебель заменили на современную все кто имеет на то финансовые возможности. Хотя еще в 90х тут можно было увидеть какие-нибудь скамейки, шкафчики и полочки прабабушкиных времен.
И нет, выглядело всё это совсем не так как мебель в дворцах-музеях, а именно как старый хлам.
Я видел старую мебель производства СССР до ДСП. Не сказал бы, что она вся сделана такими столярами, которые фуганком умели работать. ИМХО, та столярка, где мастер знал дерево, стала умирать не от ДСП, а от промышленного производства мебели и прочих изделий.
У нас ещё в 90-е у людей дома было все из дерева: окна, двери, кровати, табуретки, стула. Соответсвенно, это все заказывалось у кустарных столяров. Сейчас это все заменил пластик и ДСП.
Не знаю, я изредка вижу новые двери из дерева, но, скорее всего они со станока ЧПУ. В бани/сауны двери из ДСП как-то не ставят. Да и остальное убранство бани под ключ (полки, скамьи, столики) тоже из дерева. Если это делают на станках, видимо качество как-то потребителя устраивает, что он не ищет бани ручного строгания.
Ну это мелочи. Сколько тех бань? Сравни с тем что я упоминал выше (все входные двери и половина межкомнатных).
С программированием, ИМХО, тоже что-то аналогичное. Не знаю, сколько сейчас таких фирм, где Кен Томпсон и Деннис Ритчи, фактически, просто игрались с PDP-7, или Джон Кармак и Джон Ромеро выносили компьютеры в коттедж на вик-энд. Видимо, этой отрасли стали не нужны хакеры, а просто продивинутые операторы компьютера, и началось это до вайбкодинга.
Столярка перешла в премиум сегмент. Если у нас в столярке было 1-3 работника, то в ЛДСП человек 20. Ну и стоимость абсолютно разная.
Не совсем. Дерево не в моде. Ему уже нет места в современном дизайне. Разве какие-то рейки на стену накрутят. Можешь глянуть любую дорогую квартиру/дом на доске объявлений.
Наконец у меня появилась минутка попробовать пару вещей. Итак, я попросил:
Убрать использование C_Timer. Его нет.
Убрать раздувание кода. Ограничить создание локальных функций.
Принять жёсткое ограничение на каждое сообщение не более 100 символов.
Результат внизу. 80 строк. Он эквивалентен исходному коду с точки зрения входных и выходных параметров. Пока ничего не делал с информацией о «подмножестве lua».
function nsCoursePrintBonusInfo()
local MAX = 240
local raw = {}
raw[#raw+1] = "=== Бонусы курса: за что и что выдаётся ==="
raw[#raw+1] = "1. За каждый уникальный модуль, впервые выполненный за день, выдаётся бонус: опыт 1."
raw[#raw+1] = "2. Если серия выполнения дней подряд составляет 5 или больше, за первый уникальный модуль дня выдаётся лотерейный билет."
raw[#raw+1] = "3. Если серия 5+ дней подряд продолжается, и за день выполнено минимум 5 уникальных модулей, выдаётся случайный бонус."
raw[#raw+1] = "Случайный бонус: либо кусок карты, либо подсказка."
raw[#raw+1] = "Серия считается по первому уникальному модулю за день. Если вчера не было выполнения, серия сбрасывается на 1 день."
if type(NS_COURSE_BONUSES) ~= "table" then
raw[#raw+1] = "Таблица NS_COURSE_BONUSES не найдена, спецбонусы за модули не выведены."
else
local ids = {}
for id in pairs(NS_COURSE_BONUSES) do ids[#ids+1] = id end
table.sort(ids, function(a, b)
local na, nb = tonumber(a), tonumber(b)
if na and nb then return na < nb end
return tostring(a) < tostring(b)
end)
if #ids == 0 then
raw[#raw+1] = "Спецбонусы за модули не найдены."
else
raw[#raw+1] = "=== Спецбонусы за модули ==="
for _, moduleId in ipairs(ids) do
local bonus = NS_COURSE_BONUSES[moduleId]
if type(bonus) == "table" and type(bonus.tiers) == "table" then
local tiers = {}
for _, t in pairs(bonus.tiers) do
if type(t) == "table" then tiers[#tiers+1] = t end
end
table.sort(tiers, function(a, b)
return (tonumber(a and a.chars) or math.huge) < (tonumber(b and b.chars) or math.huge)
end)
local parts = {}
for _, t in ipairs(tiers) do
local head
if t.chars == nil then
head = "любое количество символов"
else
local n = tonumber(t.chars) or 0
local m10, m100 = n % 10, n % 100
local word = "символов"
if m10 == 1 and m100 ~= 11 then word = "символ"
elseif m10 >= 2 and m10 <= 4 and (m100 < 12 or m100 > 14) then word = "символа" end
head = "не более " .. n .. " " .. word
end
parts[#parts+1] = head .. " -> репутация " .. (tonumber(t.rep) or 0)
.. ", опыт " .. (tonumber(t.exp) or 0)
end
local label = "Модуль " .. tostring(moduleId)
local verb = (type(bonus.verb) == "string" and bonus.verb ~= "") and (" (" .. bonus.verb .. ")") or ""
if #parts == 0 then
raw[#raw+1] = label .. verb .. ": условия не заданы"
else
local contPrefix = label .. " (продолжение): "
local line = label .. verb .. ": " .. parts[1]
for i = 2, #parts do
local candidate = line .. "; " .. parts[i]
if #candidate <= MAX then line = candidate
else raw[#raw+1] = line; line = contPrefix .. parts[i] end
end
raw[#raw+1] = line
end
end
end
end
end
raw[#raw+1] = "Если модуль не указан в спецбонусах, за первое прохождение обычно выдаётся: репутация 100, опыт 1."
local queue = {}
for _, text in ipairs(raw) do
while #text > MAX do
local cut = MAX + 1
while cut > 1 and text:byte(cut) >= 0x80 and text:byte(cut) < 0xC0 do cut = cut - 1 end
cut = cut - 1
local take = text:sub(1, cut):match("^.*() ") or cut
if take < 1 then take = math.min(MAX, #text) end
local chunk = (text:sub(1, take):gsub("%s+$", ""))
if #chunk > 0 then queue[#queue+1] = chunk end
text = text:sub(take + 1):gsub("^%s+", "")
end
if #text > 0 then queue[#queue+1] = text end
end
if #queue == 0 then return end
if type(SendChatMessage) ~= "function" then
if type(nsCourseDebug) == "function" then nsCourseDebug("nsCoursePrintBonusInfo: SendChatMessage не найден, очередь не отправлена") end
return
end
if type(CreateFrame) ~= "function" then
for _, m in ipairs(queue) do
local ok, err = pcall(SendChatMessage, m, "OFFICER")
if not ok and type(nsCourseDebug) == "function" then nsCourseDebug("nsCoursePrintBonusInfo: ошибка отправки в OFFICER: " .. tostring(err)) end
end
return
end
local ok, err = pcall(SendChatMessage, queue[1], "OFFICER")
if not ok and type(nsCourseDebug) == "function" then nsCourseDebug("nsCoursePrintBonusInfo: ошибка отправки в OFFICER: " .. tostring(err)) end
if not queue[2] then return end
local index, elapsed = 1, 0
local frame = CreateFrame("Frame")
frame:SetScript("OnUpdate", function(self, dt)
elapsed = elapsed + dt
if elapsed < 0.2 then return end
elapsed = 0
index = index + 1
local sent, sendErr = pcall(SendChatMessage, queue[index], "OFFICER")
if not sent and type(nsCourseDebug) == "function" then nsCourseDebug("nsCoursePrintBonusInfo: ошибка отправки в OFFICER: " .. tostring(sendErr)) end
if not queue[index + 1] then self:SetScript("OnUpdate", nil); self:Hide() end
end)
frame:Show()
end
мы проверяем существование таблицы. Хотя это не абстрактная общефункция, а функция просто заточенная на работу с этой таблицей. Таблица всегда есть. Если нет таблицы, не нужна функция по сути. Хотя тут согласен - лишним не будет даже это. Но смотрим дальше:
if #ids == 0 then
raw[#raw+1] = "Спецбонусы за модули не найдены."
else
То есть мы уже проверили, что таблица бонусов есть, теперь мы будем выводить, что в существующей таблице нет бонусов. Ну это чисто отладочный код - не более. Для релиза он тупо не нужен.
if type(bonus) == "table" and type(bonus.tiers) == "table" then
local tiers = {}
for _, t in pairs(bonus.tiers) do
if type(t) == "table" then tiers[#tiers+1] = t end
Не, я понимаю для чего технически могут быть нужны эти проверки проверок. Если вдруг сменится формат таблциы. Но у меня он не меняется.
if type(SendChatMessage)
if type(nsCourseDebug)
if type(CreateFrame)
local ok, err = pcall(SendChatMessage, m, "OFFICER")
Я могу даже согласиться, что иногда такие проверки нужны. Но тут мы видим многочисленно деблирование этих проверок. И проверки того, что проверять в принципе нет смысла.
Этот код выглядит именно почти обфусцированным.
НО!!! Что интересно, твоя ИИшка подала еще одну интересную идею для ручной реализации - сортировка таблицы и вывод модулей по нумерации. Это реально полезное, хоть и делается в пару раз короче и проще. Это я заберу.
Шутка в том, что модель вообще ничего не знает про код. Помните, с чего всё начиналось? «Вот код на 250 строк. Сделай аудит и сократи насколько можешь.»
Так беда в том, что без подробного описания кода они выдают то, что реально использовать не стоит. Причем это даже в рамках одной функции обычно.
Ты должен описать по шагам, чуть ли не построчно, что делать код. Только тогда они сделают нормально.
Меня подбешивает такой контраст между абсолютным пониманием контекста беседы, эрудированностью и полной неспособностью к креативности и созданию нормального нового.
Вот! Я кажется смог сформулировать. Смотри, оно с одной стороны прикольно когда ты новичок, потому что выдает тебе решения, которых ты не знаешь. Казалось бы - хорошо? Но с другой оно выдает новичку нечитаемый код, который затрудняет обучение в разы.
Возьмем не новичка: профессионал может подробно описать что он хочет от ИИшки и та сделает ему нужную функцию. Но ты понимаешь, профессионал быстрее напишет эту функцию сам.
И меня не отпускает когнитивный диссонанс. И новичку и профессионалу в конечном итоге как кодогенераторы ИИшки в данном виде не нужны. А с другой стороны очень полезны - быстренько что то разобрать, найти.
Нужны еще наблюдения и эксперименты с ними. Нужно развитие.
А я совершенно по другому оцениваю наш эксперимент. Мы только что показали, насколько это мощная технология, если ей уметь пользоваться. Это при том, что я беру код из абсолютно неизвестной мне области написанный на неизвестном мне языке делающий не пойми что. А если бы я был программистом, взял задачу из своей области и начал создавать план решения задачи, над которой работаю.
Сегодня был очень продуктивный день с ребятами из Anthropic. Они полностью согласны - не надо раздувать контекст и запутывать Claude Code. Прежде всего нужно создать чёткую картину того, что мы делаем. Имея план, нужно указать ограничители. Проектирование сверху вниз. При этом Claude Code - это уже давно не про написание кода. Это про автоматизацию рабочего процесса. Можно, конечно и код писать, но в моей работе написание кода уже давно и 5% не наберёт.
Никто уже не спорит, что они способны сделать именно рабочий код. Который формально будет выполнять свою задачу. Проблема в том, что теперь этот код в итоге читать смогут только они.
Меня интересует влияние такого на новичков в первую очередь.
Никто уже не спорит, что они способны сделать именно рабочий код.
А вот мне показалось, что на этом сайте очень много людей, воспринимающих использование больших языковых моделей (и вайб кодинг, как их частный случай) в виде новой игрушки-пузыря. Мне показалось забавным взять вот так пример из жизни и прогнать его через пару-тройку запросов.
Проблема в том, что теперь этот код в итоге читать смогут только они.
Это абсолютно неверно, но я и не пытался что-либо доказывать. Результат зависит только от оператора. Я дал модели ваш код, она сделала именно то, что я просил. Цена вопроса озвучена.
Меня интересует влияние такого на новичков в первую очередь.
Это хорошо. У вас свой интерес. У меня он может быть другим. Меня использование моделей для кодирования вообще не интересует, а новички тем более. Хорошо то, что технология применима в очень широкой области. Каждый может выбрать свою нишу по потребностям, задачам, и доходу.
А вот мне показалось, что на этом сайте очень много людей, воспринимающих использование больших языковых моделей (и вайб кодинг, как их частный случай) в виде новой игрушки-пузыря.
Тут народ делится на две части:
Упоротые фанатики, отрицающие в принципе любую пользу от ИИШек, типа firkax, thesis. Тут или возраст или профдеформация какая то, я хз.
Те кто видит недостатки на текущем этапе развития и вред от ИИшек. Возможный или выдуманный, хз. Вот я как раз из вторых: меня беспокоит «обфусцированность» кода от ИИшек и влияние на новичков. Я не уверен, что это польза в том виде, в котором они есть сейчас. Плюс завязанность на платных сервисах. Плюс превращение кода в черный ящик. Много беспокоящих причин.
Меня использование моделей для кодирования вообще не интересует, а новички тем более.
Ну это вообще не так. Я в принципе не уверен, что сейчас хоть кто то начинает делать хоть что то без ИИшки. В этом и пролема. Вот смотри: они не знают что спрашивать, как спрашивать. ИИшка скармливает им вон ту портянку, в которой даже мне надо с трудом вчитываться. В итоге они получают код, который не понимают, да и не поймут, потому что он переусложнен. И обучение замедляется.
Я полностью с этим согласен. И я всё-таки надеюсь, что умный человек прочитает то, что мы тут за последнюю неделю нафлудили и задумается. А до людей невосприимчивых мне вообще дела нет. «My war is over» так сказать, а им самим выбираться. Вот только потом не надо задавать вопросы «как так, все вокруг что-то делают, а я остался не у дел?». Ответ простой, надо было шевелиться, пока была возможность.
Упоротые фанатики, отрицающие в принципе любую пользу от ИИШек, типа firkax, thesis.
Ну и меня заодно запишите. Не то чтобы «пользы нет», а просто времени я в итоге убью больше (хотя бы на разбор портянок что мне ИИ нагенерит), и результат будет однозначно хуже чем если я сделаю сам. Хотя готов поверить что кому-то наверное помогает, по крайне мере с рутиной.
Фанатики в принципе отрицают возможность хоть какой то пользы.
То как мне это видится: порог входа с ИИ существенно снижается, но это дорога в никуда - так же как и с контентом (все вдруг стали великими музыкантами) всё будет засрано однообразным ширпотребом, по сути отнимая хлеб у людей кто действительно чего-то стОит / мог бы развиваться. И я принципиально этим (ИИ) пользоваться не буду, из идеологических соображений, пока совсем уж не приспичит. Так что наверное всё таки фанатик.
Так это вопрос не творчества, а как раз рутины. Автоматизация однообразного. Вот бы еще заставить их делать это нормально, а не через жопу. Но они развиваются, посмотрим.
А для творчества всегда остается место и с ними и без них.
Две поговорки мне вспомнились, в разное время услышанные от разных людей и при разных обстоятельствах. «Только дураку в науке тесно» и «Упрямство - первый признак тупости». Но это не про вас, так, к слову.
А по-поводу
И я принципиально этим (ИИ) пользоваться не буду, из идеологических соображений
То это тоже позиция, не хуже и не лучше других, вот только
пока совсем уж не приспичит.
Как раз именно про это мой комментарий, особенно его последнее предложение:
Вы же поняли, про что я писал. Не про доступ к компам, а про ограничения в конторах/галерах и в других конторах. Однотипные примитивные задачи, жёсткие сроки и т.д.
У K&R был доступ к компу, было достаточно свободы и какая-то зарплата, что им не нужно было вагоны разгружать. И это необходимо условие, а не достаточное условие.
Вон у нас в России в 90е кто только с компами не игрался на работе.
По моим наблюдениям, в основном была достаточно жёсткая конкуренция за доступ к PC, при этом самый крутой (дорогой) комп обычно был в кабинете директора. А часть людей занималась пакостями — вносила ошибки в чужой код, там же ДОС, компьютер типа пресональный, а на нём человек 10-20 трётся/играется. Плюс, в девяностые много эмигрировало... А восьмидесятые был написан тетрис, как раз тихо, без всяких разнорядок, архитекторов, менджеров, ревью кода и пр.
Как ловко перевернуто. А я вот считаю что модель получила бы от меня гораздо больше чем я от неё, ещё и за мои же денюжки. Класс!!
И да, они уже научились давать стабильно одинаковые ответы на повторяющиеся вопросы, или продолжают бредить каждый раз по новому? И могут ли они обосновать свои действия?
Вот только потом не надо задавать вопросы «как так, все вокруг что-то делают, а я остался не у дел?». Ответ простой, надо было шевелиться, пока была возможность.
Хорошо… Число толчков в сторону ИИ превысило критическую массу. Не решился пока скачивать приложение и попробовать веб форму claude. Ещё я боялся, что язык, на котором я программирую менее изучен, по сравнению с популярными языками. Но вот дал ему первый вопрос, как проверить дубликаты, в общем то дал код на «моём» языке и подсказки «размер->хеш/побайтово». Тут же подумал, а псевдохеш наш друг не знает? Спрашиваю:
Эффективно ли будет при сравнении дубликатов перед тем как получить хеш получить псевдохеш прочитав несколько байт через определённый интервал данных в файле.
Ну в принципе ответил правильно, сказав что это имеет место быть и даже расписал по эффективности SSD/HDD и по минимальному размеру, у него 12 кб, а я экспериментами вывел 50 кб минимальный размер, при котором алгоритм обгонял вариант без псевдохеша (на HDD), хотя изначально думал что это будет 10 Мб.
Как я понимаю, вы не из РФ? Так как из моего круга знакомых очень мало кто что-то заказывал
у кустарных столяров
Деревянных предметов у меня и знакомых полно (двери, табуреты, полочки), впрочем как и ЛДСП, но это всё столярный цех, может и не крупный цех, но не ручная работа. Мне ситуация у вас не понятна, цельнодеревянная дверь просто по определению лучше каркасно-щитовой, не так важно, делали её тебе на заказ и просто купил готовую стандартного размера. Да, станок, но зато быстро и дешевле, чем индивидуальная работа. То есть мне не понятно, почему у вас сразу отказались от дерева, а не сначала перешли на цеховую продукцию.
Вы тоже решили идти по пути сибирских мужиков? Это заведомо провальное мероприятие. Более успешный подход - использование модели в таких условиях, когда она ошибиться не может, ну или это сделать крайне сложно. Есть несколько выработанных правил. Например, вместо вопроса «а знаешь ли ты как …» лучше спросить «какие варианты сделать …», после этого отсеять часть и глубже изучать понравившийся. Когда я выше говорю «мы меняемся», я имею в виду «мы учимся их использовать правильно». Что значит правильно? Это означает «всегда с пользой и по существу». Я, например, уже знаю, что нужно максимально ограничивать контекст, чётко обозначая важное и отсекая неважное. Я бы не стал просить модель «напиши код для выдачи ништяков», я бы начинал с «дана таблица ништяков в виде строк на языке луа версии 3.1 для игры wow”. тем самым максимально ограничиваю контекст.
Много ещё предстоит мне научиться, но главное - это изменить подход с поиска того, как модель обосрать на поиск того, как модель использовать максимально эффективно.
Уже несколько раз встречаю этот странный аргумент «отвечает ли модель одинаково на один и тот же вопрос» и не могу понять - а спрашивающий вообще понимает, что такое модель и как она работает? Что у модели есть контекст, или что он меняется после каждого запроса? Странно всё это для меня…
я хочу помыть машину, мойка находится в 100 метрах от меня, что лучше, дойти до нее пешком, или поехать на машине?
Знаете, чем этот тест плох? Вопрос «что лучше?» не является целью. Модель хорошо работает только тогда, когда знает, что оптимизировать - это же обычная решалка оптимизационной задачи с ограничениями. Вы сначала даёте одну цель «хочу помыть машину», потом вторую, размытую «что лучше?», тем самым проверяете, сможет ли модель держать две цели или вторая цель отменяет первую.
Я, например, уже знаю, что нужно максимально ограничивать контекст, чётко обозначая важное и отсекая неважное.
Это даже в гугле работает. Неправильный запрос или слова паразиты только мешают результату.
Вы тоже решили идти по пути сибирских мужиков? Это заведомо провальное мероприятие.
Почему же, хорошие подсказки надавал, по существу. При начинании проекта вполне можно поспрашивать. Код же который он даёт я использовать не буду. Ну не сможет он дать нормальный код, в чём вы уже доказали выше в диалоге, он либо избыточный, либо урезанный, а код человека это единственная неповторимая комбинация. То что что там дают на какое то ревью, чтобы получить бабло и не работать это не тоже самое, что пишешь для себя, где ты знаешь каждый шаг поведения программы, ну или можешь забыть, но когда знал, то знал что код не был просто насыпан с бредогенератора, а протестирован по всем неуверенным моментам.
я пересказал вольным переводом, загуглите этот тест, модели до начала лета 2026 года практически все поголовно отвечали «дойти до автомойки» (в том числе «топовые» облачные"), а потом резко поумнели (возможно просто этот вопрос включили им в датасет)
в чём вы уже доказали выше в диалоге, он либо избыточный, либо урезанный
Вы попались на удочку. Я начинал с неправильно сгенерированного кода и практически получил правильный. Код, с которым я работал изначально получен неверным способом. Именно это и была моя цель - показать, что важна не модель, а то как эта модель используется.
Этот claude упомянул про рефакторинг, скинул я ему код (без инклудов), он предложил 3 варианта поверхностный и глубокий и была кнопка Skip, думаю пропущу, и попробую встроить инклуды и скормить полный код, но он всё равно просмотрел, долго ковырял, говоря что делает, в итоге удалил коменты и тройку похожих строк обернул в функцию. Короче ничего не сделал.
Первый вопрос, который я задал в упражнении выше скармливая первоначальный 250-строчный код «проведи аудит кода и скажи, что он делает». Зачем? Чтобы создать контекст и сразу отсечь глупости, если они появятся. Например, если бы модель ответила «это код на фортране», я бы сказал «это код на луа, повтори аудит».
То есть первый запрос не для того, чтобы что-то сделать. Он для создания контекста.