Planet Python на русском
Подписаться
Боб Белдербос: Защитные ограждения защищают вашу кодовую базу. Что защищает ваше суждение?
Кэл Ньюпорт предупреждает, что скорость написания кода, обусловленная ИИ, может подорвать навыки критического мышления, определяющие хорошее инженерное дело. Вместо активного понимания кода разработчики рискуют пассивным узнаванием, отрываясь от фундаментального понимания. В то время как некоторые выступают за полное возвращение к ручному написанию кода, автор ищет сбалансированный подход. Эта золотая середина включает намеренное внедрение трения, которое имеет решающее значение для обучения и развития навыков.Атрофия навыков происходит не от использования самого ИИ, а от делегирования процесса внутреннего моделирования. Автор различает атрофию навыков и потенциал ИИ генерировать тонко некорректный код. Чтобы сохранить владение и понимание, разработчики должны заново выводить сложные пути кода и убедиться, что они могут объяснить каждое изменение. Сужение задач ИИ до четко определенных проблем помогает вовлекать инженеров и предотвращает перегрузку при проверке кода.Методы Кори Шефера, такие как подробные запросы и тщательная проверка кода, предлагают практические способы сохранения этого трения. Однако человеческое внимание ограничено, что требует автоматизации оставшихся задач. Именно здесь "корректность по дизайну" становится жизненно важной, используя более строгие системные проверки, такие как строгая типизация и утверждения во время компиляции.Rust является примером этого, делая недействительные состояния непредставимыми, заставляя ИИ соответствовать требованиям. В Python аналогичную цель служат проверки типов и модели валидации. В конечном итоге, ответственное использование ИИ в разработке требует как сохранения контроля над критическими решениями для оттачивания суждений, так и внедрения строгих правил для обеспечения подотчетности ИИ. Разработка программного обеспечения остается процессом суждений и опыта, а ИИ автоматизирует утомительные аспекты. Ключевой вывод заключается в том, чтобы определить и отказаться делегировать ИИ наиболее важные решения, обеспечивая истинное владение и надежный код.