文档 AI 层 · FUAI 模型卡
模型卡
接入内核的模型不是一个匿名函数,它有身份。模型卡就是这个身份的载体:权限掩码、调用计数、token 预算、审计环,全部写在一张定长的卡上。
四个原语
| 编号 | 签名 | 说明 |
|---|---|---|
| 0x7D01 | mc_register(ptr) | 装载模型卡(资源节元数据面) |
| 0x7D02 | mc_call(len, perm_need) | 调用:权限检查 + 计费 + 审计 |
| 0x7D03 | mc_info(ptr) | 读回 (calls, tokens, budget, perm) |
| 0x7D04 | mc_audit(ptr, cap) | 审计环拷贝(32 B × n) |
卡的布局(120 字节)
[0..24) name // 模型名 [24] version [32] perm_mask u64 // 权限掩码 [40] cost u32 // 单次代价 [48] calls u32 // 调用计数 [56] budget u64 // token 预算 [64] 预留
调用时的判定
mc_call 的规则很短:(perm & perm_need) == perm_need 且累计 token 不超过预算(预算 ≠ 0 且 ≠ MAX)时,计费后返回 0;否则返回 -1 拒绝。两类结果都写审计环——这是重点。
mcard: registered 'qwen3-0.6b' perm=3 mcard: call tokens=100 result=0 ×3 mcard: call tokens=100 result=0xFFFFFFFFFFFFFFFF (perm_need=8 deny) mcard: call tokens=900 result=0xFFFFFFFFFFFFFFFF (超预算 deny) m87: calls=00000003 tokens=0000012c aud=00000005 m87: M87 RESULT: PASS
读法:3 次正常调用共 300 token;越权 1 次、超预算 1 次各自被拒;审计 5 条全记录。也就是说卡的计数与审计是自洽的,拒绝不是“悄悄发生”的。
集成方式:
模型卡随资源节(M31 DATA)携带,装载路径自动 mc_register;能力表与审计日志复用审计环格式。