「エージェント」という用語はソフトウェアの抽象化/アイデア/概念を説明するものであり、その意味でオブジェクト指向プログラミングの各種用語(メソッド、クラス、オブジェクトなど)と同類である。エージェントの概念は、ユーザーの代理である程度自律的に行動できる複雑なソフトウェアを説明するための便利で強力な方法を提供する。しかし、メソッドや属性といった用語で定義されるオブジェクトとは異なり、エージェントはその振る舞いで定義される[4]。