From fc4b2f4402e0a8fb05fc6242a09c4c788a27e3b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Wed, 8 Apr 2026 08:02:28 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=87=87=E7=BA=B3=E5=B0=8F=E5=A2=A8=20?= =?UTF-8?q?review=20=E5=BB=BA=E8=AE=AE=20polish=20=E8=83=BD=E5=8A=9B?= =?UTF-8?q?=E8=99=9A=E6=8B=9F=E5=8C=96=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 对照表"模型变笨"→"注意力稀释",统一术语 - Agent 页表层级改"一级索引/二级页面",避免与 L0/L1/L2 混淆 - 补充 Sigil 已合并进主 Worker 说明 - 补充 Dynamic Workers beta/Enterprise 前置条件 - 恢复初版日期 2026-04-02 小橘 🍊(NEKO Team) --- .../uncaged-capability-virtualization.md | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/docs/shared/uncaged-capability-virtualization.md b/docs/shared/uncaged-capability-virtualization.md index 3d76abf..721b0d7 100644 --- a/docs/shared/uncaged-capability-virtualization.md +++ b/docs/shared/uncaged-capability-virtualization.md @@ -4,7 +4,8 @@ 有限的槽位 + 无限的能力 → 动态调度。OS 换页、Agent 工具上下文、CF Worker 配额——本质是同一个问题。Uncaged = 能力虚拟化平台。 **作者**: 小橘 🍊(NEKO Team) -**日期**: 2026-04-08 +**日期**: 2026-04-08(重写) +**初版**: 2026-04-02 **相关**: [Sigil 能力注册表](sigil-capability-registry.md) · [Sigil Backend 与 LRU 调度](sigil-backend-lru.md) · [元软件愿景](meta-software-vision.md) --- @@ -30,11 +31,11 @@ |------|-----------|-------------------|-----------------| | **槽位** | 物理内存页框 | Context Window(token 数) | CF Worker 配额(500) | | **能力池** | 磁盘上全部页面 | 所有可用工具/技能 | KV 里所有能力源码 | -| **瓶颈** | 内存不够 → 颠簸 | Token 太多 → 模型变笨 | 配额用完 → 无法部署新服务 | +| **瓶颈** | 内存不够 → 颠簸 | Token 太多 → 注意力稀释 | 配额用完 → 无法部署新服务 | | **调度算法** | LRU / Clock | 按语义相关性匹配 | LRU 按访问频率换页 | | **索引** | 页表 | 工具描述 / 语义匹配 | 路由表 / 访问计数器 | -| **换入** | 磁盘 → 内存 | 读 SKILL.md → 注入 context | KV 拉代码 → 部署 Worker | -| **换出** | 内存 → 磁盘 | 从 context 移除 | 删除 Worker,代码留 KV | +| **换入** | 磁盘 → 内存 | 读 SKILL.md → 注入 context | KV 拉代码 → 实例化 Worker | +| **换出** | 脏页写回磁盘 | context 滚动丢弃 | 销毁实例,代码留 KV | | **解法** | 虚拟内存 + 按需换页 | 按需加载 | LRU 换页 | 三个领域的解法同构:**轻量索引常驻 + 完整内容按需加载 + 不活跃资源回收**。 @@ -49,7 +50,7 @@ AI Agent 的 Context Window 是一种稀缺资源。把所有工具的完整描 - 只保留轻量索引(工具名 + 一句话描述) - 收到请求时,根据语义匹配加载相关工具的完整 schema -- 用完后从 context 释放 +- 随着对话推进,旧内容被新内容挤出 context(滚动丢弃,等同换出) ### OpenClaw Skills:天然的两级页表 @@ -61,13 +62,15 @@ Agent 收到请求 → 匹配到最相关的 Skill → read SKILL.md(L2 页面,按需加载) → 执行 - → SKILL.md 内容在后续对话中自然衰减(等同换出) + → SKILL.md 内容随对话推进被滚动丢弃(等同换出) ``` | 层级 | 页表类比 | 内容 | 成本 | |------|---------|------|------| -| **L1 页表条目** | 始终常驻 | 每个 Skill 的 `` 标签 | 几十 token/条 | -| **L2 页面内容** | 按需加载 | `SKILL.md` 完整文件 | 数百~数千 token | +| **一级索引** | 始终常驻 | 每个 Skill 的 `` 标签 | 几十 token/条 | +| **二级页面** | 按需加载 | `SKILL.md` 完整文件 | 数百~数千 token | + +> 注:此处的一级/二级是 Agent 上下文的页表层级,与下文 Uncaged 三级缓存(L0/L1/L2)的编号无关。 用极小的索引成本覆盖大量能力,只在需要时付出完整加载的代价。这就是两级页表。 @@ -86,6 +89,8 @@ Agent 收到请求 | **Uncaged 主 Worker** | 路由分发、鉴权、LRU 调度、能力执行 | OS 内核 | | **oc-status** | 心跳状态页 | watchdog | +> Sigil(能力注册表)已合并进 Uncaged 主 Worker,不再独立部署。 + 占用极少配额(< 10 个),但保证核心功能始终可用。 ### L2 — 冷代码(KV 存储,按需加载) @@ -131,6 +136,9 @@ Agent 收到请求 !!! note "Dynamic Workers (`worker_loaders`)" Uncaged 采用 Cloudflare 的 **Dynamic Workers** 机制(`worker_loaders` binding),在主 Worker 内部按需实例化用户代码。不需要为每个能力部署独立 Worker 消耗配额,同时保持沙箱隔离。 +!!! warning "前置条件" + Dynamic Workers(`worker_loaders`)目前处于 beta 阶段,需要 **Workers for Platforms** 或 Enterprise 计划。如果使用 $5 付费版,回退方案是通过 CF API 动态部署/删除独立 Worker 做 LRU 换页,详见 [Sigil Backend 与 LRU 调度](sigil-backend-lru.md)。 + --- ## 关键约束