Chapter 7 Communicating
把消息视为带意图和前后条件的行动,比较言语行为、KQML、FIPA ACL 与 JADE。
学习目标
- 能把消息视为带意图与前后条件的行动
- 能比较 KQML 与 FIPA ACL 的消息类型
- 能用 JADE 实现一次双向通信
为什么必须先冻结联合模型
先预测:一条缺少 performative 的消息会引发什么问题?带着判断进入本页。
把消息视为带意图和前后条件的行动,比较言语行为、KQML、FIPA ACL 与 JADE。 代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。 本页不以单个代理“看起来聪明”为通过条件,而是检查联合状态、偏离动机、失败传播和可重放证据。
直觉、对象与计算合同
贯穿场景是:买方代理发起请求、接收提案、确认并处理超时。参与者、可观察信息、行动集、偏好或目标、环境转移、协议版本和终止条件必须在运行前固定,不能在看到结果后修改效用或阈值。
公式用于公开关系与前提,不替代正式证明或实证测量。语法兼容不代表语义兼容,协议状态和本体版本必须共同验证。 本页重点防范:接收方识别 INFORM 字段,却在错误会话状态接受了过期内容。
外层消息格式:performative + 内容 + 本体声明。tell、ask-if、achieve 等原语。
正式目录节点:解释与联合验证
下列目录节点逐项映射到解释、页面专属实验和章末答案。每个节点都必须指出它改变哪个联合状态以及什么观测会推翻结论;单纯出现术语不计覆盖。
Chapter 7 Communicating
“Chapter 7 Communicating”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查言语行为;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.1 Speech Acts
“7.1 Speech Acts”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查KQML;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.1.1 Austin
“7.1.1 Austin”细化本单元的正式问题,需要映射到参与者、信息、行动、结果和失败边界。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查FIPA ACL;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.1.2 Searle
“7.1.2 Searle”细化本单元的正式问题,需要映射到参与者、信息、行动、结果和失败边界。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查会话状态;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.1.3 The plan-based theory of speech acts
“7.1.3 The plan-based theory of speech acts”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查JADE;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.1.4 Speech acts as rational action
“7.1.4 Speech acts as rational action”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查言语行为;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.2 Agent Communication Languages
“7.2 Agent Communication Languages”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查KQML;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.2.1 KQML
“7.2.1 KQML”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查FIPA ACL;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.2.2 The FIPA Agent Communication Language
“7.2.2 The FIPA Agent Communication Language”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查会话状态;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
7.2.3 JADE
“7.2.3 JADE”描述消息行为或会话规则,字段可解析不代表意图、上下文和状态都有效。 在“代理通信语言不仅定义字段,还定义 communicative act 的意图、可行前置条件和期望效果;互操作需要会话协议、内容语言与本体同时兼容。”这条联合因果链中,本节点重点检查JADE;只改变一个条件并保存联合轨迹,若出现“接收方识别 INFORM 字段,却在错误会话状态接受了过期内容”,就在首个分叉停止。
常见误区
术语
小结
- 消息视为带意图和前后条件的行动
- 代理通信语言定义意图、前置条件和期望效果
- 互操作需会话协议、内容语言与本体同时兼容
- 语法兼容不代表语义兼容
- 错误会话状态中不应接受过期消息内容
容易踩的坑
误区 1
现象 → 消息不带 performative 原因 → 接收方不知如何处理 修法 → 每条消息声明意图类型
误区 2
现象 → 对话无超时机制 原因 → 双方互等形成死锁 修法 → 每步设截止期与终止分支
误区 3
现象 → 自造消息格式 原因 → 互操作性丧失 修法 → 遵循 FIPA ACL 标准
练习与答案
前后导航
练习
练习
问题 1: performative 是什么?
问题 2: KQML 与 FIPA ACL 的关系?
问题 3: 设计一个三轮报价协商的消息序列。(独立实现)