12. 认知层 — 技能
认知层的技能子系统是 iFay 的"能力库"——它管理硬件驱动、外部注册技能和内在固有能力,让 iFay 拥有可扩展的行动能力。
12.1 设备驱动中枢
一句话定义
设备驱动中枢是 iFay 的运动神经——如果硬件是 iFay 的"肢体",设备驱动中枢就是连接大脑和肢体的运动神经。它确保 iFay 能正确控制各种硬件设备,而且新设备接入时不需要"重新学习走路"。
为什么需要它
想象一下你的身体:你的大脑想拿起桌上的杯子,它不需要知道手臂肌肉的每一根纤维怎么收缩——运动神经会把"拿杯子"这个意图翻译成精确的肌肉指令。更妙的是,当你第一次学会骑自行车时,你的大脑不需要重新学习怎么走路——新的运动技能是在已有的神经通路上"叠加"的,不会破坏原有的能力。
iFay 面对的硬件世界也是如此。智能灯泡、空调、窗帘、扫地机器人、无人机……每种设备都有自己的"语言"和控制方式。如果 iFay 每接入一个新设备就要改一次内部架构,那就像你每学一个新动作就要重新学走路一样荒谬。
设备驱动中枢解决的就是这个问题。它是一个中枢层(Hub),不是某个具体的驱动程序,也不是驱动程序的简单集合。它提供一套标准化接口,让任何新设备驱动都能"即插即用"地接入,而 iFay 的其他模块完全感知不到变化。就像你的运动神经系统——无论你学会了多少新技能,你的大脑结构不需要改变。
它在架构中的位置
iFay 四层架构
├── 社交层
├── 交互层
│ ├── 感知(Sense)
│ │ ├── 传感器 ← 感知环境数据,硬件接口由驱动中枢管理
│ │ └── ...
│ └── 动作(Action)
│ ├── 技能调用 ← 调用技能时可能需要操控硬件
│ └── ...
├── 认知层 ← 设备驱动中枢在这里
│ ├── 思维(Thought)
│ │ └── ...
│ └── 技能(Skill)
│ ├── 👉 设备驱动中枢 ← 所有硬件的"运动神经"
│ ├── 注册技能
│ └── 内部技能
└── 自我层
└── Ego 模型
设备驱动中枢位于认知层的技能子系统中。它向上为交互层的传感器和动作模块提供硬件控制能力,向下通过 CAP(控制权限协议) 直接调用终端硬件的驱动程序、本地接口和命令。
你可以把它想象成脊髓——它不做决策(那是大脑/认知层的事),但所有从大脑到肢体的运动指令都必须经过它。它的存在让大脑可以专注于"想做什么",而不用操心"怎么让肌肉动起来"。
它是怎么工作的
设备驱动中枢的工作方式可以用三个关键词概括:标准化、透明化、优雅降级。
1. 标准化——统一的接口契约
无论是智能灯泡还是工业机械臂,每个设备驱动在接入时都必须遵循同一套接口规范。驱动中枢定义了标准的注册、调用和状态查询接口:
- 注册驱动:新设备驱动声明自己的类型、能力和支持的命令
- 调用设备:通过统一的命令格式控制任何已注册的设备
- 查询状态:随时了解某个驱动是否正常工作
这就像你身体的运动神经系统有统一的信号传导方式——无论是控制手指还是控制腿部,神经信号的"协议"是一样的。
2. 透明化——对其他模块完全透明
当一个新的设备驱动被添加到 iFay 时,iFay 的其他模块(传感器、技能调用、自驱行为等)完全不需要做任何修改。驱动中枢把所有硬件差异都"吸收"了,对外只暴露统一的接口。
这就像你学会了骑自行车——你的视觉系统、平衡系统、决策系统都不需要"升级",只是运动神经系统多了一条新的通路。
3. 优雅降级——驱动失败不会让 iFay 崩溃
如果某个设备驱动加载失败或者设备离线了怎么办?驱动中枢不会让整个 iFay 因此瘫痪。它会:
- 向 iFay 报告该驱动不可用的状态
- 提供降级操作建议(比如"空调驱动离线,建议通过模拟操作使用空调遥控器 APP")
- 其他设备的控制完全不受影响
这就像你的一只手受伤了——你的另一只手、你的腿、你的嘴巴都还能正常工作。身体不会因为一个部位的问题而全面瘫痪。
与其他模块的关系
| 相关模块 | 关系 | 人体类比 |
|---|---|---|
| 传感器 | 传感器的实际硬件接口由设备驱动中枢管理 | 神经末梢的信号通过运动神经传导 |
| 技能调用 | 技能调用在执行涉及硬件的任务时,通过驱动中枢操控设备 | 大脑下达指令 → 运动神经执行 |
| 个人数据堆 | 设备产生的数据通过驱动中枢采集,最终存储在个人数据堆中 | 感觉信号 → 记忆存储 |
| CAP 协议 | 驱动中枢通过 CAP 协议获得硬件控制权限 | 运动神经的"授权通道" |
| 注册技能 | 某些注册技能需要调用硬件能力,通过驱动中枢间接实现 | 学会的技能需要通过运动神经来施展 |
场景故事
场景一:iFay 控制智能家居
晚上 8 点,你对 iFay 说:"帮我把家里调成电影模式。"
iFay 理解了你的意图,然后通过设备驱动中枢同时操控多个设备:
- 智能灯泡驱动:把客厅灯光调暗到 20%,色温切换为暖黄色
- 空调驱动:温度设定为 24°C,风速调到最低(安静模式)
- 智能窗帘驱动:关闭窗帘,遮挡外部光线
- 投影仪驱动:开启投影仪,切换到 HDMI 输入源
这四个设备来自不同品牌,使用不同的通信协议(WiFi、蓝牙、Zigbee),但 iFay 完全不需要知道这些差异。设备驱动中枢把所有复杂性都屏蔽了——对 iFay 来说,它只是发出了四条标准化的命令,就像你的大脑只需要想"拿起杯子",不需要计算每根手指该弯曲多少度。
场景二:新扫地机器人即插即用
你买了一台新的扫地机器人回家。你把它连上家庭网络后,iFay 通过终端设备发现了这个新硬件。
接下来发生的事情对你来说几乎是无感的:
- 终端设备扫描到新的扫地机器人,将其信息报告给 iFay
- 设备驱动中枢自动加载扫地机器人的驱动程序(通过标准化接口注册)
- 驱动注册完成后,iFay 立刻获得了控制扫地机器人的能力
你不需要在 iFay 里做任何配置。第二天早上你出门上班时,iFay 的自驱行为模块判断"人类原型出门了,适合打扫",通过设备驱动中枢启动扫地机器人,开始清扫。
整个过程中,iFay 的其他模块——传感器、自我感知、Ego 模型——没有做任何修改。新设备的接入就像你的身体长出了一条新的"手臂",运动神经自动连接好了,大脑直接就能控制它。
对开发者
设备驱动中枢属于 阶段 2(直接接管客户端) 的核心模块,依赖 CAP 协议。
- 需求编号:需求 8(设备驱动中枢)
- 接口规范:
DeviceDriverHub接口,包含registerDriver()(注册驱动)、invokeDevice()(调用设备)、getDriverStatus()(查询状态)和unregisterDriver()(卸载驱动)四个核心方法 - 驱动状态:
loaded(已加载)、active(活跃)、error(错误)、unavailable(不可用) - 关联协议:CAP(控制权限协议)用于直接调用终端硬件的驱动程序、本地接口和命令
- 关联模块:传感器(
SensorModule)的硬件接口由驱动中枢管理,个人数据堆(PersonalDataHeap)存储设备数据 - 设计要点:驱动中枢是中枢层(Hub),不是单个驱动或驱动集合;标准化接口确保新驱动集成对其他模块透明;驱动加载失败时提供降级建议而非系统崩溃
- 合规性测试:iFACTS L1 验证驱动注册和调用能力,L2 验证与传感器和个人数据堆的接口对接,L4 验证驱动失败时的降级行为
12.2 注册技能
一句话定义
注册技能是 iFay 的技能证书——就像人类需要考取驾照才能开车、需要获得医师资格才能行医,iFay 需要"注册"一个技能才能使用它。注册不只是记录,更是预授权——确保执行时不需要额外认证。
为什么需要它
想想你去医院看病的经历。你不会随便找一个路人帮你做手术——你需要一个有执业资格证的医生。这个资格证意味着:这个人经过了专业培训、通过了考试、获得了行医许可。有了这个证,他可以直接给你看病,不需要每次都重新证明自己的能力。
iFay 的注册技能就是这个道理。iFay 能做的事情很多——调用翻译 API、执行工作流、启动一个 Bot、使用一个 APP……但在做任何事之前,这个技能必须先被"注册"。注册的过程就像考取资格证:
- 确认能力:这个技能是什么类型?能做什么?
- 完成预授权:提前获得使用许可,这样真正执行时就不需要再走一遍认证流程
- 记录在案:iFay 的 Profile 中会记录所有已注册的技能,就像你的简历上列出了所有资格证书
为什么"预授权"这么重要?想象你是一个急诊医生,病人送来了,你不可能说"等一下,我先去考个执照"。预授权确保了 iFay 在需要执行任务时能立刻行动,不会因为认证流程而延误。
iFay 支持六种技能类型:API、工作流(Workflow)、Bot、Agent、APP、微服务(Microservice)。无论哪种类型,注册都是使用的前提——没有注册,就没有执行权。
它是怎么工作的
注册技能的工作方式可以用四个关键词概括:注册、预授权、缓存、刷新。
1. 注册——技能的"入职登记"
当 iFay 需要使用一个新技能时,首先要完成注册。注册过程会记录技能的关键信息:
- 技能名称和类型(六种之一:API、Workflow、Bot、Agent、APP、Microservice)
- 技能的访问端点(在哪里调用它)
- 技能需要的认证方式
- 技能的能力描述(它能做什么)
注册完成后,这个技能就被记录在 iFay 的 Profile 中,成为 iFay "会做的事"之一。
2. 预授权——提前拿到"通行证"
注册的核心价值在于预授权。在注册过程中,iFay 会提前完成所有认证步骤——获取访问令牌、建立安全连接、验证权限。这样,当真正需要执行任务时,iFay 可以直接调用,零延迟。
这就像你提前办好了签证——到了机场直接登机,不需要在海关排队等审批。
3. 缓存——离线也能工作
iFay 不总是在线的。当 iFay 处于离线状态时(比如你在飞机上),注册技能模块会把待执行的动作缓存起来。等网络恢复后,这些缓存的动作会被异步执行。
这就像你在飞机上写好了十封邮件,落地后手机一连上网,邮件就自动发出去了。
4. 刷新——保持授权有效
预授权不是永久的。访问令牌会过期,权限可能变更。注册技能模块会定期刷新授权状态,确保每个技能在被调用时权限是有效的。如果某个技能的授权过期了,模块会自动尝试续期;如果续期失败,会标记该技能为"待重新授权"。
这就像你的驾照需要定期年审——过期了就不能开车,但年审通过后又可以继续上路。
与其他模块的关系
| 相关模块 | 关系 | 人体类比 |
|---|---|---|
| 技能调用 | 技能调用只能调用已注册的技能,注册是执行的前提 | 有证才能上岗 |
| 凭证管理 | 注册技能的预授权依赖凭证管理提供的认证凭证 | 资格证需要身份证明来申请 |
| 内部技能 | 注册技能是外部学来的能力,内部技能是与生俱来的能力,二者互补 | 考取的证书 vs 天生的直觉 |
| 自驱行为 | 自驱行为在自主执行任务时,调用的也是已注册技能 | 自发行动也需要有对应的能力 |
| iFay Profile | 所有已注册技能记录在 Profile 的技能维度中 | 简历上的资格证书列表 |
场景故事
场景一:注册翻译 API——预授权带来的即时响应
你经常需要和海外客户沟通,于是让 iFay 注册一个专业翻译 API 技能。
注册过程中,iFay 完成了以下步骤:
- 记录翻译 API 的类型(API 类技能)、端点地址和能力描述
- 使用你委托的凭证完成 API 的认证,获取访问令牌
- 将令牌安全存储,标记预授权状态为"已完成"
一周后,你收到一封日语邮件。你对 iFay 说:"帮我翻译一下这封邮件。"
因为翻译技能已经注册并预授权过了,iFay 立刻调用翻译 API,两秒钟后就把翻译结果呈现给你。没有弹窗要求你输入密码,没有等待认证的转圈圈——一切都在注册时就准备好了。
如果没有预授权呢?iFay 就得先去申请 API 访问权限、等待审批、获取令牌……等这些都完成了,你可能已经自己用翻译软件翻完了。预授权的价值就在于:把准备工作前置,让执行时刻零摩擦。
场景二:飞机上的离线缓存
你在飞往纽约的航班上,手机处于飞行模式。途中你想起几件事需要 iFay 帮忙处理:
- "帮我给张总发一封邮件,确认下周三的会议时间"
- "帮我预订纽约酒店附近评分最高的日料餐厅"
- "帮我查一下明天纽约的天气"
iFay 接收了这三个请求。发邮件需要调用邮件 API 技能,订餐厅需要调用餐饮预订技能,查天气需要调用天气查询技能——这三个技能都已经注册过了,但现在没有网络。
注册技能模块把这三个待执行的动作缓存起来,并告诉你:"好的,我记下了。这三件事需要联网才能完成,落地后我会立刻处理。"
飞机落地,你打开手机,网络恢复。注册技能模块检测到连接恢复,立刻异步执行缓存的三个动作:邮件发出了、餐厅预订好了、天气信息也推送给你了。整个过程你甚至不需要再提醒 iFay——它记得你在飞机上说过的每一件事。
对开发者
注册技能属于 阶段 2(直接接管客户端) 的核心模块。
- 需求编号:需求 9(注册技能管理)
- 接口规范:
RegisteredSkillManager接口,包含register()(注册技能)、query()(查询技能)、refreshAuthorization()(刷新授权)、cacheOfflineAction()(缓存离线动作)和flushCachedActions()(执行缓存动作)五个核心方法 - 六种技能类型:
api、workflow、bot、agent、app、microservice - 预授权状态:
pre_authorized(已预授权)、pending(待授权)、expired(已过期) - 关联模块:技能调用(
InvokeSkillService)消费已注册技能,凭证管理(CredentialManager)提供认证支持,内部技能(InternalSkill)提供互补能力 - 设计要点:注册是任何动作的前提条件;预授权在注册时完成,确保执行时零延迟;离线缓存支持异步执行;授权状态定期刷新
- 合规性测试:iFACTS L1 验证六种技能类型的注册和预授权能力,L2 验证与技能调用和凭证管理的接口对接,L3 验证离线缓存和恢复执行的端到端流程
12.3 内部技能
一句话定义
内部技能是 iFay 的直觉和底线——注册技能是 iFay 从外部学来的能力(像考取的证书),内部技能是 iFay 与生俱来的能力(像直觉和道德底线)。它确保外部技能的输出不会违背人类原型的意图。
为什么需要它
想象你雇了一个翻译。这个翻译技术很好,但他不了解你——他可能把你的商务邮件翻译得过于随意,或者在你需要委婉表达时用了太直接的措辞。翻译的"技能"没问题,但翻译的"风格"不是你的风格。
这时候你需要的不是换一个翻译,而是需要一个了解你的人来审核翻译的结果——"这句话不像我会说的,改一下"、"这个语气太强硬了,缓和一点"。这个"了解你的人"就是内部技能。
内部技能做三件事:
第一,建立与人类原型个性对齐的习惯,包括对外部技能的治理。 就像你的直觉会告诉你"这件事不对劲",内部技能会对外部技能的输出进行"直觉检查"——这个结果符合人类原型的风格吗?符合人类原型的价值观吗?如果不符合,拦截并调整。
第二,提供内省机制,确保外部知识不与人类原型意图冲突。 iFay 会从外部知识库获取大量信息,但不是所有信息都适合人类原型。内部技能就像一个"过滤器",确保外部知识在被 iFay 采纳之前,先经过人类原型意图的校验。
第三,嵌入人类原型特定的固有能力。 如果你是一个金融分析师,你的 iFay 天生就应该具备金融分析能力——这不是从外部注册来的技能,而是 iFay 与生俱来的"专业素养"。这些能力是在 iFay 初始化时,根据人类原型的职业背景和专业知识嵌入的。
简单来说:注册技能是 iFay 的"外功",内部技能是 iFay 的"内功"。外功可以不断学习新招式,但内功决定了这些招式怎么用、用到什么程度、什么时候不该用。
它是怎么工作的
内部技能的工作方式可以用三个关键词概括:治理、内省、赋能。
1. 治理——对外部技能输出的"直觉检查"
每当注册技能执行完一个任务并返回结果时,内部技能会对结果进行审核:
- 这个结果的语气和风格是否符合人类原型的习惯?
- 这个结果是否违背了人类原型的价值观或偏好?
- 这个结果是否超出了人类原型设定的边界?
如果发现问题,内部技能会拦截这个输出,并根据人类原型画像进行调整。调整后的结果才会被呈现给人类原型或用于后续操作。
这就像你的直觉——当有人给你一个建议时,你的直觉会告诉你"这个建议虽然逻辑上没问题,但不适合我"。内部技能就是 iFay 的这种直觉。
2. 内省——确保外部知识不"带偏" iFay
iFay 会从外部知识库获取大量信息和建议。但外部知识是通用的,不一定适合你。内部技能的内省机制会检查:
- 这条外部知识是否与人类原型已有的认知冲突?
- 采纳这条知识是否会导致 iFay 的行为偏离人类原型意图?
- 这条知识的来源是否可信?
内省不是拒绝一切外部知识,而是确保外部知识在被 iFay 吸收之前,经过了人类原型意图的"过滤"。就像一个有主见的人——他会听取别人的意见,但不会盲目接受。
3. 赋能——嵌入人类原型的专业能力
如果你是一个金融分析师,你的 iFay 不需要去"注册"一个金融分析技能——这个能力是在 iFay 初始化时就嵌入的。它包括:
- 你的专业知识体系(金融模型、市场分析方法等)
- 你的分析风格(保守型还是激进型)
- 你的行业经验(对特定市场的判断直觉)
这些能力不是通过外部 API 调用的,而是 iFay 内在的一部分。它们让 iFay 在你的专业领域内,能像你一样思考和判断。
与其他模块的关系
| 相关模块 | 关系 | 人体类比 |
|---|---|---|
| 注册技能 | 内部技能治理注册技能的输出,确保结果符合人类原型风格 | 直觉审核外部建议 |
| 外部知识 | 内部技能的内省机制审核外部知识,防止与人类原型意图冲突 | 有主见地筛选外部信息 |
| 对齐意识 | 内部技能的行为基准来自对齐意识维护的人类原型画像 | 自我认知决定直觉反应 |
| Ego 模型 | Ego 塑造 iFay 的性格,内部技能在技能层面执行性格约束 | 性格决定行为方式 |
| 自驱行为 | 自驱行为在自主执行任务时,依赖内部技能提供的持久能力 | 自发行动依赖本能和专业素养 |
场景故事
场景一:翻译结果的风格校正
你是一家科技公司的 CEO,平时和合作伙伴沟通时习惯用温和但专业的语气。今天你让 iFay 帮你回复一封英文邮件。
iFay 调用了已注册的翻译 API 技能,把你的中文草稿翻译成了英文。翻译结果在语法和用词上都没问题,但语气偏直接——"We need the report by Friday"(我们需要周五前拿到报告)。
内部技能介入了。它根据对齐意识中你的沟通风格画像,判断这句话的语气不符合你的习惯。你通常会用更委婉的方式表达同样的意思。于是内部技能将这句话调整为:"Would it be possible to have the report ready by Friday? That would be really helpful for our planning."(如果能在周五前准备好报告就太好了,这对我们的规划很有帮助。)
你看到调整后的结果,满意地点了发送。你甚至没有意识到 iFay 做了这个调整——因为调整后的结果就是你会说的话。这就是内部技能的价值:它让 iFay 的输出像你,而不只是正确。
场景二:金融分析师的内在能力
你是一名资深金融分析师,你的 iFay 在初始化时嵌入了你的专业能力作为内部技能。
某天,你的助理通过 iFay 发来一份市场分析报告,请你审阅。iFay 用内部技能中嵌入的金融分析能力快速扫描了报告:
- 报告中使用的估值模型是 DCF(现金流折现),但你通常偏好结合 DCF 和可比公司分析
- 报告对某个行业的增长预期过于乐观,与你过去十年的行业经验判断不符
- 报告的风险评估部分缺少了地缘政治因素,而你一直认为这是当前市场的关键变量
iFay 把这些发现整理成批注,附在报告旁边呈现给你:"这份报告整体不错,但有三个地方可能需要你关注……"
注意:iFay 没有调用任何外部金融分析 API——这些判断完全来自内部技能中嵌入的你的专业知识和分析风格。这就是内部技能和注册技能的区别:注册技能是从外面"借来"的能力,内部技能是 iFay "自己"的能力。
对开发者
内部技能属于 阶段 4(iFay + coFay 全面拟人化) 的核心模块。
- 需求编号:需求 15(内部技能)
- 接口规范:
InternalSkill接口,包含introspect()(内省检查)、intercept()(拦截并调整外部输出)和getHostCapabilities()(获取人类原型特定能力)三个核心方法 - 三大职责:(1)建立与人类原型个性对齐的习惯,治理外部技能输出;(2)内省机制确保外部知识不与人类原型意图冲突;(3)嵌入人类原型特定的固有能力(专业技能、专业知识)
- 关联模块:注册技能(
RegisteredSkillManager)的输出被内部技能治理,外部知识(ExternalKnowledge)的输出被内部技能审核,对齐意识(AlignedConsciousness)提供行为基准 - 与注册技能的区别:注册技能是外部获取的能力(需要注册和预授权),内部技能是与生俱来的能力(初始化时嵌入,无需注册)
- 设计要点:内部技能是"守门人"角色,对外部输出进行风格和意图校验;内省机制防止外部知识"带偏" iFay;嵌入的人类原型能力是 iFay 的核心竞争力
- 合规性测试:iFACTS L1 验证内省和拦截能力,L2 验证与注册技能和外部知识的输出审核接口,L4 验证外部输出调整是否真正符合人类原型画像
