用途:prototype 是 MOOLLM 中实现原型继承的技能,核心思想是“对象皆由原型克隆而来,而非由类实例化”。它受 Self 语言启发,用具体示例代替抽象类,克隆后按需修改,缺失的槽则委托给原型。
主要能力:对象由槽组成,槽可为数据槽、方法槽或父槽(parent*);消息查找先看自身槽,再沿父链向上,首个匹配者胜出;克隆可生成新对象并覆盖或新增槽。MOOLLM 通过 Delegation Object Protocol(DOP)实现该机制,实例目录中的 PROTOTYPES.yml 可列出多个父技能,解析策略为 first-match-wins,状态不继承、始终本地。
使用方式:在实例目录放置 PROTOTYPES.yml,例如: prototypes:
- path: "skills/room"
- path: "skills/adventure" resolution: strategy: "first-match-wins" 文件解析先查本地目录,再按顺序查各原型,首个匹配生效。示例中 examples/adventure-4/pub/ 的 ROOM.yml 会遮蔽原型,state/ 仅本地存在,缺失文件委托给 skills/room/。
适用场景:面向 LLM 的文件系统式继承,因 LLM 不计算继承算法而是导航文件,原型链显式、可导航、具体、每次查找独立,便于技能、房间实例、角色等对象复用与覆盖。
限制:资料未提供具体安装命令、收费、平台或效果数据;其机制依赖 MOOLLM 的 DOP 与文件解析约定,非通用编程语言实现。