为什么w要找s做经纪人?——聊聊软件系统中agent的构思与作用

       我们都知道, w找了s做经纪人

       基于这个陈述句, 我们要问:

       1.  w是谁nbsp; 他是电影明星, 老实巴交, 是很多人的偶像。 

       2.  s是谁nbsp;他是w的经纪人, 那什么是经纪人呢英文里面, 就是agent, 说的俗点, 就是个代理人, 如果你要理解为跑腿(不是抱腿

       3.  w为什么要找s做经纪人为w很忙, 无法对每件事情亲力亲为, 所以需要找个帮手, 也就是所谓的经纪人。

       现在假设有这样一个案例:

       w早上8:00开始工作, 在早上8:00-9:00内, 要把一个礼物送给f导演, 这个礼物必须要在9:00之前送达, 假设完成这项任务需要1小时。 这件事情非常紧急,必须做完,我们称为事件A.

       此时, w又约了一个粉丝见面会, 约定时间是9:00-10:00, 很多粉丝都在此时间段内迫切见到自己的偶像—w, 假设完成这项任务需要1小时。这件事情非常重要, 必须做好, 我们称为事件B.

  

       我们可以看到, w不能先做B, 再做A.  第一:f导演不高兴。 第二:粉丝不高兴。  

       可是呢, w有个非常苦恼的问题: 如果先做完A后, 就没有时间准备, 没有时间休息, 没有时间喝水, 也没有时间撒尿,  匆匆忙忙去见粉丝, 做事情B, 状态可能会不好。

        那怎么办呢虽然憨厚, 但并不傻, 他聪明着呢! 不然也不可能混成明星。 w想, 此时应该让自己的经纪人s来做A, 自己就腾出时间准备做B, 于是乎, 事情就是这样的继续着:

       1.  w对s说: 你去把这个礼物送给冯小刚, 9:00前必须做完。 w把整个送礼过程一五一十地说给s听, s点头, 表示知道这件事情了。 这个过程w花了10分钟, 到了8:10分, w花50分钟的时间去准备与粉丝见面, 在准备时间段内, 该吃吃, 该喝喝, 该拉拉, 化化妆, 美美容, 时间充足得很。

       2. w从容地完成9:00-10:00的粉丝见面会。

       w确实聪明, 用一个agent代理(s)就解决了这个看似很苦恼的问题。 我们回过头来看, 就会发现w的智慧, 他意识到, A事情不必亲力亲为, 而B事情必须亲力亲为, 而且更重要, 所以让agent s去做A事情,  自己做B事情, 精妙!

       在软件系统设计中, 很多地方借鉴了如上思路。 我们来看看:

       进程P产生了一些数据data,  需要上 给A系统, 便于数据分析,  上 后, 进程P又改变数据data, 并要与B系统交互(更重要)。 如果进程P先做A, 再做B,  效率可能就非常低, 因为上 给A系统会浪费太多宝贵时间。由于有数据的改变, 所以A和B两个步骤不可颠倒, 那怎么办呢nbsp; 

       这里可以借鉴w的智慧, 可以引进一个代理进程agent.  进程P在执行任务时候, 先把data数据给agent进程(这个打交道的过程耗时少), 然后agent进程与A系统交互,进行数据上 (耗时多)。 进程P在与agent打交道后, 会去改变data数据, 并立即与B系统交互, 做更有价值的、更重要的事。所以, 对于进程P来说, 几乎是把自己的时间都用在重要的地方, 用在刀刃上, 所以效率很高。

       在实际的软件系统中, 这种方式非常常见, 如果agent是用来做数据收集和上 ,我们就可以称之为为data collect agent,  总之, 就是个代理。 这种巧妙的设计和构思, 可以大大提高效率。

 

       实际上, 计算机科学与技术的发展, 很多地方都借鉴了人类 会的智慧, 所以, 要多思考为什么, 多思考本质, 这样才能逐步提高自己的设计能力。 对于那些非计算机专业的程序员来讲, 这一点尤为重要。 

       最近遇到了一个agent, 所以有上述想法, 也就来闲扯一番!

       好了, 不多扯了。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年3月2日
下一篇 2017年3月3日

相关推荐