标准化代理通信:KQML与GOAL语言解析
1. 引言
在过去十年里,“代理”这一术语从人工智能领域的专业词汇转变为热门话题,它代表着一种软件开发范式,强调设计和运行时的自主性、适应性以及协作性。代理之间的通信能力是其发展的关键,而代理通信语言(ACL)则在其中扮演着重要角色。从知识查询与操作语言(KQML)到智能物理代理基金会(FIPA)的ACL,ACL一直是开发通信代理系统的基石,同时也经历了大量的标准化工作。
2. 代理通信语言概念的起源
KQML源于知识共享努力(KSE),KSE大约在1990年发起,由美国政府机构(特别是DARPA)鼓励和资助。其目标是开发知识共享和重用的技术、方法和工具,适用于知识型软件系统,如智能代理、专家系统或数据库。
KSE的核心概念是知识共享需要通信,而通信需要一种通用语言。在KSE模型中,代理被视为虚拟知识库,通过一种表达各种命题态度的语言交换命题。命题态度是代理、内容命题和有限命题态度集合之间的三元关系,例如< a, fear, rainingnow >。
KSE模型包含三个表示层:
- 命题态度层
- 命题(知识)层,即内容层
- 命题本体(词汇)层
相应地,KSE有三个组件及相关语言:KQML用于命题态度,知识交换格式(KIF)用于命题,Ontolingua用于本体。
KQML受虚拟知识库概念影响,专注于定义命题态度,而不关心交互通信的所有“机制”,也未规定代理的设计和通信方式。这是有意为之,旨在允许在这些问题上进行各种具体设计选择。
3. KQML:ACL的概念
KQ