ソフトウェアエージェントとは

ソフトウェアエージェント(SoftwareAgent)は、ユーザーや他のソフトウェアとの仲介(Agency)的関係において動作するソフトウェアを説明する計算機科学上の抽象概念であり、論理的モデルである。そのような代行的行動は行動の適切さの判断や時期の判断の権限を暗示している。すなわち、エージェントの動作はタスクとして厳密に管理されないが、自分自身が勝手に起動することはない。関連する派生概念として、知的エージェント(人工知能的要素である学習や推論を取り入れたもの)、自律エージェント(目的を達成するための方法を自律的に更新できるもの)、マルチエージェントシステム(単体では目的を達成できず、互いに通信する分散エージェント群)、モバイルエージェント(ネットワーク上で自身を実行するプロセッサを乗り換えていくことができるエージェント)などがある。「エージェント」という用語はソフトウェアの抽象化/アイデア/概念を説明するものであり、その意味でオブジェクト指向プログラミングの各種用語(メソッド、クラス、オブジェクトなど)と同類である。
update:2009年08月25日