4、agent功能的实现
要求:跨平台一致语法,最小资源代价,支持移动语义
面向agent的编程技术(aop,agent oriented programming)
java
telescript
5.智能agent的应用意义
智能agent在许多方面有着重要的应用意义。
信息服务 信息服务是最广大的用户群接触网络环境的首要渠道。对于信息内容已经相当丰富的英语文化圈来说,进一步提高信息服务的质量,改变目前信息服务中存在的 "信息过载"和"资源迷向"的状况,是信息服务业所面临的最紧迫的任务。智能agent正好可以适应这方面的需要。具体地说,用于信息服务的智能agent主要完成以下功能:1导航 ,即告诉用户所需要的资源在哪里;2解惑,即根据网上资源回答用户关于特定主题的问题 ;3过滤,即按照用户指定的条件,从流向用户的大量信息中筛选符合条件的信息,并以不同级别(全文、详细摘要、简单摘要、标题)呈现给用户;4整理,即为用户把已经下载的资源进行分门别类的组织;5发现,即从大量的公共原始数据(比如股票行情等)中筛选和提炼有价值的信息,向有关用户发布。这些都是使信息服务走向个性化主动服务不可缺少的功能。目前在此方面已经有了一些能够使用的系统,但智能化的程度还远远不够,且主动有余过滤不足已经造成了一些负面的影响,亟待尽快发展更先进的人工智能技术予以解决。
系统与网络管理 计算机系统本身的资源量就非常巨大,系统管理的整个趋势正在朝着"傻瓜化"的方向发展,其中很大一部分原来由系统管理员手工干的事情,现在已经由计算机代管了。系统管理的界面变得更加友好,在系统本身的复杂性不断提高的情况下,驾驭系统资源的复杂性反而在不断降低,代管系统的自主性也在逐步提高。在网络管理方面,随着client/server计算成为主流,完成固定功能的agent的存在和应用已经成为事实,分布在不同设备上"监视"设备状况,并随时向主机报告数据的agent,已经是当今网管系统中很平常的一部分了。但是, 这些从事部分系统/网络管理的agent目前还不能称为"智能agent",它们的智能化程度仍然有待提高。即使作为非系统/网络管理员和操作员的用户,也会有为系统和网络设定常规服务、向系统和网络预约特殊服务的需要,智能agent是满足用户这种需要的最合适的帮手。
电子商务 越来越多的人看好internet上的商业机会。网上的商品越多,在网上寻找商品就越是买方的一大负担;同时,卖方商品的推销也有一个对客户实行因人而宜的主动服务问题。因此,采用智能agent系统,代表买方去网上查看"广告牌"、逛"商店"寻找商品甚至讨价还价,代表卖方分析不同用户的消费倾向,并据此向特定的潜在用户群主动推销特定的商品,都是非常有诱惑力的。
协同工作 把internet引入企业和机构、建立所谓"intranet"的努力正方兴未艾。深层次的intranet最终要改变的是人们的工作方式、企业和组织机构的运作方式,把一切具有信息属性的、可以用符号等价物替代实物的工作流程,统统在网络计算环境中予以实现。在这样的大目标下,企业、机构的相当一部分管理职能,完全可以由网络上自主工作的一组智能agent来协同实现;涉及到设计、写作、数据操纵、软件开发等许多符号性的工作岗位之间的协同工作,也同样可以靠智能agent来协调并代理完成一些辅助性的工作。 "虚拟企业"、"虚拟车间"、"虚拟协同工作平?quot;、"电子秘书"等新鲜事物已经或正在网上出现。
教育 远程教育是促进教育机会平等的重要手段。在网络环境下,可以调动多种教学手段,包括讲解、演示、练习、实验和考试等。其中,练习和实验环节是智能agent可以大有作为的地方。智能agent可以作为虚拟的教师、虚拟的学习伙伴、虚拟的实验室设备、虚拟的图书馆管理员等出现在远程教育系统中,增加教学内容的趣味性和人性化色彩,改善教学效果。单机系统中各种软件的"帮助"也可以设计成一个人性化的角色,实施对用户进行导航这种模式。
娱乐 在网络娱乐系统中引入智能agent,可以增强娱乐效果,这也是娱乐系统开发新功能的一个很有希望的选择。目前智能agent在娱乐方面可以做的事情有:1个性化的节目点播服务;2游戏和虚拟现实中更加人性化的机器角色的设计,比如决策的智能化(战争或经济活动)、动作的人性化(体育比赛)和自然语言对话的使用;3网络社交场合(如聊天室 )中用来招徕用户,或以假乱真的机器对话角色的设计和使用,等等。
agent在网络教学中的应用
基于agent的网上协作学习环境
利用agent来构建网上协作环境,就是在协作学习的环境中嵌入agent模块来更好地实现各部分功能。基于 agent 的网上协作学习环境如图1所示:
图 1 基于 agent 的网上协作学习环境
1).基于agent的协作学习区
基于agent的协作学习区是一块虚拟的共享区域,支持在线协作学习者在各自的计算机上观看同一内容和讨论同一问题,协作学习者可以通过文字、绘图等形式进行信息交流。除了实现学习的协作外,协作学习区还可以实现总任务的接受,据一定的原则划分成子任务,将所有登录的学习者划分成合理的协作学习小组等功能。协作学习区可以通过模拟现实工作中的黑板,即电子白板系统来实现。在此我们应用基于agent的电子白板系统。其模型如图2所示:
图2 基于agent的电子白板系统的模型
管理agent:负责整个系统的管理工作,包括用户的加入、登录,处理交互、协作信息,与存储模块相连进行数据的存储和检索。
消息路由agent:主要提供agent的注册服务,记录各agent的实际网络地址,实现动态维护agent与网络地址的联系;提供路由转发功能,分析kqml中的路由信息,依据注册agent进行各种信息的转发;以及提供消息的缓存功能 。kqml是一种描述性的语言,定义了agent之间传递消息的格式和处理协议,通过提供一套标准的通信原语使得agent间可以交流和共享知识,已成为agent之间通信的事实上的标准;kqml语言采用了"协议栈"的思想,它携带的消息内容可以使用实现agent的语言表达,即意味着kqml可以携带任何一种语言表示的信息。
协作小组agent
协作小组agent实际上是由参与协作学习的学习者与终端计算机进行交互后,形成协作学习者agent,协作区根据协作学习者agent中提供的关于学习者的个人特点,按照一定原则(如:学习水平、思维方式倾向等)划分而成的。其模块图如图3所示。当协作区分配任务时,按照协作学习小组agent的对外特性来确定任务的分配方式,而且,协作小组对外以一种整体的方式体现其功能。当然,当协作小组agent接到任务后,通常会进行再次分配,将任务具体到协作学习者agent,由学习者agent具体实施或通过协作完成任务。
协作学习者agent
协作学习者agent是指参与协作学习的个体agent,它是协作小组agent的组成成员。基于agent的网上协作学习环境为每一位学习者提供了一个个体agent。当学习者在此学习区注册时,个体agent随之生成;当学习者与协作学习区不断交互进行学习时,个体agent将记录下学习者的一些个人特征,如:学习水平、前驱知识掌握程度、知识接受能力、思维倾向方式等,并将这些信息纪录入相应的参数库。当学习者再次登陆时,个体agent的这些参数将为下一步的学习提供指导,如学习内容的提供、学习路径的提供以及学习界面的提供等。如若学习者随着学习的不断深入,学习能力、学习水平、思维倾向性等积累到一定域值的变化,则个体agent中的参数将随之更新。
其模块图如图4所示。
控制器:协调各部分的工作,并负责分配任务以驱动其它模块工作;
任务接受器:负责接受经过分配后的子任务;
规划:评判任务的标准、方法和原则以及评判学习者的标准、规则等;
处理器:解决控制器分配给它需要自动处理的任务;
参数库:存放小组或成员执行、完成任务的情况,及学习小组或成员的学习风格、学习水平、学习能力等信息。
通讯模块:与其它小组或成员进行信息交流和合作的渠道。
具体运作过程如下:当任务接受器接受到需要完成的子任务后,送至控制器;控制器即根据规划库中的规则评判任务或学习内容的难易程度、难度系数、区分度等,并打上相应标记。通过通讯模块将其传送至学习者本人;当学习者完成任务时,规划模块将评判学习者的学习能力、学习水平等,并给出评判结果,分数值;若分数值达到或超出可以改变参数库域值得值,则修改参数库中的参数,否则不修改。
2). 基于agent技术的网上协作学习环境的运作方式
大致来讲 ,整个基于 agent 的网上协作学习实施过程如下:当总任务提交给基于agent的协作学习区后,基于agent的协作学习区或参与协作学习的教师,将任务划分成相应个数的子任务,然后分配给各个协作学习小组agent;协作学习小组agent相互合作完成子任务后,将结果提交给协作区,由协作学习区将所有结果有机汇总、综合,形成最终成果,并提交给总任务结果接受器,之后由教师组织全体协作学习者对结果进行分析、评价以及各小组解决问题思路方式的评判、学习等。当然,如果有多个协作学习区,各协作区之间还可以进行交互、合作、交流等活动。
基于agent的网上的协作学习的具体实施过程主要有:学习者登录注册、小组划分、任务分配、协作学习的实施、成果汇总、评价几个阶段。
学习者登录注册
当学习者进入协作学习区后,首先要进行注册登记。具体过程是:当协作学习者agent首次进入协作系统时,需要向消息路由agent提交注册信息,如:agent的名字、密码、ip地址等有关数据,并记录入agent注册表中。
小组划分
根据学习者的学习能力、学习水平、思维方式的倾向性等组成2-6人的协作学习小组。成员的分配一般采用互补的方式分配组员,这样有利于提高协作学习效果。小组划分有自主式和被动式两种。自主式是指每个学员在了解了总体学习任务和所有其它登录学习者的情况以后,自己做出与谁结组的判断,并通知消息路由agent,再由服务agent确认形成正式的协作小组。被动式是指由服务agent根据消息路由agent中注册登录的学习者的情况,将学员按要求分组,或者由参与协作学习的教师来分组。一般分组应注意学习者的优劣搭配、不同学习风格的搭配等。
任务分配
任务划分是协作学习的关键所在。当总任务到来时,运用kqml消息包,通过消息路由agent,将其送至管理agent,管理agent将按照一定原则将总任务划分成多个子任务,并根据学习者agent提供的有关学习者的个人信息尽量将适合于学习者特性的任务内容分配给学习者。
在任务划分过程中要注意任务划分的原则:任务划分要合理,一般应该根据任务的内在逻辑结构、知识点划分等划分任务;任务划分轻重、大小要适当,不能有轻有重;还要注意任务的前驱后继等情况,并将此类信息通知相应的协作学习小组agent;分配任务要根据各小组成员的个性特点进行,尽量做到符合学习者的学习方式、学习水平、思维方式倾向等等。
具体协作学习的实施
协作学习的机制主要有:①冲突与竞争机制、②自我解释机制、③内在化机制、④学徒机制、⑤共同承担认知任务机制、⑥共享规则机制。在此,我们不多加以区分,而看作几种机制的综合使用。
具体协作实现过程如下:协作学习者agent通过任务接收器接受子任务,并传送给控制器,规划模块在控制器接受任务后帮助控制器分析任务、制订解决任务的计划等;然后由协作学习者操纵控制器,通过任务驱动处理器处理任务。在此过程中,有的任务由成员a完成,有的任务由成员b完成,也可能由a和b共同来完成,还有可能借助于其它协作小组或其成员来完成。另外,有些工作还要求使用其它小组所承担任务的部分或全部成果,此时,要考虑到其它小组的任务实施和完成情况,及时互通信息、交流学习收获等。
成果汇总
当每一个协作小组或成员均完成任务时,就需要将所有成果汇集在一起,有机协调、组合后,形成一个总的学习成果,从而实现总任务的完成。具体讲就是:协作学习者agent将其学习成果通过电子白板系统中的消息路由agent和服务agent传送出去,与其它小组或成员的成果汇总在一起,形成总的成果。在此期间,还可以互相学习彼此的学习方法、解决问题的思路等。
评价
任何学习到最后都有一个评价的过程,基于agent的网上协作学习也不例外。评价可以是组内成员互相评价、可以是组间互相评价等。基本工作机制是运用基于agent的电子白板系统作为评价中介区,象协同学习时交流问题一样进行评价信息的传递。
3).基于agent技术的网上协作学习环境的特点
通过基于agent技术的网上协作学习环境的运作方式可以看出:整个过程中信息的交流、传递都是基于agent来实现的,由于agent能够通过与学习者的交流了解学习者自身的特点,并做出反应,得出并纪录和修改学习者的学习特征、学习风格及判断学习者的知识水平等,从而使整个学习环境具有个性化、智能性的特点。
个性化特点:
通过使用学习者agent,记录学习者的学习个性特征,如学习能力、学习方式、学习的水平等等,此后根据这些参数组织学习内容和生成学习界面提供给相应的学习者,使得学习者的学习内容和学习界面均具有个性化的特征。
智能化特点:
在引入agent之后,可以在没有教师角色的情况下实现动态的智能分组、动态的组织学习内容和动态的生成学习界面等,所有这一些都是智能化的特性。