95379


# 疑問点

ソフトウェアにあるクライアントとエージェントそれぞれの役割の認識が正しいか確認させてください。

# 疑問内容

  * クライアントはPCのドライブ上にクラウド上のファイルを表示し、操作を担う
  * エージェントは複数要素間の仲介役を担う

という認識です。

エージェントはあくまで仲介するだけで操作はできない、という認識であっておりますでしょうか？  
また、エージェントはマネージャーから各サーバに付与・一元管理し、クライアントは特にマネージャーが無く各サーバーにインストールするやり方であっておりますか？

初歩的な質問で恐縮ではございますがご教示頂けますと幸いです。


CC BY-SA 4.0
2023-06-26T04:41:30.817
95374
2023-06-26T09:31:24.997
2023-06-26T07:40:10.403
19110
49430
question
aws
ソフトウェアにあるクライアントとエージェントそれぞれの役割の認識が正しいか確認させてください


**クライアント** (client) は 依頼人・顧客・取引先の意味  
何らかのサービスが提供されている場合に, サービスを提供される側(使用する側)のコンピューターやソフトウェアを指します

**エージェント** (agent) は代理人・代理店・仲介人・取次業者などの意味  
例えば, 出張中に本人に代わって投票するとか。  
「ソフトウェアエージェント」としては, 出張中(あるいは忙しいとき)に, 返信が必要そうな E-mailに返信を出すとか。

* * *

[https://ja.wikipedia.org/wiki/ソフトウェアエージェント](https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88)
より 抜粋

> **ソフトウェアエージェント** （software agent）とは、ユーザーや他のソフトウェアとの仲介 (Agency)
> 的関係において動作するソフトウェアを説明する計算機科学上の抽象概念であり、論理的モデルである。そのような代行的行動は行動の適切さの判断や時期の判断の権限を暗示している。  
>
> 関連する派生概念として、[知的エージェント](https://ja.wikipedia.org/wiki/%E7%9F%A5%E7%9A%84%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88)（人工知能的要素である学習や推論を取り入れたもの）、[自律エージェント](https://ja.wikipedia.org/wiki/%E8%87%AA%E5%BE%8B%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88)（目的を達成するための方法を自律的に更新できるもの）、分散エージェント（物理的に別個のコンピュータ群上で動作するもの）、[マルチエージェントシステム](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0)（単体では目的を達成できず、互いに通信する分散エージェント群）、[モバイルエージェント](https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88)（ネットワーク上で自身を実行するプロセッサを乗り換えていくことができるエージェント）などがある。

> **コンセプト**  
>  ソフトウェアエージェントの持つ基本特性は次の通りである。
>
>   * タスクとして厳密に管理されないが、自分自身が勝手に起動することはない。
>   * ホスト上で所定のイベントの発生を待ち続けることがある。
>   * 動作条件が整うと動作状態になる。
>   * ユーザーからの指示を必要としない。
>   * 通信などの他のタスクを呼び出すことがある。
>

> Nwana によるソフトウェアエージェントの分類  
>
> 「エージェント」という用語はソフトウェアの抽象化/アイデア/概念を説明するものであり、その意味でオブジェクト指向プログラミングの各種用語（メソッド、クラス、オブジェクトなど）と同類である。エージェントの概念は、ユーザーの代理である程度自律的に行動できる複雑なソフトウェアを説明するための便利で強力な方法を提供する。しかし、メソッドや属性といった用語で定義されるオブジェクトとは異なり、エージェントはその振る舞いで定義される。  
>  様々な人々がそれぞれにエージェントの定義を提案しているが、それらには以下のような概念が共通して含まれている。
>
> **永続性** (persistence) -
> そのコードは要求されて実行されるのではなく、常に起動された状態で、何らかの行動を起こす時期を自身で判断する。  
>  **自律性** (autonomy) -
> エージェントは、実行すべきタスクの選択、優先順位付け、目標に向けた行動、意思決定を人間の手助けなしで行う機能を持つ。  
>  **社会性** (social ability) -
> エージェントは他のコンポーネントと何らかの通信や協調をする機能を持ち、1つのタスクを共同で処理する。  
>  **反応性** (reactivity) - エージェントは周囲の環境を把握し、その変化に適切に反応する。


CC BY-SA 4.0
2023-06-26T09:31:24.997
95379
2023-06-26T09:31:24.997
43025
95374
answer