Вот ты и разучился думать.
- Как посчитать сумму эл-тов массива через REDUCE?
Добавляю фразу "напиши краткую фразу" и иду к Gemma 4 26B. У нее стоимость 7 российских копеек за тысячу токенов через LLM-провайдера, а так вообще можно локально запустить.
1.Callback-функцию, которая выполняется для каждого элемента.
2.Initial Value (Начальное значение) — крайне важно для суммы!
Параметры callback-функции:
- accumulator (аккумулятор) — «копилка», в которой накапливается результат предыдущей итерации.
- currentValue (текущее значение) — элемент массива, который обрабатывается прямо сейчас.
Конечно, стоит еще уточнять язык программирования, нейронка подумала, что это JS. Лично мне эта информация ни к чему. Нейронка выдавала справку как использовать и т.д.
Мне не нужен этот метод даже в теории, поэтому и нет необходимости это запоминать:
Никак не запомню работу с этим модным методом
Если тебе метод не нужен, но ты его стремишься использовать и запоминать, получается, что ты уже разучился думать. Теперь бегаешь как дурачок с reduce и куда бы его пихнуть.
А тут вообще сценка обезьяна и ИИ:
Работаю с парсингом данных:
- Мне нужна регулярка делающая то-то и то-то.
- Пожалуйста.
- Чот xyйня.
- Да, вы правы, переделала.
- Норм.... Так... А добавь туда такую фичу...
- Готово
- Норм, работает, спасибо.
Я беру Gemma 4 26b, даже не Fable или Sol, и спрашиваю про парсинг, например, распарсить такую конструкцию:
[tag_level_1 - tag_level_2 : {value}]
Теперь не нейронка должна работать по шагам, а ты сам:
1) Определить саму структуру "[tag]"
// Регулярное выражение для поиска [tag_name]
// \[ - ищет открывающую скобку
// ([a-zA-Z0-9_]+) - захватывает группу символов (название тега)
// \] - ищет закрывающую скобку
// /g - флаг global (искать все вхождения)
const regex = /\[([a-zA-Z0-9_]+)\]/g;
Вот эта часть отвечает за маленькие символы, большие символы, цифры и нижнее подчеркивание.
Это можно переписать как [a-zA-Z0-9_ \-:{}] для моей задачи. Я добавил пробел, дефис, двоеточие, фигурные скобки. Можно сократить /\[([\w \-:{}]+)\]/g;
Получил внутреннюю часть конструкции, ее делишь на части. Можно хоть split:
// [ \-: ] означает: "раздели на части там, где встретишь пробел, дефис или двоеточие"
const parts = content.split(/[ \-:]+/);
Зачем мне мучаться с регулярками, когда можно использовать просто split? И каждая такая часть может быть верифицирована отдельно. Отдельным скриптом запускаю этот код и проверяю, что он делает ровно то, что нужно. Я это могу проверить глазками и убедиться, что оно работает.
.map(p => p.replace(/[{}]/g, '')); // Удаляем фигурные скобки из каждой части
При этом нейронка предлагает альтернативу:
Если структура тега всегда одинаковая, лучше не "резать" строку, а сразу "вытащить" нужные части с помощью именованных групп в регулярном выражении
const text = "[tag_level_1 - tag_level_2 : {value}]";
// Создаем шаблон:
// (?<name>...) — это именованная группа
const regex = /\[(?<part1>\w+)\s+-\s+(?<part2>\w+)\s+:\s+\{(?<val>.*)\}\]/;
Используйте split, если количество элементов внутри скобок может меняться (иногда 2 элемента, иногда 5), иначе используйте match.
Неделю спустя:
- Привет, надо добавить в регулярку такую-то фичу.
- Так... А ты ваще кто и о чем речь?
Все, чел разучился думать и считает, что нейронка должна за него все помнить.
- У вас ошибка в регулярке. Кто писал эту ересь?
Ревью кода? Проверить правильность по частям? Целую неделю лежит неверный код и вайбкодер где-то ходит, всё забывает и тупит.
У меня настолько поxyистическое отношение только к экспериментам и к одноразовому коду, который я тут же выкину и забуду. А тут целый человек-поxyист делает говно и боится разучиться думать. Так ты уже разучился. Может, и не научился, имитация интеллекта.
Думает 45 минут после чего клиент в IDE вылетает, забыв весь контент, токены кончились, приходите через 3 суток...
45 минут доверять агенту, что он xyйни не навертит. Скупой платит дважды, тупой должен платить всегда. А тут 45 минут сжигает токены, видя, что агент может чушь нести в коде. И эти три дня ты теперь как инвалид сидишь без ИИ и боишься прикоснуться к коду? Я не удивлюсь, если ты гонял Sol для таких задач, потому что уже слишком тупой, чтобы использовать модельки уровня Gemma 4 26b. И это я шикую, такие простые вопросы могут решать и маленькие локальные модельки. А локальные модельки доступны всегда, пока доступен комп)