Мы должны знать — мы будем знать: как ИИ исполнил мечту Гильберта, а мы перестали читать код
Wir müssen wissen – wir werden wissen
Сто лет назад Гильберт мечтал о полной и непротиворечивой системе аксиом, из которой выводится вся математика, и об алгоритме, решающем истинность любого утверждения. Гёдель и Тьюринг доказали, что это невозможно, — и попутно породили информатику. Сегодня ИИ-агенты с Lean и формальными системами воплощают «машину доказательств» Гильберта. Автор, специалист по информатике, видит в этом тревогу: мы всё чаще не читаем сгенерированный код, хотя именно способность понять программу до дна — суть нашей науки.
Отказ читать код программы, проходящей все тесты — даже формальную верификацию, — это то же самое, что игнорировать доказательство, как только ИИ решил теорему в Lean.
- dragontamer
> В противовес глупому ignorabimus наш лозунг будет Wir müssen wissen – wir werden wissen («Мы должны знать — мы будем знать»).
Для тех, кто хочет быстрее добраться до перевода. ИМХО, немного нечестно держать смысл заголовка и тезис всего блогпоста аж до седьмого абзаца.
- t0mek
> Мы должны занять такую же позицию в вычислениях: использовать абстракции, рефакторить, уточнять область, изобретать и внедрять языки более высокого уровня, пока мы не сможем удержать код в голове.
Хочется верить, что это правда. Но в качестве контрпримера: нужно ли нам держать в голове машинный код или ассемблер, сгенерированный из наших программ на C или Golang? Или, скорее, код на Golang — это высокоуровневая абстракция, которой достаточно?
Если это так, означает ли это, что нам следует пойти ещё дальше и рассматривать проектные документы как код, подходящий для удержания в голове, а программу на Golang — как производную? Или, может быть, проектные документы тоже слишком низкоуровневые, и общего вайба «создай мне приложение, не делай ошибок» на самом деле достаточно?
Какой правильный уровень абстракции? Как его найти?
- user2342
«Muss man wissen!»