> ## Content Index
> Fetch the complete content index at: https://tbbbk.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# OpenSpace 实战：给 Agent 接个自进化 Skill 引擎，token 消耗直接少一半
- URL: https://tbbbk.com/openspace-shi-zhan-gei-agent-jie-ge-zi-jin-hua-skill-yin-qing-token-xiao-hao-zhi-jie-shao-yi-ban/
- Published: 2026-04-09T04:25:33.000Z
- Updated: 2026-04-09T04:25:33.000Z
- Description: OpenSpace 是 HKUDS 开源的 Agent 自进化 Skill 引擎，接入 OpenClaw 只需 15 分钟，实测 token 消耗可减少约 46%。本文从原理、接入步骤到踩坑记录全程实战拆解。
- Author: TuBaiBai
- Tags: 随手记, #Import 2026-07-20 07:13

做了这么久 Agent，我踩过最大的坑就是：同一个任务，今天能跑，明天换个工具版本就挂了；挂了之后重新推理，一通乱试，token 烧了一堆，最后才想起来这个问题上周已经解决过了。

这种事情反复发生，根子在哪？**Agent 没有记忆。** 每次任务对它来说都是第一次——不管你上周成功解决了多少次类似的问题，它依然要从零开始推理，从零开始踩坑。

上个月 HKUDS（香港大学数据科学实验室）开源了 **OpenSpace**，专门解决这个问题。我把它接进 OpenClaw 用了一段时间，有点东西，写一篇实战记录。

---

## 为什么 Agent 会一直重复犯同样的错误？

今天主流的 AI Agent——[OpenClaw](https://tbbbk.com/openclaw-advanced-config-guide/)、Claude Code、Codex、Cursor——功能都挺强，但它们有一个共同的死穴：

**没有任务级别的学习机制。**

具体表现：

| 问题         | 症状                                    |
| ---------- | ------------------------------------- |
| Token 大量浪费 | 每次做相似任务都从头推理，之前成功的路径不会复用              |
| 重复踩坑       | 同一个 API 的正确调用姿势，这次探索完，下次又探索一遍         |
| Skill 悄悄失效 | 工具升级之后旧 Skill 失效，Agent 自己不知道，继续调用直到报错 |

OpenSpace 的思路是：**把每一次任务的成功/失败模式记下来，变成可复用的 Skill，然后持续演进、共享给所有 Agent。**

---

## OpenSpace 三个核心能力

### 1\. 自进化引擎（Self-Evolution Engine）

OpenSpace 有三种进化模式，任务跑完后自动触发：

- **FIX** — Skill 执行失败？自动分析报错，生成修复版本
- **DERIVED** — 任务成功？提取这次的成功模式，生成改进版 Skill
- **CAPTURED** — 从头推理的新任务成功了？把整个解题思路抽象成新 Skill

这三种模式加上三类触发机制（任务后分析、性能下降检测、定期健康检查），构成了一套持续演进的闭环。

> 💡 提示：Skill 并不是一写就定死的，每次执行都可能触发演进。经过十几轮真实任务的洗礼，一个 Skill 的稳定性和效率会显著提升。

### 2\. 集体智能（Collective Intelligence）

进化不只在单个 Agent 内部发生。OpenSpace 有一个云端社区 [open-space.cloud](https://open-space.cloud)，任何进化出来的 Skill 都可以一键同步上去，供其他 Agent 下载复用。

网络效应很清晰：接入 OpenSpace 的 Agent 越多，可用的 Skill 库越丰富，所有人都跑得越快、烧的 token 越少。

### 3\. Token 效率（Token Efficiency）

这是最值得关注的地方，也是官方 benchmark 数据最硬核的部分。

OpenSpace 在 **GDPVal**（一个包含 44 种职业、220 个专业任务的真实场景 benchmark）上的测试结果：

| 指标                   | 结果                               |
| -------------------- | -------------------------------- |
| Token 消耗（第二轮 vs 第一轮） | \*\*减少 45.9%\*\*                 |
| 收入产出 vs baseline     | \*\*4.2 倍\*\*                    |
| 任务价值捕获率              | 72.8%（总价值 $15,764 中实际拿到 $11,484） |
| 平均任务质量               | 70.8%（baseline 为 40.8%）          |

这不是玩具任务，是真实的薪资计算、税务申报、法律备忘录、工程设计等专业工作。用同一个底座模型（Qwen 3.5-Plus），仅靠 Skill 积累带来的差距，说老实话超出了我的预期。

---

## 接入 OpenClaw：Path A 实战步骤

OpenSpace 支持两种用法：Path A 是把它当 MCP 工具接进你的 Agent（推荐），Path B 是直接把 OpenSpace 当独立 AI 助手用。这里专门讲 **OpenClaw + OpenSpace（Path A）**。

### Step 1：安装 OpenSpace

```bash
git clone https://github.com/HKUDS/OpenSpace.git
cd OpenSpace
pip install -e .
openspace-mcp --help  # 验证安装成功
```

⚠️ 注意：仓库里的 `assets/` 文件夹有约 50MB 的图片，国内网络直接 clone 容易卡，建议用精简克隆：

```bash
git clone --filter=blob:none --sparse https://github.com/HKUDS/OpenSpace.git
cd OpenSpace
git sparse-checkout set '/*' '!assets/'
pip install -e .
```

### Step 2：配置 MCP 服务器

找到 OpenClaw 的配置文件（一般是 `~/.openclaw/openclaw.json`），在 `mcpServers` 里加入 OpenSpace：

```json
{
  "mcpServers": {
    "openspace": {
      "command": "openspace-mcp",
      "toolTimeout": 600,
      "env": {
        "OPENSPACE_HOST_SKILL_DIRS": "/root/.openclaw/workspace/skills",
        "OPENSPACE_WORKSPACE": "/path/to/OpenSpace",
        "OPENSPACE_API_KEY": "sk-xxx（可选，接入云端社区）"
      }
    }
  }
}
```

> 💡 `OPENSPACE_HOST_SKILL_DIRS` 填你的 OpenClaw skills 目录的绝对路径，一般是 `~/.openclaw/workspace/skills/`。

\>

> `OPENSPACE_API_KEY` 是云端社区的密钥，去 [open-space.cloud](https://open-space.cloud) 免费注册可以拿到。没有也没关系，所有本地功能完全可用。

### Step 3：复制两个核心 Skill

```bash
# 把这两个 Skill 复制到你的 OpenClaw skills 目录
cp -r OpenSpace/openspace/host_skills/delegate-task/ ~/.openclaw/workspace/skills/
cp -r OpenSpace/openspace/host_skills/skill-discovery/ ~/.openclaw/workspace/skills/
```

`delegate-task` 告诉 Agent 什么时候应该把任务交给 OpenSpace 处理；`skill-discovery` 让 Agent 知道如何检索和复用已有的 Skill。**两个 Skill 缺一不可。**

### Step 4：重启 OpenClaw 验证连接

```bash
openclaw gateway restart
```

重启后，在 OpenClaw 里问一句"你现在有哪些 MCP 工具可用？"，如果能看到 openspace 相关工具出现在列表里，就接好了。

---

## 三种传输模式怎么选？

OpenSpace MCP 服务器支持三种启动方式：

| 模式                      | 启动命令                                                                       | 适用场景               |
| ----------------------- | -------------------------------------------------------------------------- | ------------------ |
| \*\*stdio\*\*（默认）       | MCP config 里直接配 command                                                    | 本地 Agent，最简单       |
| \*\*SSE\*\*             | \`openspace-mcp --transport sse --host 127.0.0.1 --port 8080\`             | 需要持久连接             |
| \*\*streamable HTTP\*\* | \`openspace-mcp --transport streamable-http --host 127.0.0.1 --port 8081\` | 远程主机、避开 stdio 超时限制 |

如果你的 OpenClaw 部署在 VPS 上（参考[这篇部署教程](https://tbbbk.com/openclaw-install-host-vs-docker-debian-ubuntu/)），建议用 SSE 或 HTTP 模式，稳定性更好。本地日常使用 stdio 就够了。

---

## 本地 Dashboard：可视化 Skill 进化过程

OpenSpace 提供了一个本地可视化面板，可以看 Skill 的进化谱系、版本对比、执行统计。

```bash
# 终端 1：启动后端 API
openspace-dashboard --port 7788

# 终端 2：启动前端（需要 Node.js ≥ 20）
cd OpenSpace/frontend
npm install  # 第一次需要
npm run dev
```

跑起来之后打开 `http://localhost:5173`，能看到每个 Skill 从初版到当前版本的完整演化路径。如果你是搞 Agent 开发的，这个面板挺有意思，能直观看出哪些任务在推动 Skill 往哪个方向演进。

---

## 实际效果：从"冷启动"到"热复用"

OpenSpace 有一个经典的两阶段模型：

**Phase 1（冷启动）**：第一次跑任务，没有历史 Skill 可用，Agent 需要完整推理，token 消耗最高。任务结束后，成功模式被自动提取为 Skill 存入本地数据库。

**Phase 2（热复用）**：相同或相似的任务再次出现，Agent 直接检索 Skill 库，用预验证的解决方案执行，跳过重复推理。官方 benchmark 里这个阶段的 token 消耗比 Phase 1 少了 **45.9%**。

以文档生成任务为例，benchmark 里各类任务的降本数据：

| 任务类型       | Token 减少幅度   | 主要原因                 |
| ---------- | ------------ | -------------------- |
| 文件与文书（7个）  | \*\*-56%\*\* | 文档结构、错误恢复路径已固化       |
| 合规与表单（11个） | \*\*-51%\*\* | PDF 生成管道完整演化后整体复用    |
| 工程项目（4个）   | \*\*-43%\*\* | 跨项目协调 Skill 通用化      |
| 媒体制作（3个）   | \*\*-46%\*\* | ffmpeg 参数和编解码回退路径已记录 |

---

## 云端社区：一个 Agent 学了，所有人都会

如果你注册了 [open-space.cloud](https://open-space.cloud) 账号，进化出来的 Skill 可以一键发布：

```bash
# 下载社区里的 Skill
openspace-download-skill <skill_id>

# 上传你自己进化出来的 Skill
openspace-upload-skill /path/to/skill/dir
```

权限可以设置为 public、private 或 team。如果你维护了一套特定场景的工作流（比如博客运营、SEO 自动化），把跑得好的 Skill 发布出去，社区里其他人的 Agent 就能直接复用。

这个逻辑跟 [ClawHub 的 Skill 分发](https://tbbbk.com/clawhub-skill-picks-for-china-users/)有点像，但 OpenSpace 的 Skill 是从真实任务中自动提取并持续打磨的，而不是手写一次就定死——实际场景打磨出来的东西，容错性往往更高。

---

## 踩坑记录

**坑 1：toolTimeout 必须设够**

OpenSpace 处理复杂任务时，MCP 工具调用时间可能超过默认超时。一定要在 MCP 配置里加 `"toolTimeout": 600`，否则长任务跑到一半会被强制中断，进化也触发不了。

**坑 2：两个 host\_skill 必须都复制**

只复制 `delegate-task` 不够，`skill-discovery` 是让 Agent 学会主动检索已有 Skill 的关键。两个都放进 skills 目录才能形成完整闭环。如果你不熟悉 OpenClaw 的 Skill 机制，可以先看[这篇自定义 Skill 教程](https://tbbbk.com/openclaw-create-custom-skill-guide-2026/)。

**坑 3：OPENSPACE\_HOST\_SKILL\_DIRS 路径要用绝对路径**

这个环境变量告诉 OpenSpace 去哪找 host-side 的 Skill 文件。路径写错或使用相对路径，Skill 就找不到。OpenClaw 的 skills 目录建议填完整的绝对路径。

**坑 4：国内克隆仓库慢**

官方仓库的 assets 目录有 50MB 图片。国内网络直接 clone 容易中途断，用上面说的 `--sparse` 参数跳过图片目录，能快很多。

---

## 总结

| 维度       | 结论                             |
| -------- | ------------------------------ |
| Token 节省 | Phase 2 相比 Phase 1 减少约 46%     |
| 任务质量提升   | 比无 Skill baseline 高约 30pp      |
| 接入复杂度    | MCP 配置 + 两个 Skill 文件，15 分钟内可完成 |
| 云端共享     | 可选，不影响本地任何功能                   |

对于已经在用 OpenClaw 的用户，接入成本极低。长期来看，随着任务量积累，Skill 库越来越成熟，token 消耗会持续下降，是少数"用得越多越省钱"的工具之一。

如果你还没有自己的 OpenClaw 实例，可以先看[从零部署教程](https://tbbbk.com/openclaw-install-host-vs-docker-debian-ubuntu/)，装好之后回来接 OpenSpace。

📦 项目地址：[github.com/HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace) 

🌐 云端社区：[open-space.cloud](https://open-space.cloud)