什么是递归自我改进(RSI)?NeoHorse-1-4B 如何搭建「自我进化」Agent 原型
【免费下载链接】NeoHorse-1-4B项目地址: https://ai.gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B
NeoHorse-1-4B 是一个约 4B 参数的因果语言模型,由 TokenRhythm 基于 Qwen3.5-4B 后训练而来,定位为迈向**递归自我改进(Recursive Self-Improvement,RSI)**的初始原型。它专为文本 Agent 框架(Agent harness)、工具调用、编码和指令遵循而优化,通过「路由框架 + 能力级反馈」的闭环,让模型评测结果直接驱动下一轮训练数据配比。
一、先用大白话理解:什么是递归自我改进(RSI)?🤔
递归自我改进(RSI)指的是:一个智能系统把自己的运行记录、评测反馈,转化回自己的训练信号,从而"越用越强"的机制。
与传统训练(人工标注数据 → 训练 → 结束)不同,RSI 追求的是一个闭环:
执行任务 → 记录轨迹与结果 → 评估能力短板 → 调整训练数据 → 更新模型 → 再次回到执行可以把它想象成"模型自己给自己出卷、判卷、补课":
| 环节 | 传统流程 | RSI 思路 |
|---|---|---|
| 数据来源 | 人工准备、固定 | 来自模型自身执行轨迹 |
| 评估方式 | 一次性打分 | 持续反馈,驱动数据配比 |
| 迭代方式 | 人工介入 | 模型更新后自动回到框架 |
NeoHorse-1-4B 目前是一个原型:它已经打通了"评测 → 选择 → 更新"的单轮闭环,下一步目标是把闭环扩展到连续多轮迭代。
二、NeoHorse-1-4B 是什么?🐴
一句话概括:NeoHorse-1-4B 是为Agent 场景(工具调用 + 长上下文执行)做后训练的小模型,用 4B 的体量验证"自我进化"路线。
核心参数一览(详见 config.json):
| 属性 | 说明 |
|---|---|
| 模型类型 | Agent 原生因果语言模型(纯文本输入/输出) |
| 参数量 | 约 4B |
| 基座模型 | Qwen3.5-4B(后训练自该基座) |
| 上下文长度 | 原生 262,144 tokens,可扩展至约 101 万 tokens |
| 权重格式 | Safetensors / BF16 |
| 注意力结构 | 线性注意力与全注意力混合(32 层,每 4 层一组) |
值得注意的细节:config.json 中layer_types显示它采用 3:1 的「线性注意力 : 全注意力」混合层设计——线性注意力让长上下文推理更省资源,这正好服务 Agent 场景下的超长轨迹处理。
三、它如何搭建「自我进化」闭环?🔁
NeoHorse 的 RSI 原型由三块拼图组成:
3.1 路由框架(Routing Harness):给任务"分诊"
路由框架像一位调度员,维护一个异构模型池:
- 分派任务:把不同难度的 Agent 任务路由给模型池中合适的成员;
- 记录轨迹:完整记录工具交互过程与最终结果;
- 评估需求:估算当前任务分布对各项"能力"的需求;
- 驱动训练:用能力级反馈决定下一轮训练混合数据的配比。
3.2 训练信号来自执行轨迹,而不是凭空生成
配套研究探索了两种后训练方法:
- 路由引导的课表式 SFT(routing-guided curriculum SFT):按能力需求排"课程",先补短板;
- 路由引导的在线策略蒸馏(on-policy distillation):让模型在自己的执行轨迹上学习,同时保留每条回复周围的执行上下文与框架上下文——这是 Agent 能力的关键。
3.3 数据质量是闭环可信的前提 🧹
再"自我"的训练,也建立在干净数据之上。项目对训练数据做了:
- 精确与近重复样本去重;
- 评测集去污染;
- 结构化校验 + 六维语义评估;
- 子场景级Scene / Goal / Outcome三级标注。
闭环效果:更新后的模型可以重新进入路由框架执行任务,形成「评测 → 选择 → 更新」原型回路;把这个回路在多轮次间滚动,就是通往完整 RSI 的下一步。
四、成绩单:10 项基准平均分 64.87,提升 +5.93 📊
NeoHorse-1-4B 与五款开源模型横向对比(摘自 README.md 评测表,Δ为相对 Qwen3.5-4B 的提升):
| 能力维度 | 基准 | Qwen3.5-4B | NeoHorse-1-4B | Δ |
|---|---|---|---|---|
| 🤖 Agentic | QwenClawBench | 38.47 | 44.68 | +6.21 |
| 🤖 Agentic | WorkBuddy Bench | 24.62 | 34.41 | +9.79 |
| 🤖 Agentic | PinchBench | 71.19 | 77.33 | +6.14 |
| 🤖 Agentic | VitaBench | 21.50 | 32.00 | +10.50 |
| 🤖 Agentic | tau2-Bench | 84.29 | 88.46 | +4.17 |
| 💻 Coding | HumanEval | 87.20 | 96.95 | +9.75 |
| 💻 Coding | LiveCodeBench v6 | 53.71 | 59.43 | +5.72 |
| 📚 指令遵循 | IFBench | 60.33 | 65.33 | +5.00 |
| 📚 指令遵循 | IFEval | 87.06 | 88.35 | +1.29 |
| 📊 总分 | 十基准宏平均 | 58.94 | 64.87 | +5.93 |
可以看到提升最集中的正是Agentic 与 Coding维度——与"为 Agent 而生"的定位完全一致。评测协议采用 SGLang v0.5.17,开启思考模式(enable_thinking=true),部分基准取三次运行结果,保证数据稳健。
五、本地部署指南:两步跑起来 NeoHorse-1-4B 🚀
5.1 获取模型权重
git clone https://gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B5.2 用 SGLang 启动(官方推荐)
pip install "sglang==0.5.17" python3 -m sglang.launch_server \ --model-path /path/to/NeoHorse-1-4B \ --served-model-name neohorse-1-4b \ --host 0.0.0.0 \ --port 30000 \ --context-length 262144 \ --reasoning-parser qwen3 \ --tool-call-parser qwen3_coder启动后通过 OpenAI 兼容接口调用即可:
curl http://localhost:30000/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{"model":"neohorse-1-4b","messages":[{"role":"user","content":"你好,介绍一下你自己"}],"max_tokens":512}'💡 小提示:若显存紧张,调小
--context-length;vLLM 用户可改用vllm serve并开启--enable-auto-tool-choice --tool-call-parser qwen3_coder,参数细节见 README.md。
六、仓库文件速览:下载后都能用上什么?📦
| 文件 | 作用 |
|---|---|
| README.md | 模型卡:亮点、评测、部署指南都在这里 |
| config.json | 模型结构配置(层数、注意力类型、上下文长度等) |
| chat_template.jinja | 对话模板,定义系统/用户消息与思考块的拼装方式 |
| tokenizer.json / vocab.json / merges.txt | 分词器三件套(词表 248,320) |
| model.safetensors.index.json | 权重分片索引 |
| model-00001-of-00002.safetensors / model-00002-of-00002.safetensors | 模型权重(BF16,两个分片) |
| LICENSE | Apache 2.0 许可证(含上游 Qwen 版权声明) |
七、写在最后:为什么值得关注?✨
NeoHorse-1-4B 的价值不在于"4B 模型又多了一个",而在于它给出了一个可复现的 RSI 原型:路由框架记录执行轨迹、能力级反馈决定训练配比、更新模型回到框架继续执行——闭环的每一环都是工程上可落地的。对于想理解「自我进化 Agent」如何从概念走向实践的新手来说,这个项目提供了一份从数据质量、后训练方法到评测协议的完整参照。
下一步,把「评测 → 选择 → 更新」的闭环滚动到连续多轮迭代,才是递归自我改进真正的考验。关注该项目,见证 RSI 路线的持续演进。
【免费下载链接】NeoHorse-1-4B项目地址: https://ai.gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考