ИИ заявил, что это асинхронная операция, но на самом деле она выполнялась пакетно 😤 Разоблачение ...
Автор: Tools Not Tokens
Загружено: 2026-07-21
Просмотров: 66
Описание:
Краткое содержание
В этом фрагменте из звонка Hero Club рассматриваются компромиссы между высокоуровневым и углубленным подходами при использовании ИИ для генерации кода AutoHotkey. Докладчики обсуждают, стоит ли тратить дополнительное время на «углубление в детали» кода, генерируемого ИИ, используя реальный проект обработки PDF-файлов, чтобы проиллюстрировать, как ИИ может создавать код, который выглядит асинхронным, но на самом деле таковым не является.
Ключевые моменты
[00:00:00] - Два подхода к программированию с использованием ИИ
• Джо (докладчик A) объясняет, что он предпочитает высокоуровневый подход при работе с ИИ и AutoHotkey — он фокусируется на том, что должен делать код, а не на том, как он это делает внутри.
• Исайя (докладчик B) придерживается противоположного подхода, углубляясь в детали реализации, что позволяет получить более качественный продукт, но требует значительно больше времени на разработку.
• Докладчик C использует аналогию с бросанием мяча, чтобы проиллюстрировать, что ИИ, подобно человеку, ловящему мяч, может выполнить задачу, не имея возможности объяснить механику процесса.
• Группа признает, что оба метода имеют свои преимущества и недостатки, и правильный выбор зависит от уровня знаний и целей разработчика.
[00:02:31] - Выявление ложной асинхронности в коде обработки PDF
• Исайя приводит конкретный пример, в котором он попросил ИИ создать асинхронную функцию под названием "Stage PDF Async" для обработки пяти страниц PDF за раз.
• ИИ сгенерировал код с двумя вложенными циклами while, которые выглядели асинхронными, но при более тщательном рассмотрении обнаружился критический недостаток: ограничение количества рабочих процессов заставляет код ждать завершения пакета, прежде чем поставить в очередь следующее задание.
• Базовая команда Run не ждет завершения (что делает эту часть действительно неблокирующей), но ограничение параллелизма превращает общее поведение в пакетную синхронную обработку.
[00:02:31] • Исайя делает вывод, что функция обозначена неверно — она не асинхронная, а пакетная, что является важным отличием для производительности.
• Джо кратко упоминает инструмент «Mark it down», разработанный командой с использованием конвертера PDF в Markdown от Microsoft, который мог бы упростить этот рабочий процесс.
[00:04:59] — ИИ повторяет ту же ошибку с вызовами API
• Когда Исайя попросил ИИ сделать этап извлечения страницы также асинхронным, ИИ скопировал структуру предыдущей функции, но использовал синхронный вызов API ИИ внутри цикла.
• Поскольку вызов API блокирует выполнение до получения ответа, весь цикл выполняется синхронно, несмотря на то, что выглядит как асинхронный код.
• Спикер C предлагает решение: каждый вызов API должен использовать отдельный асинхронный объект HTTP-запроса, а цикл while будет опрашивать каждый объект на предмет завершения.
• Главный вывод Исайи заключается в том, что без глубокого анализа эти тонкие, но критически важные ошибки остались бы незамеченными — ИИ повторно использовал шаблон, не понимая, что синхронный вызов не эквивалентен неблокирующей команде Run.
Краткое резюме
Обсуждение подчеркивает реальную опасность кода, сгенерированного ИИ: он может имитировать шаблоны, которые он видел, не понимая истинного поведения, что приводит к функциям, которые кажутся асинхронными, но на самом деле блокируют выполнение. Хотя подход высокого уровня экономит время, иногда необходимо углубиться в детали реализации, чтобы выявить эти скрытые проблемы и убедиться, что код работает должным образом.
#AutoHotkey #AsyncProgramming #AICodeGeneration #PDFProcessing #SynchronousVsAsynchronous #CodeReview #NestedLoops #HTTPRequests #ProgrammingApproaches #HKHeroClub
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: