Брукс отлично знал, что роботы не прошли проверку на категоризацию новых данных, потому что двадцать лет назад, когда он выдвинул эту идею, роботов бы заклинило, если бы на их пути оказался, скажем, зефир или вообще что-либо, чего нет в запрограммированном перечне объектов, которых следует остерегаться. Они не сумели бы перестроиться соответственно изменившимся условиям. А вот категориальная архитектура, будь она заложена в конструкции робота, позволила бы ему вносить изменения – раз за разом добавлять к существующим слоям новые. Каждый слой оказывал бы влияние на нижележащие и таким образом внедрялся бы в архитектуру более крупного масштаба. Как подытожил в «Энциклопедии психики» Хэрольд Пашлер, «ключевая идея состоит в том, что система не создает единого, цельного представления о мире – напротив, сенсорные сигналы обрабатываются по-разному на каждом уровне, так что между сенсорными данными и двигательными сигналами, необходимыми для управления исполнительными механизмами робота, устанавливаются более или менее прямые, специфические для поведения соответствия»[15]. То есть справляться с текущими трудностями роботу каждый раз помогают узкоспециализированные системы – быстродействующие, эффективные и полезные. Централизованной системы, которая меняла бы картину отклика, когда робот встречается с очередным незнакомым препятствием, не существует. Вместо нее добавляется отдельная инструкция для конкретной ситуации, так что разработчики все время добавляли новые и новые инструкции по преодолению все новых и новых трудностей, которые возникают в окружающей среде. Никто не пытается решить все и сразу с помощью одного главного органа. Новые слои добавляются в систему по мере поступления проблем. Это все очень напоминает модули, образующие многослойную архитектуру. Собственно, модуль и сам по себе может служить слоем – или же слой может складываться из нескольких модулей. Консолидированные (интегративные) модули, о которых шла речь в конце 4 главы, – это модули обработки информации, составляющие один из верхних слоев. Он получает информацию с предыдущей ступеньки и обрабатывает ее согласно своему протоколу так, чтобы выдать более сложный продукт – может статься, даже модель психического (модель психического мира другого) или самоосознание!
Слои обеспечивают гибкость. Внести обновления в многослойную систему легко и просто, благо менять приходится только один слой, сохраняя все остальные. Если же что-то пойдет не так, легко найти причину ошибки. Нет нужды отправлять в утиль или ремонтировать всю систему – достаточно исправить неполадки на одном или нескольких неработающих слоях. В многослойной системе вашего костюма вы можете сменить порванную рубашку, а вот новые брюки вам не понадобятся. Что касается мозга, возможно, вам будет труднее заменить его части, однако, если где-то возникнет сбой, вы не лишитесь всей системы.
Прелесть многослойной архитектуры в том, что она выполняет задачу для пользователя сложных систем, не посвящая его в подробности процесса. Высший слой смартфона – это слой приложений, и при такой схеме нам не надо знать или понимать, как работают остальные слои системы. Вряд ли вы хотите в обязательном порядке разбираться в протоколах распределения памяти каждый раз, когда вам надо отправить рассылку или щелкнуть фото. Точно так же мы должны поблагодарить судьбу за возможность пользоваться своим мозгом и не знать, как он работает. Нам неведом механизм превращения нашего обеда в энергию – мы просто съедаем его, и все. То же самое относится и к нашей психике. Мы понятия не имеем,