Обновить

Новых вопросов от пользователей на платформе Stack Overflow становится всё меньше с каждым месяцем из-за ChatGPT

Время на прочтение2 мин
Охват и читатели8.7K
Всего голосов 5: ↑5 и ↓0+7
Комментарии41

Комментарии 41

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

становится всё меньше новых тупых вопросов

Вот именно с этим как раз всё в порядке - процент тупых вопросов, как по мне, не снижается. Почему-то подавляющее большинство полагает, что проблема, с которой они столкнулись, ну совершенно уникальна и никогда ранее ни у кого не встречалась. Хотя поиск на том же SO по адекватно составленному запросу сразу выдаёт десяток-другой аналогичных тем, и как минимум две-три из них предлагают практически готовое решение. К сожалению, новики весьма редко пользуют поиск. А если пользуют - то не очень адекватно формулируют поисковый запрос, получая кучу ненужного хлама.

Что же до гугла - то его поиск даёт куда как менее адекватную выборку по SO. Потому как вышеупомянутый ненужный хлам выдаётся практически гарантированно, даже для достаточно адекватно составленного запроса. Возможно, AI научится по хреновенько составленному запросу выдавать адекватный набор советов.

новых вопросов от пользователи на платформе Stack Overflow становится всё меньше с каждым месяцем из-за ChatGPT. Популярному ресурсу предрекают забвение через год.

Возможно, брутто-количество запросов и снизится. И даже возможно, что сильно снизится. Но при этом возрастёт сложность ставящихся вопросов и решаемых задач, а также процент оригинальных проблем. То есть - повышение качества, с достаточно вменяемой ценой. Я бы не назвал это забвением.

НЛО прилетело и опубликовало эту надпись здесь

Мне вот очень любопытно что Чатгпт сможет сказать по поводу вопросов про проблемы с I2C или прочие железячные проблемы.

А почему бы вам не попробовать и не рассказать?

А есть где это сделать бесплатно и без смс? Я как-то никогда в эту тему не погружался.

Пишите вопрос, я все сделаю за вас

И тут я задумался какой бы вопрос задать. Ну например такой:

Допустим у нас STM32F103C8T6. Допустим у нас на шине RS485 один мастер и N слейвов. Как правильно работать с UART в режиме half-duplex, т.е. с отключением передатчика, если мы используем DMA для приёма и передачи?

Уж не знаю как этот вопрос правильно сформулировать для Чатгпт. Знаю молодых программистов, которые столкнулись с тем, что пришлось самим разбираться. У STM даже есть PDF-ка на эту тему, которая на самом деле только вводит в заблуждение. Я им некоторое время не мешал, дабы сами научились.

Работа с UART в режиме half-duplex (особенно по RS-485) с использованием DMA требует внимательного подхода, особенно в части управления направлением передачи и приемом. Рассмотрим пошагово, как это правильно организовать на STM32F103C8T6 с использованием HAL или низкоуровневого подхода (если нужно — уточните, какой именно вы используете).

Общая схема работы:

  1. Одна линия (полудуплекс) — используем USARTx в режиме half-duplex.

  2. RS-485 трансивер — используем пин управления направлением (обычно DE — Driver Enable).

  3. Передача (TX):

    • Включаем DE (устанавливаем пин в "1").

    • Стартуем DMA на передачу.

    • Ждём окончания передачи (по флагу окончания передачи TC или завершения DMA).

    • Ждём опустошения буфера сдвига (TXE и TC).

    • Выключаем DE (DE = 0).

  4. Прием (RX):

    • Перед началом приёма DE должен быть выключен (DE = 0).

    • Настраиваем DMA на прием.

    • Обработка завершения приёма — либо по прерыванию, либо с использованием IDLE-флага.

Конкретные шаги (на примере HAL, но применимо и без HAL):

Инициализация UART в half-duplex:

huart1.Init.Mode = UART_MODE_TX_RX; // В режиме Half-Duplex всё равно так
HAL_HalfDuplex_Init(&huart1);

Управление DE (Driver Enable):

Вы должны назначить отдельный GPIO-пин для управления DE (например, PB1):

#define RS485_DE_GPIO_Port GPIOB
#define RS485_DE_Pin GPIO_PIN_1

void RS485_SetTransmitMode(void) {
    HAL_GPIO_WritePin(RS485_DE_GPIO_Port, RS485_DE_Pin, GPIO_PIN_SET);
}

void RS485_SetReceiveMode(void) {
    HAL_GPIO_WritePin(RS485_DE_GPIO_Port, RS485_DE_Pin, GPIO_PIN_RESET);
}

Передача по DMA:

RS485_SetTransmitMode(); // Включаем передачу
HAL_UART_Transmit_DMA(&huart1, txBuffer, size);

// В колбэке или по прерыванию по окончании DMA:
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) {
    // Ждём, пока USART закончит передачу (важно!)
    while (__HAL_UART_GET_FLAG(huart, UART_FLAG_TC) == RESET);
    RS485_SetReceiveMode(); // Возвращаемся в режим приёма
}

Прием по DMA:

RS485_SetReceiveMode(); // Обязательно перед приёмом!
HAL_UART_Receive_DMA(&huart1, rxBuffer, expectedSize);

Прием неизвестного размера:

Если не знаете заранее, сколько данных придет — используйте IDLE-флаг:

__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);

// В обработчике прерываний:
if (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_IDLE)) {
    __HAL_UART_CLEAR_IDLEFLAG(&huart1);
    HAL_UART_DMAStop(&huart1); // Останавливаем DMA
    uint16_t received = expectedSize - __HAL_DMA_GET_COUNTER(huart1.hdmarx);
    // Обрабатываем rxBuffer[0..received-1]
}

Что важно учесть:

  • Не переключайтесь на приём до окончания передачи и опустошения регистра передачи (TXE и TC).

  • Не начинайте передачу до окончания приёма (иначе можно потерять байты).

  • DMA работает без учёта полудуплексности — управление направлением лежит на вас.

Если вы не используете HAL — можно делать то же самое вручную через регистры (USART_CR1USART_CR3DMAконтроллер).

Если хотите, могу привести пример для CMSIS или с использованием STM32CubeMX конфигурации.

Это ИИ такое выдаёт?

Ага, скопировал из OpenAI ChatGPT, это полная цитата

Выглядит как дословный перевод какого-то мануала от STM.

Какой вопрос, такой и ответ :)

Кстати, буквально два дня назад мой падаван пытался подружить Атмелку с GD32E103 через I2C. Через пару часов отладки выяснилось, что на Гигадевайсе библиотека написана так, что хочет адрес устройства сдвинутый на один бит влево. О чём вообще нигде ничего не сказано. Нужно просто посмотреть это в регистрах периферии под отладкой (ну или код библиотеки и описание регистров контроллера).

В связи с этим вопрос: как с этим справится ИИ? Или это уже должен сам программист выяснять в процессе отладки?

Понятия не имею, но, как я уже говорил выше, у каждого есть шанс проверить.

Ну и ИИ - это бытовое название. Большие лингвистические модели решают лишь одну задачу: предсказывают по одним словам другие слова.

Иногда хорошо, иногда - плохо. Не редко - очень даже круто.

Что вы имеет в виду под "без смс"? Я использую Mistral Ai и очень даже доволен. Единственное что надо сделать — пройти регистрацию (можно банально зайти используя гугл аккаунт). Если не ошибаюсь, то там даже нет лимита на количество задаваемых вопросов, в отличие от ChatGPT

Я бы сказал, что ответов становится меньше. Шесть раз задавал один и тот же вопрос в разных разделах, хоть бы кто посоветовал что-то в комментах, я уж не надеюсь на прям ответ. Нет, или игнор или закрывают вопрос без рекомендаций что делать.

Потому и вопросы не задают, что сайт бесполезе. Впрочем, на здешнем Q&A тоже не осилили, а и всего-то спросил, как генерировать подписи к наборам картинок, как целому, а не индивидуальным.

или закрывают вопрос без рекомендаций что делать

Ну либо некачественно сформулирован/оформлен, либо дубликат, либо оффтоп. Какая указывалась причина закрытия хотя бы?

Забавно, учитывая что ChatGPT учился в том числе и на SO, что лично замечал по ряду его ответов..

Ну, кроме того, база отвеченных вопросов уже такая, что я вообще удивляюсь, когда реально новый вопрос кто-то умудряется задать, на который 100500 раз уже не отвечали.
Да, конечно, появляются новые языки, новые фреймворки, новые версии, но их не так много. Основные вопросы, которые задавались, были довольно типовые, и они за эти годы уже были изрядно поотвечены.

SO для самых маленьких:

Когда задают вопрос, как квадрат покрасить в красный: иди отсюда, нуб, лень ему погуглить и найти готовый ответ на вопрос, как заставить треугольник светиться синим.

Когда задают вопрос, что лучше для задачи — красный квадрат или синий треугольник: иди отсюда, у нас тут не сервер рекомендаций.

Когда задают вопрос, как красным квадратом забить гвоздь: иди отсюда со своими ненастоящими вопросами. Ведь нормальному человеку в голову не придёт такое, значит это не вопрос.

Прощай.

Вот бы политика ресурса была направлена на привлечение и удержание авторитетных специалистов, способных делиться редкой экспертизой в ответах на сложные и уникальные вопросы, что позволило бы сформировать не теряющую актуальность базу знаний и площадку для менторства. Но нет, администрация потворствовала увеличению потока примитивных однообразных вопросов от школьников, которые хотели, чтобы за них решили домашнее задание, а так же не ценила топовых пользователей и разбрасывалась ими. Play stupid games, win stupid prizes.

Если все забьют на вопросы по cайтам то кормовая база всех этих gpt будет устаревать и в перспективе они будут бесполезны. Палка о двух концах. Последний раз мое обращение к DEVV было малополезным. Много неработающего кода и усложненного кода, который мне пришлось упростить, иначе не работало. Новички бы не справились.

«Дисклеймер: я вхожу в 1% лучших участников StackOverflow с 23 315 очками репутации. Я задал 1 качественный вопрос в 2024 году, и он был закрыт почти сразу, и с тех пор я не взаимодействовал с сайтом. Если кто‑то с 20 000+ кармой так быстро закрывает свои красиво оформленные вопросы, то с чем сталкиваются новички и рядовые участники? Вероятно, это главная причина снижения», — заявил Смит.

Ничего не понял. Он сам свой вопрос красиво оформил и закрыл, или это кривой перевод?

Итак, мы обучили ИИ на базе ответов с SO и он начал выдавать эти ответы лучше, чем сам SO.

Подавляющее большинство пользователей перестает использовать SO и сайт закрывается.

Новых ответов на новые вопросы на нем больше нет.

Откуда мы теперь будем брать ответы на новые вопросы? ИИ ведь выдает старые ответы на основании той базы текстов, на которой он натренирован.

Во времена золотой лихорадки больше всех заработали продавцы лопат.

Так и тут.

Многие новые вопросы достаточно просты чтобы ИИ на них мог давать ответы, даже если таких вопросов не было в обучающей базе. Другое дело, что StackOverflow в такой схеме получается лишним.

А более сложные вопросы?

Предположу, что для них пока останется SO, просто количество новых вопросов стабилизируется на более низком уровне. Плюс ИИ будет развиваться, со временем возможно научится отвечать на подавляющее большинство вопросов.

Знаете, я как раз на днях заходил в gpt и был сильно удивлен качеством отдаваемого контента. В целом как вы говорите "кормовая база" ему уже не нужна. Опять же как тут правильно заметили по своей сути уже были заданы все возможные вопросы которые можно было задать и соответственно получены все ответы если это возможно. Так что все остальное эти либо не сформулированные вопросы так как еще не настало их время либо невозможность дать ответы из за недостатка информации в принципе.

Но это вообще уже не важно в целом. Дальнейшая интеграция в обучении после которой мы потеряем дня него свою ценность это научить его задавать вопросы. А это господа бескрайняя равнина ....

Кстати, падение началось ещё в 2017 году, хотя, конечно, в последние пару лет оно сильно ускорилось, но причины, думаю, нужно искать ещё до эры ChatGPT.

Постепенное падение то логично, банально неотвеченных вопросов становится все меньше. То же самое, что с хабром - интересных и неохваченных тем для статей все меньше. А вот рассказами про то как круто продавал что-то на маркетплейсе и заработал X миллионов рублей SO не наполнишь.

Разработка в принципе становится проще и доступнее

Но и новые разработчики тоже становятся всё проще и тупее.

Когда пишешь, что в обозримом будущем ИИ обрушит рынок труда в целом и программистов в частности, слышится злобное шипение и норовят пнуть ногой по карме. Потом вылезает умник и что-нибудь ляпает про появление новых професссий ....

Вот он, пример будущего, олицетворенный в стаковерфлоу. Люди не все гении, спрашивают одно по одному, забывают, путаются в формулировках и вот приходит робот ....

Так будет во всех сферах и профессиях, люди везде одинаковы и делают одно по одному многократно.

Вы надеетесь научиться пачками задавать качественные вопросы или отвечать на заданные быстрее робота? Нет? Тогда откуда уверенность, что выгорит сменить шаблон или целую профессию?

Что завтра? Двукратное падение числа халтурок на фрилансе? А послезавтра?

>Так будет во всех сферах и профессиях

А почему вы так уверены будет? Почему вы так уверены что ИИ и дальше будет развиваться с той же скоростью? Просто потому что он развивался с такой скоростью несколько лет до этого? "Картинка с невестой и интерполяцией"

Интересно было бы посмотреть на другие метрики, типа количества уникальных юзеров в месяц, количество оценок вопросов и ответов и т.п. Показывают ли они такой же тренд?

Честно говоря, не знаю как он там обучен на SO, неоднократно сталкивался с тем, что он не зная, начинает просто ходить по кругу, генерируя одни и те же варианты нерабочих решений. Зайдя на SO я находил ответ сразу же, и это был хороший, рабочий ответ. Человеческий)

Вот надо было мне как то гугл колаб обучение запустить, пока драйвера не откатил на более раннюю версию не запускалось. Чатжпт таких вариантов и близко не предлагал

На это рассчитывали в Quora, там ответы прям каждый как статья. Но их мало и их трудно писать и никому это и надо.

В заголовке приведен факт. Так и хочется спросить. И что? Что это, плач Ярославны, проблема (чья?), с которой нужно бороться (кому?)?

Это такой же факт как и "каждое утро солнце встаёт с востока" или же "копировальные аппараты ксерокс оставляют без работы сотни машинисток"

А то звучит так "алло погромисты, наш любимый ресурс убивают, давайте сплотимся". Так ведь нет, сами пользователи от него отказываются. Прям как на базаре, у кого мандарины вкуснее и дешевле, к тому и идут.

Ну и что что двадцать лет существовал? Ну существовал и существовал. Значит его время вышло. Точно также как и время телег привязанных к лошади.

Честно, не представляю, как современный ИИ может ответить на вопрос размером больше одной сточки. Ну т.е. я имею в виду не вопрос, который четко формулируется и за секунду гуглится, а когда тебе нужно рассказать предварительные условия, показать фрагменты кода, стектрецсы, логи. При этом в комментах могут быть уточняющие вопросы, просьбы показать какие-то другие фрагменты кода, используемые либы и прочее. И только после такого анализа можно дать направление, где кроется ошибка. ИИ же в этом случае выдаёт кучу информации "по теме".

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости