Информация об изменениях

Сообщение Re[11]: У престарелых скуфных кнопкодавов реально дофига оби от 10.10.2025 9:30

Изменено 10.10.2025 9:33 rg45

Re[11]: У престарелых скуфных кнопкодавов реально дофига оби
Здравствуйте, bnk, Вы писали:

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)


Ну наконец то, чего я ожидал. После третьей попытки, при сложности запроса в разы превосходящем сложность решения. И то, завершённой функции я так и не получил. Сколько ещё нужно понянчиться, чтобы довести до завершённого вида — ХЗ.

Ну и как это можно использовать в продакшен решениях, где задачи несоизмеримо сложнее?
Re[11]: У престарелых скуфных кнопкодавов реально дофига оби
Здравствуйте, bnk, Вы писали:

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)


Ну наконец, то, чего я ожидал. После третьей попытки, при сложности запроса в разы превосходящем сложность решения. И то, завершённой функции я так и не получил. Сколько ещё нужно понянчиться, чтобы довести до завершённого вида — ХЗ.

Ну и как это можно использовать в продакшен решениях, где задачи несоизмеримо сложнее?