Почему инженеры должны изучать философию | Большие Идеи

・ Личные качества и навыки

Почему инженеры должны
изучать философию

Способность разрабатывать четкие мысленные модели задач и понимать причины и цели, прежде чем начать работать над решением, становится все более важным навыком, особенно в эпоху ИИ

Автор: Марко Ардженти

Почему инженеры должны изучать философию
Giammarco Boscaro / Unsplash

читайте также

Человек человеку круг

Марина Иванющенкова

Венчурному капиталисту

Изгнание из Эмпирей

Александр Хайтин

Не говорите слишком много!

Хьялмар Гисласон

Искусственный интеллект уже прекрасно справляется с программированием, и его возможности быстро улучшаются. Однако есть одна загвоздка: код, созданный ИИ, может быть правильным синтаксически и семантически, но не функционально. Другими словами, код должен хорошо работать, но не выполнять то, чего вы от него хотите. Четкая мысленная модель задачи, умение разбить ее на пошаговые действия, совершенное мышление в рамках определения первопричин, иногда готовность (и способность) поспорить с упрямым ИИ — вот навыки, которые воспитают будущего великого инженера. Вполне вероятно, что те же соображения применимы ко многим видам профессиональной деятельности.

Недавно в разговоре с дочерью-студенткой я сказал ей: «Если хочешь стать успешным инженером, помимо традиционных инженерных дисциплин учи философию. Почему? Потому что твой код станет лучше».


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

Выходные данные модели очень чувствительны к тому, как написан текстовый запрос. Промахнетесь с указаниями, и ваш ИИ выдаст в лучшем случае внешне приемлемый, а в худшем — неправильный и опасный код.

В рамках зарождающейся дисциплины под названием «инженерия подсказок по цепочке рассуждений» (prompt engineering) — на данном этапе это скорее искусство, а не наука — пользователи учатся вручную составлять указания, которые должны быть компактными, емкими и эффективно заставлять ИИ делать то, что они хотят. Существуют различные техники — например, указания с несколькими примерами, — когда к подсказке добавляется несколько примеров, чтобы направить ИИ по нужному пути, иногда с вопросами и ответами. Например, для анализа эмоциональной окраски высказываний с помощью нескольких подсказок пользователь может добавить к началу алгоритма указание типа «Проанализируйте эмоциональную окраску высказываний на телеконференции», а затем конкретные примеры, такие как «Улучшение прогноза: положительно» или «Замедление спроса: отрицательно», чтобы помочь ИИ понять схему и контекст для создания точного анализа настроений на основе примеров.

Один из самых важных навыков, который я приобрел за десятилетия управления группами инженеров, — это умение задавать правильные вопросы. В случае с ИИ все обстоит примерно так же: качество вывода большой языковой модели (LLM) очень чувствительно к качеству ввода. Двусмысленные или недостаточно четко сформулированные вопросы заставят ИИ пытаться угадать, какой вопрос вы задаете на самом деле, что, в свою очередь, увеличит вероятность получения неточного или даже абсолютно фиктивного ответа (это явление часто называют «галлюцинацией»). Поэтому, чтобы извлечь максимум пользы от ИИ, необходимо, прежде всего, овладеть умением построения рассуждений, логикой и первоосновами мышления — всеми фундаментальными навыками, развиваемыми в процессе обучения философии. Вопрос «Ты умеешь писать код?» превратится в «Ты можешь получить лучший код от своего ИИ, задавая ему правильные вопросы?»

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

При работе с ИИ эти отношения меняются, как и само понятие авторства. Большая языковая модель адаптирует свое содержание к уровню знаний и пониманию читателя, ориентируясь на его указания. Указания читателя — это то, что побуждает ИИ к созданию контента с опорой на обучающие данные; новый текст создается специально для этого пользователя — читатель в некотором смысле является и потребителем, и автором. На примере математики, если хотите понять теорию пределов в матанализе, можно найти учебник для старшеклассников или студентов или попытаться найти источник в интернете, который соответствует вашему текущему уровню знаний. А вот обучение с ИИ-моделью может быть персонализированным и адаптивным, соответствующим вашему текущему уровню знаний и стилю обучения. Возможно, в будущем золотой стандарт обучения — персонализированное обучение — станет доступен каждому. Последствия этого сложно себе представить.

Генеративный ИИ меняет наши отношения со знаниями, сглаживая барьеры. ИИ не только обеспечивает доступ к знаниям, но и объясняет информацию каждому индивидуально. Он создает пологий уклон между вашим уровнем знаний и уровнем знаний, необходимых для изучения конкретного предмета. Однако возможность получить доступ к знаниям, адаптированным соответствующим образом и, что еще важнее, точным, начинается — и заканчивается — с пользователя. По мере упрощения способа получения знаний логика и рассуждения приобретают все большее значение. Использование этих навыков философского мышления не заканчивается на получении результата, который, как вам кажется, вы искали: нет, работа еще не закончена. Как мы знаем, ИИ может ошибаться, при этом прекрасно умея делать неправильные результаты правдоподобными, что делает человеческую способность различать истину еще одним очень важным навыком. Чтобы ответственно подходить к работе с новыми технологиями, а также получать нужную и точную информацию, мы должны руководствоваться философским мышлением, а также здоровой дозой скептицизма и здравого смысла на протяжении всего пути.

Был момент, когда для создания компьютерной программы мне приходилось физически щелкать переключателями или пробивать отверстия в бумажной перфокарте. Этот процесс был на нулевом уровне простейшей бинарной оппозиции — и был тесно связан с количеством битов памяти или регистров, которыми обладал компьютер. Миллиарды транзисторов и триллионы ячеек памяти поднимали наш процесс создания программного обеспечения на все более и более высокие уровни, позволяя создавать компьютерные языки, которые могут абстрагироваться от сложности базового аппаратного обеспечения, тем самым позволяя разработчикам почти полностью сосредоточиться на качестве алгоритма, а не на двоичном коде.

Сегодня мы находимся на том этапе, когда компьютерам (то есть искусственному интеллекту) не нужен промежуточный уровень перевода между языком, на котором мы говорим, и языком, который они понимают. Нам больше не нужно, как раньше, пытаться разгадать Розеттский камень с его египетскими иероглифами, можно просто говорить с компьютером по-английски. Компьютер, скорее всего, поймет нас так же хорошо, как если бы мы говорили с ним на родном ему Python. Сразу возникает дилемма: облениться или повысить уровень своего мышления?

Когда язык перестает быть барьером, мы можем использовать всю выразительность человеческого языка, чтобы передать ИИ высокоуровневые понятия и логику, которые будут наиболее компактно и эффективно отражать наш запрос в декларативном или повествовательном (сфокусированном на результате, который мы хотим получить) и императивном или повелительном (сфокусированном на шагах, как этого добиться) виде. Императив/указание: поверните налево, затем идите прямо, затем снова налево, затем (1000 раз). Декларатив/описание: отвези меня домой. Я видел, как люди в социальных сетях создавали целые игры с помощью всего нескольких умело написанных подсказок, на разработку подобного в совсем недавнем прошлом ушли бы месяцы.

И вот что я хочу сказать: наличие четкой мысленной модели задачи, способность разбить ее на легко выполнимые шаги, идеальное мышление в рамках определения первооснов задачи, иногда готовность (и способность) спорить с упрямым ИИ — вот те навыки, которые в будущем сделают из вас отличного инженера. Вполне вероятно, что те же соображения применимы ко многим видам профессиональной деятельности.

Мы не хотим потерять возможность открыть капот, когда это необходимо, и исправить ошибки, допущенные ИИ на стадии разработки. Мы должны быть в состоянии (что важно) проверить то, что ИИ создал. Иначе возникнут реальные проблемы для человечества, но мы, люди, скорее всего, не допустим этого — по крайней мере, нам все равно придется создавать новые модели ИИ. Однако это не поможет решить всю проблему. Автоматизация процесса создания кода и концентрация на способности к критическому мышлению — вот что позволит нам создавать и больше, и быстрее, и все еще оказывать большее влияние на мир, чем ИИ. Наша помощь ИИ поможет нам самим стать более человечными и меньше похожими на кибермашины.