Программирование
Написание кода никогда не было самой сложной частью
Впечатляет! Но вот в чем проблема: генерация кода никогда не была самой сложной частью.
2023 год стал годом генеративного ИИ и, в частности, больших языковых моделей. В связи со всеми рассуждениями о генеративном ИИ возникла знакомая реприза: «Неужели эта технология заменит разработчиков программного обеспечения?»
На первый взгляд все понятно. Если вы откроете ChatGPT и дадите ему задание: «Напишите функцию складывания чисел на TypeScript», он послушно сгенерирует следующий код:
function adder(a: number, b: number): number { return a + b; } // Example usage: const sum: number = adder(3, 5); console.log(sum); // Output: 8
Впечатляет! Но вот в чем проблема: генерация кода никогда не была самой сложной частью.
Ценность, которую я привношу в свою работу, заключается не в написании кода. То есть, в конечном счете, я полагаю, что это часть работы, но моя ценность в основном заключается в работе, которая происходит до создания кода — это такие вещи, как уточнение требований, переговоры, технический дизайн и анализ компромиссов.
Одна из лучших черт, которую я чувствую в себе, — это быстрое понимание того, где требования неадекватны, где они либо они недостаточно, либо чрезмерно конкретны. В моем примере с простым сложением модель, вероятно, должна была задать мне такие вопросы, как «сколько чисел нужно сложить?» или «что, если входных данных нет или используются недопустимые данные?». Еще до этого модель должна была понять сценарий использования, чтобы определить, действительно ли нужна функция складывания. После того как модель определит, что функция сумматора необходима и как ее реализовать, она, предположительно, должна будет определить, как лучше всего интегрировать эту функцию в большую кодовую базу.
А теперь представьте себе подобные вопросы, связанные с выяснением требований и техническим проектированием, но в гораздо, гораздо большем масштабе. Обычно требуется написать не функцию складывания чисел, а нечто гораздо более сложное и интегрированное в существующую сложную кодовую базу.
Конечно, все это немного несправедливо: ChatGPT — это генеративная модель искусственного интеллекта, и она не была разработана для инженеров-программистов. Но в том-то и дело, что как бы ни было впечатляюще видеть, как ИИ генерирует код, я еще не видел ни одного ИИ, который мог бы делать все остальные вещи — действительно трудные части в работе инженера-программиста.