资讯动态

MetaClaw架构深度剖析:透明代理如何把每一轮对话变成学习信号(附源码走读)

发布时间:2026/9/28 21:25:42 来源:尧图企业网站定制
MetaClaw架构深度剖析透明代理如何把每一轮对话变成学习信号附源码走读【免费下载链接】MetaClaw Just talk to your agent — it learns and EVOLVES .项目地址: https://gitcode.com/gh_mirrors/me/MetaClawMetaClaw 是一个让个人 Agent 在真实使用中「边聊边进化」的开源框架。它的核心是一个透明代理站在你的个人助理OpenClaw、CoPaw、IronClaw 等与 LLM API 之间把每一轮对话拦截、改写、转发并悄悄变成学习信号——技能被逐轮注入提示词对话轨迹被切分为训练样本由评审模型打分后经 GRPO 强化学习持续微调模型全程无需 GPU 集群。上面这张官方架构总图概括了全部机制左侧是受支持的各类个人 Agent 与 LLM 平台中间是 MetaClaw 代理本体右侧分两条回路——用户空闲Sleep / Inactivity / Event 三个信号时触发云端 LoRA 慢训练繁忙时则把轨迹中失败的回合沉淀为技能。一、整体架构代理在中间学习在后台MetaClaw 把系统拆成三个互不阻塞的平面这是理解全部源码的前提平面职责关键代码服务面透明转发/v1/chat/completions逐轮注入技能与记忆metaclaw/api_server.py采集面把回合 token 化、打分、封装成训练样本metaclaw/data_formatter.py训练面GRPO 微调、技能进化、空闲调度metaclaw/trainer.py、metaclaw/scheduler.py三个平面通过队列与事件连接API 服务器跑在独立的 uvicorn 线程里训练器跑在主事件循环/v1/admin/train_step管理端点api_server.py#L697-L729负责把训练协程线程安全地调度回主循环。启动编排由 metaclaw/launcher.py 完成。对使用者而言它是完全透明的配置好个人 Agent 指向代理端口后聊天体验没有任何变化——metaclaw setup一次配置metaclaw start即可。二、一轮对话的完整旅程源码走读以 RL/Auto 模式为主跟着一个请求走一遍 MetaClawAPIServer 的生命周期。1. 入口一个带暗号的 OpenAI 兼容端点所有流量都汇入/v1/chat/completions。这个 handler 除了标准的鉴权、流式处理还从X-Session-Id、X-Turn-Type、X-Session-Done等自定义头里提取三样东西session_id区分对话会话TUI 模式无头部时自动降级为tui-{model}派生 ID保证数据照样被采集turn_typemain主对话产生训练数据或side旁路调用跳过采集session_done会话结束信号触发技能进化与记忆抽取。注意第一行还有个细节owner._last_request_tracker.touch()——每来一个请求就更新活跃时间戳这正是第四部分调度器的用户很忙信号源。2. 改写技能注入提示词进入核心方法_handle_request后代理先做两件事缓存/压缩 system prompt非 skills_only 模式然后对main回合执行注入_inject_skills取最后一条用户消息作为任务描述交给 SkillManager.retrieve 检索支持模板词频与 embedding 两种模式默认 top_k6命中的技能文本直接拼进 system 消息技能本体是~/.metaclaw/skills/下的一个个SKILL.md文件由 SkillManager 加载、去重、版本化generation代号。这一步的意义Agent 的经验不靠权重硬扛而是先以文本形式逐轮供给——快环进化。3. 采集把回合切成训练样本转发请求时代理偷偷加了logprobsTrueapi_server.py#L1281-L1282——训练需要旧策略的逐 token 对数概率。拿到响应后api_server.py#L1385-L1442用 tokenizer 的apply_chat_template分别渲染 prompt 与完整文本取差得到response_text再切出prompt_ids/response_ids/response_logprobs_buffer_record落盘原始记录供调试与回放该回合进入_pending_turn_data挂起等待此时尚未入训练队列——它在等一个分数。4. 打分下一轮到来才触发上一轮的评审这是整个设计最巧的一环。PRM过程奖励模型的触发时机是_fire_prm_scoring当第 N1 轮请求到达时代理才异步提交第 N 轮的评审任务。逻辑是——只有当下一状态next state即用户/环境对 Agent 上一轮动作的反馈出现后才能判断上一轮动作好不好。打分由 PRMScorer.evaluate 完成用一个裁判 LLM 对指令 回答打分多次投票后经_majority_vote取多数决结果写回并追加到 PRM 记录文件api_server.py#L1059-L1072。全程异步任务不阻塞用户响应。5. 入队loss_mask 决定谁配进训练_maybe_submit_ready_samples是闸门PRM 分数以及可选的 OPD 教师 logprobs就绪后回合才转入_submit_turn_sample分数为 0 的回合 →loss_mask全 0参与前向但不贡献梯度但代码保证每个会话至少一个有效样本at-least-one guaranteeL2312-L2318避免整场对话被浪费每个 ConversationSample 都打上当前skill_generation标签——这是 MAML 支持集/查询集分离的关键技能库版本升级后旧样本会被训练器丢弃防止过期技能污染梯度。至此一轮对话正式变成了一条带 reward 的学习信号进入输出队列等待训练。三、训练闭环GRPO 慢环 技能进化快环训练侧的主角是 MetaClawTrainerrun()主循环从队列排空批量样本攒够一个 batch 就调_train_on_batch执行 GRPO 更新Tinker / MinT / Weaver 三类云后端LoRA 热替换_maybe_evolve_skills把低分回合喂给 SkillEvolver当失败比例越过阈值默认 0.4见 should_evolve时由一个 LLM 分析器_build_analysis_prompt从失败轨迹中总结出新技能写回技能库并使generation递增——失败没有白发生它沉淀成了下次就能命中的提示词。快环技能秒级生效与慢环权重窗口期生效协同正是架构图右侧 Fast Loop / Slow Loop 的含义。四、Auto 模式元学习调度器睡觉时练功RL 权重热替换会暂停服务数分钟SlowUpdateScheduler 的作用就是让这件事只发生在用户不在的时候。_is_window_open检查三个空闲信号任一满足即开窗睡眠时段scheduler.sleep_start/end默认 23:00–07:00键盘闲置超过idle_threshold_minutes由第一部分提到的 tracker 供数Google Calendar 会议中需可选的[scheduler]依赖。开窗后调度器通知训练器开始更新更新期间代理端把submission_enabled事件置位正在飞行的请求会被排队而非报错api_server.py#L631-L639更新完成后由update_sampling_client热替换采样客户端。用户中途回来未完成批次会被保存下个窗口续跑。五、长程记忆Contextual Layerv0.4技能记录怎么做记忆记录发生过什么。开启memory.enabled true后每轮主/旁路对话进入_session_memory_turns缓冲api_server.py#L1451-L1462会话结束v0.4.1 起支持每 N 轮增量摄取触发_ingest_memory_for_session把结构化记忆单元episodic / semantic / preference / project_state / working_summary 五类写入本地存储下一轮请求时_inject_memory按memory_scope用户/项目/会话多级作用域见 metaclaw/memory/scope.py检索相关记忆并注入提示词——你的 Agent 几周后还记得你说过什么。记忆子系统完整实现位于 metaclaw/memory/检索、整合、策略、遥测需要进程隔离时可用独立的 sidecar 服务 openclaw-metaclaw-memory/ 通过本地 HTTP 承接读写。六、三种模式怎么选如何快速上手模式启动命令能力依赖skills_onlymetaclaw start --mode skills_only技能注入 会话后自动总结仅 OpenAI 兼容 API最轻rlmetaclaw start --mode rl技能 GRPO 即时训练可选 OPD 教师蒸馏Tinker/MinT/Weaver 后端auto默认metaclaw start技能 RL 空闲调度器同上 可选日历集成git clone https://gitcode.com/gh_mirrors/me/MetaClaw pip install -e . # 或 -e .[rl,evolve,scheduler] 全量能力 metaclaw setup metaclaw start # 两步走完全程OpenClaw 用户还可以一键安装官方插件 extensions/metaclaw-openclaw/想复现实验数据可参考 examples/ 与 benchmark/README.md。继续深挖源码的路线先读 metaclaw/api_server.py 的_handle_request一次请求的 308 行完整故事再看 metaclaw/trainer.py 与 metaclaw/scheduler.py 理解训练闭环最后按兴趣选读 metaclaw/skill_evolver.py快环与 metaclaw/memory/长程记忆。MetaClaw 给出的答案很朴素不必离线攒数据集真实对话本身就是最好的训练场——透明代理负责截流调度器负责择时快慢双环负责进化。【免费下载链接】MetaClaw Just talk to your agent — it learns and EVOLVES .项目地址: https://gitcode.com/gh_mirrors/me/MetaClaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑