做了这么久 Agent,我踩过最大的坑就是:同一个任务,今天能跑,明天换个工具版本就挂了;挂了之后重新推理,一通乱试,token 烧了一堆,最后才想起来这个问题上周已经解决过了。
这种事情反复发生,根子在哪?Agent 没有记忆。 每次任务对它来说都是第一次——不管你上周成功解决了多少次类似的问题,它依然要从零开始推理,从零开始踩坑。
上个月 HKUDS(香港大学数据科学实验室)开源了 OpenSpace,专门解决这个问题。我把它接进 OpenClaw 用了一段时间,有点东西,写一篇实战记录。
今天主流的 AI Agent——OpenClaw、Claude Code、Codex、Cursor——功能都挺强,但它们有一个共同的死穴:
没有任务级别的学习机制。
具体表现:
OpenSpace 的思路是:把每一次任务的成功/失败模式记下来,变成可复用的 Skill,然后持续演进、共享给所有 Agent。
OpenSpace 有三种进化模式,任务跑完后自动触发:
- FIX — Skill 执行失败?自动分析报错,生成修复版本
- DERIVED — 任务成功?提取这次的成功模式,生成改进版 Skill
- CAPTURED — 从头推理的新任务成功了?把整个解题思路抽象成新 Skill
这三种模式加上三类触发机制(任务后分析、性能下降检测、定期健康检查),构成了一套持续演进的闭环。
💡 提示:Skill 并不是一写就定死的,每次执行都可能触发演进。经过十几轮真实任务的洗礼,一个 Skill 的稳定性和效率会显著提升。
进化不只在单个 Agent 内部发生。OpenSpace 有一个云端社区 open-space.cloud,任何进化出来的 Skill 都可以一键同步上去,供其他 Agent 下载复用。
网络效应很清晰:接入 OpenSpace 的 Agent 越多,可用的 Skill 库越丰富,所有人都跑得越快、烧的 token 越少。
这是最值得关注的地方,也是官方 benchmark 数据最硬核的部分。
OpenSpace 在 GDPVal(一个包含 44 种职业、220 个专业任务的真实场景 benchmark)上的测试结果:
这不是玩具任务,是真实的薪资计算、税务申报、法律备忘录、工程设计等专业工作。用同一个底座模型(Qwen 3.5-Plus),仅靠 Skill 积累带来的差距,说老实话超出了我的预期。
OpenSpace 支持两种用法:Path A 是把它当 MCP 工具接进你的 Agent(推荐),Path B 是直接把 OpenSpace 当独立 AI 助手用。这里专门讲 OpenClaw + OpenSpace(Path A)。
git clone https://github.com/HKUDS/OpenSpace.git cd OpenSpace pip install -e . openspace-mcp --help # 验证安装成功
⚠️ 注意:仓库里的 assets/ 文件夹有约 50MB 的图片,国内网络直接 clone 容易卡,建议用精简克隆:
git clone --filter=blob:none --sparse https://github.com/HKUDS/OpenSpace.git cd OpenSpace git sparse-checkout set '/*' '!assets/' pip install -e .
找到 OpenClaw 的配置文件(一般是 ~/.openclaw/openclaw.json),在 mcpServers 里加入 OpenSpace:
{ "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 免费注册可以拿到。没有也没关系,所有本地功能完全可用。
# 把这两个 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 缺一不可。
openclaw gateway restart
重启后,在 OpenClaw 里问一句"你现在有哪些 MCP 工具可用?",如果能看到 openspace 相关工具出现在列表里,就接好了。
OpenSpace MCP 服务器支持三种启动方式:
如果你的 OpenClaw 部署在 VPS 上(参考这篇部署教程),建议用 SSE 或 HTTP 模式,稳定性更好。本地日常使用 stdio 就够了。
OpenSpace 提供了一个本地可视化面板,可以看 Skill 的进化谱系、版本对比、执行统计。
# 终端 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 里各类任务的降本数据:
如果你注册了 open-space.cloud 账号,进化出来的 Skill 可以一键发布:
# 下载社区里的 Skill openspace-download-skill
上传你自己进化出来的 Skill
openspace-upload-skill /path/to/skill/dir
权限可以设置为 public、private 或 team。如果你维护了一套特定场景的工作流(比如博客运营、SEO 自动化),把跑得好的 Skill 发布出去,社区里其他人的 Agent 就能直接复用。
这个逻辑跟 ClawHub 的 Skill 分发有点像,但 OpenSpace 的 Skill 是从真实任务中自动提取并持续打磨的,而不是手写一次就定死——实际场景打磨出来的东西,容错性往往更高。
坑 1:toolTimeout 必须设够
OpenSpace 处理复杂任务时,MCP 工具调用时间可能超过默认超时。一定要在 MCP 配置里加 “toolTimeout”: 600,否则长任务跑到一半会被强制中断,进化也触发不了。
坑 2:两个 host_skill 必须都复制
只复制 delegate-task 不够,skill-discovery 是让 Agent 学会主动检索已有 Skill 的关键。两个都放进 skills 目录才能形成完整闭环。如果你不熟悉 OpenClaw 的 Skill 机制,可以先看这篇自定义 Skill 教程。
坑 3:OPENSPACE_HOST_SKILL_DIRS 路径要用绝对路径
这个环境变量告诉 OpenSpace 去哪找 host-side 的 Skill 文件。路径写错或使用相对路径,Skill 就找不到。OpenClaw 的 skills 目录建议填完整的绝对路径。
坑 4:国内克隆仓库慢
官方仓库的 assets 目录有 50MB 图片。国内网络直接 clone 容易中途断,用上面说的 –sparse 参数跳过图片目录,能快很多。
对于已经在用 OpenClaw 的用户,接入成本极低。长期来看,随着任务量积累,Skill 库越来越成熟,token 消耗会持续下降,是少数”用得越多越省钱”的工具之一。
如果你还没有自己的 OpenClaw 实例,可以先看从零部署教程,装好之后回来接 OpenSpace。
📦 项目地址:github.com/HKUDS/OpenSpace
🌐 云端社区:open-space.cloud
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/253044.html