Способ создания интеллектуального агента зависит от характера стоящей перед нами задачи. Это, в свою очередь, зависит от трех вещей: во-первых, от характера среды, в которой будет действовать агент (шахматная доска очень сильно отличается от переполненного шоссе или мобильного телефона); во-вторых, от наблюдений и действий, связывающих агента со средой (например, «Сири» может иметь или не иметь доступ к камере телефона, позволяющей ей видеть); в-третьих, от задачи агента (задача научить противника лучше играть в шахматы очень отличается от задачи выиграть матч).
Приведу лишь один пример того, как агент зависит от всего этого. Если поставлена задача выиграть данную партию, шахматная программа должна учитывать только текущее состояние доски и совершенно не нуждается в памяти о прошлых событиях[55]. Обучающая программа, напротив, должна постоянно обновлять свою модель того, какие нюансы игры в шахматы ученик понимает и какие не понимает, чтобы иметь возможность давать полезные советы. Иными словами, для обучающей программы ум ученика является релевантной частью среды. Более того, в отличие от доски, это та часть среды, которая недоступна для прямого наблюдения.
Характеристики задач, влияющие на конструкцию агента, требуют ответа на следующие вопросы[56]:
• Является ли среда полностью наблюдаемой (как в шахматах, где ввод обеспечивает прямой доступ ко всем релевантным событиям текущего состояния среды) или частично наблюдаемой (как при управлении автомобилем, где поле зрения водителя ограничено, транспортные средства непрозрачны, а намерения других водителей неизвестны)?
• Являются ли среда и действия дискретными (как в шахматах) или фактически непрерывными (как при вождении)?
• Содержит ли среда других агентов (как в шахматах и вождении) или нет (как при поиске кратчайшего маршрута на карте)?
• Являются ли результаты действий, заданные «предписаниями» или «физикой» среды, предсказуемыми (как в шахматах) или непредсказуемыми (как при вождении и прогнозировании погоды), а сами предписания — известными или неизвестными?
• Испытывает ли среда динамическое изменение, вследствие чего время принятия решения жестко ограничено (как при вождении), или не испытывает (как в стратегии оптимизации налогообложения)?
• Каков период времени, для которого производится оценка качества решения в соответствии с задачей? Он может быть очень коротким (как при экстренном торможении), средним (как в шахматах, где матч длится до сотни ходов) или очень длинным (как при доставке меня в аэропорт, что может потребовать сотен тысяч циклов принятия решения, если такси принимает их 100 раз в секунду).