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