Сообщение Re[11]: У престарелых скуфных кнопкодавов реально дофига оби от 10.10.2025 9:30
Изменено 10.10.2025 9:33 rg45
bnk>Чтобы оно было полезно. То, что перечислил Shmj, называется "агентский режим", когда LLM может вызывать локальные функции (редактирование кода, навигация по коду, навигация по документации, поиск в интернете, использование консоли, компиляция, и т.д)
bnk>Без него LLM практически бесполезны для написания кода. Впрочем, так же как как и живые разработчики.
bnk>До появления агентского режима и достаточно умных моделей которые его могут эффективно использовать (примерно год назад) это все скорее была игрушка.
bnk>А сейчас у меня уходит около $50 в месяц на "зарплату" Клоду, за то что он пишет за меня код — стал бы я ему платить если бы он не работал? (нет)
Решил ещё поиграться, раз пошла такая пьянка. Предложил копилоту одну из задачек, которую я любил задавать в те далёкие времена, когда я ещё проводил собеседования. Вот, какое получилось общение:
Запрос:
Написать функцию на C++, которая определяет пересекаются ли числовые диапазоны [a, b) и [c, d), где a <= b и c <= d.
Ответ:
template <typename T>
constexpr bool ranges_intersect(const T& a, const T& b, const T& c, const T& d)
{
// Диапазоны [a, b) и [c, d) пересекаются, если существует x: (a <= x < b) и (c <= x < d)
// Это эквивалентно: max(a, c) < min(b, d)
return (std::max(a, c) < std::min(b, d));
}Ну, не лучшее решение, скажем так.
Уточняю запрос:
Написать функцию на C++, которая определяет пересекаются ли числовые диапазоны [a, b) и [c, d), где a <= b и c <= d. Без использования функций стандартной библиотеки
Ответ:
template <typename T>
constexpr bool ranges_intersect(const T& a, const T& b, const T& c, const T& d)
{
// Диапазоны [a, b) и [c, d) пересекаются, если max(a, c) < min(b, d)
// Реализуем max и min вручную:
T left = (a > c) ? a : c;
T right = (b < d) ? b : d;
return left < right;
}Бездарно. Уровень "спасибо, мы Вам перезвоним".
Еще раз уточняю запрос:
Написать выражение C++, которое определяет пересекаются ли числовые диапазоны [a, b) и [c, d), где a <= b и c <= d. Без использования дополнительных выражений, переменных и функций стандартной библиотеки.
Ответ:
(a < d) && (c < b)Ну наконец то, чего я ожидал. После третьей попытки, при сложности запроса в разы превосходящем сложность решения. И то, завершённой функции я так и не получил. Сколько ещё нужно понянчиться, чтобы довести до завершённого вида — ХЗ.
Ну и как это можно использовать в продакшен решениях, где задачи несоизмеримо сложнее?
bnk>Чтобы оно было полезно. То, что перечислил Shmj, называется "агентский режим", когда LLM может вызывать локальные функции (редактирование кода, навигация по коду, навигация по документации, поиск в интернете, использование консоли, компиляция, и т.д)
bnk>Без него LLM практически бесполезны для написания кода. Впрочем, так же как как и живые разработчики.
bnk>До появления агентского режима и достаточно умных моделей которые его могут эффективно использовать (примерно год назад) это все скорее была игрушка.
bnk>А сейчас у меня уходит около $50 в месяц на "зарплату" Клоду, за то что он пишет за меня код — стал бы я ему платить если бы он не работал? (нет)
Решил ещё поиграться, раз пошла такая пьянка. Предложил копилоту одну из задачек, которую я любил задавать в те далёкие времена, когда я ещё проводил собеседования. Вот, какое получилось общение:
Запрос:
Написать функцию на C++, которая определяет пересекаются ли числовые диапазоны [a, b) и [c, d), где a <= b и c <= d.
Ответ:
template <typename T>
constexpr bool ranges_intersect(const T& a, const T& b, const T& c, const T& d)
{
// Диапазоны [a, b) и [c, d) пересекаются, если существует x: (a <= x < b) и (c <= x < d)
// Это эквивалентно: max(a, c) < min(b, d)
return (std::max(a, c) < std::min(b, d));
}Ну, не лучшее решение, скажем так.
Уточняю запрос:
Написать функцию на C++, которая определяет пересекаются ли числовые диапазоны [a, b) и [c, d), где a <= b и c <= d. Без использования функций стандартной библиотеки
Ответ:
template <typename T>
constexpr bool ranges_intersect(const T& a, const T& b, const T& c, const T& d)
{
// Диапазоны [a, b) и [c, d) пересекаются, если max(a, c) < min(b, d)
// Реализуем max и min вручную:
T left = (a > c) ? a : c;
T right = (b < d) ? b : d;
return left < right;
}Бездарно. Уровень "спасибо, мы Вам перезвоним".
Еще раз уточняю запрос:
Написать выражение C++, которое определяет пересекаются ли числовые диапазоны [a, b) и [c, d), где a <= b и c <= d. Без использования дополнительных выражений, переменных и функций стандартной библиотеки.
Ответ:
(a < d) && (c < b)Ну наконец, то, чего я ожидал. После третьей попытки, при сложности запроса в разы превосходящем сложность решения. И то, завершённой функции я так и не получил. Сколько ещё нужно понянчиться, чтобы довести до завершённого вида — ХЗ.
Ну и как это можно использовать в продакшен решениях, где задачи несоизмеримо сложнее?