Использование термина «агенты» в ИИ (что, скорее всего, то, что вы имеете в виду, это наиболее распространенный академический справочник) на самом деле является синонимом «программы, действующей от имени пользователя».Агент считается более привлекательным, потому что это несколько персонифицированный термин, являющийся доверенным лицом для пользователя;также, как правило, это связано с функциональностью более высокого порядка (планирование для агентов, обучение для агентов, автономные агенты и т. д.).Подробнее о происхождении термина в Википедии:
http://en.wikipedia.org/wiki/Software_agent
Учитывая, что термин «агент» больше относится к цели и типу программного обеспечения, а не к тому, как он естьзапрограммировано.ООП больше связано с тем, как оно технически спроектировано / реализовано.
Так что нет ничего плохого в том, чтобы проектировать своих агентов, используя принципы ООП.Эти два предмета не являются взаимоисключающими.
Кроме того, имейте в виду (как некоторые из вышеупомянутых комментариев ссылаются, и я согласен с ними): использование «агентов» в академических кругах - более романтичный термин;большая часть программного обеспечения действует от имени какого-либо пользователя (-ей), и поэтому во многих вещах есть функциональность агента.В конце концов, это всего лишь программное обеспечение, и если вы удалите термин «агент» из нашего коллективного лексикона, вы не станете наказывать за простую разработку / реализацию программного обеспечения.Вы увидите элементы этой же дискуссии на форумах, посвященных агентно-ориентированному программированию, например:
http://ootips.org/agent-orientation.html