ИИ уже способен создавать программное обеспечение с беспрецедентной скоростью.
Но настоящая проблема ближайших десятилетий будет заключаться не в написании кода — а в ответственности за цифровые системы, которые мы запускаем в мир.
Впервые в истории человечество может генерировать программное обеспечение быстрее, чем способно понимать создаваемые системы.
На протяжении многих лет индустрию программного обеспечения волновал один вопрос:
Кто будет писать код?
Теперь искусственный интеллект способен генерировать тысячи строк кода за секунды.
Но это порождает гораздо более важный вопрос — тот, который почти никто в технологическом мире не задаёт:
Кто будет нести ответственность за жизнь программных систем, которые ИИ собирается создавать?
Потому что написать код легко.
Жить с последствиями этого кода следующие двадцать лет — значительно сложнее.
Чтобы понять, что на самом деле происходит, нужно разделить три совершенно разные роли в разработке программного обеспечения.
1️⃣ Написание кода
2️⃣ Проектирование алгоритмов и систем
3️⃣ Ответственность за жизненный цикл программного обеспечения
Эти роли часто воспринимаются так, будто это одно и то же.
Но это не так.
И появление ИИ заставляет нас наконец увидеть эту разницу.
Три уровня создания программного обеспечения
ТРИ УРОВНЯ СОЗДАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Уровень 1
Написание кода
Перевод идей в инструкции для машин.
ИИ быстро становится очень эффективным в этом.
Уровень 2
Проектирование алгоритмов и систем
Структурирование логики, архитектуры
и долгосрочного развития программного обеспечения.
ИИ может помогать, но человеческое мышление остаётся ключевым.
Уровень 3
Ответственность за жизненный цикл программ
Обеспечение того, чтобы системы оставались понятными,
поддерживаемыми и жизнеспособными на протяжении десятилетий.
Этот уровень почти отсутствует в современной индустрии ПО.
ИИ стремительно трансформирует первый уровень.
Второй уровень остаётся серьёзной интеллектуальной задачей.
А третий — ответственность за жизнь программного обеспечения — это проблема, которую индустрия только начинает осознавать.
Уровень 1: Написание кода — то, что ИИ может заменить
Написание кода во многом является задачей перевода.
Разработчик переводит идею, алгоритм или архитектуру системы в набор инструкций, которые может выполнить компьютер.
Современные языковые модели уже очень хорошо справляются с этим.
Они могут:
генерировать функции
переводить код между языками программирования
создавать каркасы приложений
автоматически дополнять сложную логику
Другими словами, ИИ становится чрезвычайно эффективным в генерации кода.
Но здесь скрыта опасность.
Когда создание кода становится дешёвым и практически мгновенным, мы начинаем производить программное обеспечение так же, как фабрики производят товары — в огромных количествах.
Без чёткого алгоритмического мышления многие такие системы могут превратиться в то, что я называю программами-бубликами.
Снаружи они выглядят цельными.
Но внутри есть пустота — алгоритмическая структура неясна, хрупка и трудно изменяется.
ИИ способен выпекать миллионы таких бубликов.
Но больше программного обеспечения не означает лучшие системы.
Фабрика бубликов
С появлением ИИ индустрия программного обеспечения может начать напоминать гигантскую фабрику, производящую программы с невиданной скоростью.
Код будет генерироваться автоматически.
Приложения будут появляться за минуты.
Но скорость не гарантирует структуры.
Без ясного алгоритмического мышления многие системы могут стать программами-бубликами — программным обеспечением, которое выглядит цельным, но имеет пустоту в центре.
ИИ может выпекать миллионы таких бубликов.
Но массовое производство программного обеспечения не означает создан��е лучших систем.
Парадокс бублика ИИ
ИИ способен генерировать программное обеспечение быстрее, чем когда-либо прежде.
Но эта скорость создаёт парадокс.
Чем легче становится производить код, тем легче потерять из виду алгоритм, который придаёт системе структуру.
Другими словами, ИИ может резко увеличить количество программного обеспечения в мире — одновременно делая его основополагающие идеи всё менее заметными.
Результатом может стать взрыв идеально выпеченных программ-бубликов:
красивых снаружи, но пустых внутри.
Уровень 2: Проектирование алгоритмов и систем
Второй уровень создания программного обеспечения — это проектирование алгоритмов и систем.
Именно здесь разработчики отвечают на вопросы:
Какова структура алгоритма?
Как распределить ответственность между компонентами?
Как система будет развиваться со временем?
Как сохранить ясность алгоритма по мере роста системы?
Эта работа требует абстрактного мышления, архитектурного видения и долгосрочного планирования.
ИИ может помогать в этих задачах.
Но полностью заменить человеческих архитекторов систем значительно сложнее.
Алгоритмы — это не просто инструкции.
Это идеи.
И в некотором смысле именно это и есть «дырка бублика» в программном обеспечении.
Когда мы смотрим на код, мы видим тесто — видимую структуру инструкций, файлов и синтаксиса.
Но сам алгоритм часто остаётся невидимым.
Он является идеей, которая организует инструкции и придаёт системе смысл.
Именно дырка формирует бублик.
Без неё это был бы просто кусок хлеба.
То же самое происходит и в программном обеспечении.
Когда разработчики видят только код, они видят лишь реализацию.
Но алгоритм — организующая идея системы — постепенно исчезает из поля зрения.
И всё же именно алгоритм является самой важной частью.
Как и дырка бублика, он существует, даже если мы не можем увидеть его напрямую.
Если съесть бублик, тесто исчезнет — но дырка не исчезнет из мира идей.
Потому что идеи не умирают.
Как только алгоритм открыт, он становится частью интеллектуальной инфраструктуры цивилизации.
Его можно реализовать на разных языках программирования, на разных машинах и в разные технологические эпохи.
Код меняется.
Технологии исчезают.
Но алгоритмы — как идеи — продолжают жить.
Исчезновение алгоритмов из современного программирования
За последние десятилетия программирование постепенно сместило фокус с алгоритмов на код.
Разработчики проводят большую часть времени, работая с фреймворками, библиотеками и интеграцией компонентов.
Видимая структура программного обеспечения становится всё более сложной и громоздкой.
Но алгоритм — центральная идея системы — часто уходит на второй план.
Во многих современных проектах даже трудно указать, где именно находится алгоритм.
Остаётся в основном реализация: слои кода, построенные поверх других слоёв кода.
Дырка бублика — алгоритмическая идея — всё ещё существует, но её уже почти не видно.
И когда алгоритмы исчезают из поля зрения, программное обеспечение постепенно теряет свою структуру, прозрачность и долгосрочную устойчивость.
Уровень 3: Ответственность за жизненный цикл программного обеспечения
Третий уровень почти незаметен в современной ИТ-индустрии.
Это ответственность за жизненный цикл программных систем.
Программное обеспечение не исчезает после написания.
Оно существует годами — иногда десятилетиями.
Оно развивается.
Накопляет зависимости.
Становится частью инфраструктуры, от которой зависит общество.
И всё же индустрия почти не имеет системного способа оценивать долгосрочную устойчивость программных систем.
Мы измеряем производительность.
Мы измеряем доход.
Мы измеряем количество пользователей.
Но мы почти никогда не измеряем:
можно ли безопасно изменять систему
остаются ли её алгоритмы понятными
поддерживает ли архитектура долгосрочное развитие
накапливает ли система опасный технический долг
В других областях это было бы немыслимо.
Строительство имеет структурные аудиты.
Финансы имеют бухгалтерские стандарты.
Экология имеет индексы устойчивости.
А индустрия программного обеспечения — несмотря на своё влияние на современную цивилизацию — почти ничего подобного не имеет.
Рост цифрового загрязнения
В физическом мире индустриальное развитие привело к загрязнению.
Фабрики создавали богатство — но также дым, отходы и экологические проблемы.
Нечто подобное может произойти и в цифровом мире.
Если ИИ ускорит создание программного обеспечения, мы можем увидеть взрыв цифрового загрязнения:
хрупких архитектур
непрозрачных алгоритмов
систем, которые невозможно безопасно развивать
Чем быстрее мы генерируем код, тем быстрее может накапливаться это загрязнение.
Поэтому настоящий вызов эпохи ИИ может заключаться не в генерации кода.
А в устойчивости программного обеспечения.
Цифровое домостроительство
Каждая технологическая цивилизация рано или поздно усваивает один урок:
создавать легко — отвечать за созданное сложно.
Строить системы интересно.
Поддерживать их десятилетиями — это ответственность.
Идея Digital Stewardship (Цифрового Домостроительства) проста:
разработчики программного обеспечения — это не просто создатели кода.
Они являются хранителями долгоживущих цифровых экосистем.
Их ответственность не заканчивается в момент компиляции кода.
Она именно тогда начинается.
От ИИ к ответственности за программное обеспечение
AI
↓
Массовая генерация кода
↓
«Фабрика бубликов»
↓
Цифровое загрязнение
↓
Необходимость цифрового домостроительства
↓
MSI — Methodological Sustainability Index
Чем быстрее мы создаём программное обеспечение, тем выше риск цифрового загрязнения.
Чем больше цифрового загрязнения возникает, тем острее становится необходимость ответственного отношения к программным системам.
MSI — это попытка измерить, остаются ли программные системы жизнеспособными с течением времени.
Путь к стандарту устойчивости программного обеспечения
Если ИИ резко увеличит объём программного обеспечения в мире, индустрии потребуются новые инструменты для оценки его устойчивости.
Сегодня мы измеряем:
производительность
доход
рост числа пользователей
Но почти никогда не измеряем, сможет ли система пережить десять или двадцать лет развития.
Именно поэтому создаётся Methodological Sustainability Index (MSI).
MSI предназначен для оценки методологической устойчивости программных систем — прозрачности алгоритмов, модульности, изменяемости и долгосрочной сопровождаемости.
Во многих отраслях показатели устойчивости со временем становятся стандартами.
Финансы разработали стандарты бухгалтерского учёта.
Экология разработала индексы устойчивости.
И индустрии программного обеспечения, вероятно, потребуется нечто подобное.
«ИИ может писать код будущего, но человечество должно взять ответственность за жизнь систем, которые оно создаёт».
— Valeri Rakitine, Founder of Eco-Programming Alliance (EPA)
Предупреждение для эпохи ИИ
Человечество входит в эпоху, когда программное обеспечение можно генерировать быстрее, чем когда-либо прежде.
Строки кода больше не будут редкостью.
Их будет избыток.
Но избыток не означает мудрость.
Если мы будем относиться к программному о��еспечению как к чему-то, что можно бесконечно производить и так же быстро забывать, цифровой мир может заполниться хрупкими системами, которые никто до конца не понимает и за которые никто не чувствует ответственности.
Цивилизации уже проходили через это.
Индустриальный прогресс сначала создал загрязнение — и лишь потом экологическую ответственность.
Эпоха ИИ может повторить ту же ошибку в цифровом мире.
Настоящий вызов ближайших десятилетий будет заключаться не в написании программного обеспечения.
А в ответственности за жизнь систем, которые мы выпускаем в мир.
И чем раньше мы начнём измерять и защищать их устойчивость, тем больше шансов у нас будет построить цифровую цивилизацию, способную существовать долго.
ИИ будет писать код.
Но человечество должно взять ответственность за жизнь программного обеспечения.
