这是 MetaClaw 的核心思路:不是在实验室里预训练,不是人工整理数据集,而是从真实对话中持续学习,边用边进化。
GitHub:aiming-lab/MetaClaw
它解决什么问题
现在的 AI Agent(比如 OpenClaw)有一个根本性的静态问题:你使用它,它不会因此变得更好。每次会话结束,它就忘掉一切;你踩过的坑,下次还会再踩;你纠正过的习惯,它不会记住。
MetaClaw 在你的 Agent 和 LLM API 之间插入一个代理层,拦截每一次对话,从中提取学习信号,然后把这些信号转化为两件事:
- Skills:总结成可复用的技能文件,下次自动注入到对话上下文中
- RL 微调:用真实对话做强化学习,直接更新模型权重(LoRA)
结果是:用得越多,它越懂你。
三种运行模式
MetaClaw 提供三档,按需选择:
Skills-only(最轻量)
不需要 GPU,不需要任何训练基础设施。
代理层拦截对话 → 自动总结出 Skill 文件 → 下次对话时注入相关 Skill。
内置 40+ 预设技能(涵盖编程、安全、Agent 任务),用的时候自动按需检索注入,不占多余 context。
metaclaw start --mode skills_only
RL Mode(强化学习)
在 Skills 之上,加一个 PRM 裁判模型异步打分,用 GRPO 算法做 LoRA 微调。
每次对话 → 裁判评分 → 批量触发 LoRA 训练 → 权重热更新。
还有 OPD(On-Policy Distillation)选项:用更大的"老师模型"蒸馏小模型,成本可控地提升能力。
MadMax Mode(默认推荐)
Skills + RL + 智能调度器。
核心设计:RL 训练不打断你的正常使用。调度器会检测三个窗口才触发训练:
- 睡眠时间(默认 23:00–07:00)
- 设备闲置超过 30 分钟
- 你在开 Google Calendar 会议时
用的时候不训练,训练的时候你不用——醒来发现龙虾昨晚悄悄学了一晚上。
metaclaw start # 默认就是 madmax
怎么用
两条命令:
metaclaw setup # 一次性配置向导
metaclaw start # 启动
向导会问你:
- 选哪个 Agent(OpenClaw、CoPaw、IronClaw、PicoClaw、ZeroClaw、NanoClaw、NemoClaw……)
- 选 LLM 提供商(Kimi、Qwen、MiniMax 或自定义)
- 是否开启 RL 训练
MetaClaw 会自动把你选的 Agent 的模型请求路由到自己的代理端口,不需要改 Agent 的任何配置,透明接管。
支持的 Agent 列表:
| Agent | 适配方式 |
|---|---|
| OpenClaw | 自动修改 models.providers 配置 + 重启 gateway |
| CoPaw | 热更新 ~/.copaw/config.json |
| IronClaw | 修改 .env,重启 service |
| PicoClaw | 注入 model_list 条目 |
| ZeroClaw | 修改 config.toml |
| NanoClaw | 通过 Anthropic-compatible 端点适配 |
| NemoClaw | 通过 OpenShell 注册 provider |
技术底层
Skills 机制
每次会话结束后,Evolver LLM 分析对话内容,自动生成 Markdown 格式的 Skill 文件,存入 ~/.metaclaw/skills/。下次对话时按语义相关度检索注入(支持 template 模式和 embedding 模式)。
从失败的对话里也能提炼 Skill——踩坑本身变成了训练数据。
RL 训练
训练 backend 支持 Tinker(云端 LoRA)和 MinT 两个路径,互相兼容。用 GRPO 算法做 policy optimization,支持 KL 散度约束防止偏离太远。
整个流程完全异步:推理、打分、训练三个组件解耦,Agent 回复不会因为训练而变慢。
为什么这件事很重要
大多数 AI 工具的改进靠的是模型厂商迭代,用户只是等待。
MetaClaw 的方向是:用你自己的使用数据,在你自己的机器上,让你自己的 Agent 变强——不需要发数据给任何人,不需要等官方更新。
不需要 GPU 集群,不需要机器学习背景,两条命令就跑起来。MIT 协议开源,完全自托管。
这是"个人化 AI"的一种具体实现方式:不是通用模型适配所有人,而是每个人的 Agent 都在独立进化。