目录

MambaCoding

用三螺旋 Mamba 做一个会自己”长出工具”的编程助手。

核心理念

不是”我先造好工具箱给模型用”,而是”我让模型在完成任务时感到不方便, 它自己就会发明工具”。

模型每完成一个任务,可以往 mamba_tools/ 写文件(工具/记忆/索引)。 下一次任务,这些文件会自动回到它的上下文里。工具不是人设计的, 是模型在复用压力下自己结晶出来的。

当前阶段:最小沙盒(本周)

agnes-2.0-flash 当”临时手”,验证选择压力机制是否真的能让模型自发写工具。 这一步不依赖三链 Mamba——它是机制验证,等三链 code LM 训出来再换手。

跑起来

# Windows PowerShell
$env:AGNES_API_KEY = "sk-你的key"
python run.py

跑完看两个地方:

  • mamba_tools/ —— 模型自己写了什么工具/记忆
  • transcripts/task_*.md —— 每轮的完整对话+执行结果

4 个递进任务的设计意图

任务 选择压力 期望涌现
1. 去重函数 基础能力 dedup.py 工具
2. CSV 清洗(需去重) 复用压力 import 之前的 dedup,而非重写
3. 爬虫(需去重) 复用压力升级 继续复用 dedup
4. 带记忆的爬虫 持久化压力 自发写 last_links.txtmemory.py

任务 4 是关键考验:如果模型没自发发明”记忆”,说明要么 prompt 要加强, 要么这一档模型能力不够(需要更强的 LM 或更明确的提示)。


路线图:从沙盒到端到端三链 code LM

Phase 0(本周):最小沙盒跑通 ✅

  • 用 agnes-2.0-flash 验证”选择压力→工具涌现”机制
  • 产出:mamba_tools/ 里模型自发写的文件,作为机制是否成立的证据
  • 决策点:如果模型完全不写工具,需要重新设计任务序列或换更强的 LM

Phase 1(2-4 周):三链 code LM 训练框架

目标:把 ThreeChainMamba2 从轨迹预测改造成 causal LM。

关键改造:

  • tokenizer:用现成的(GPT-2 BPE 或 StarCoder tokenizer),不要自训
  • 数据:CodeParrot clean (~6GB) 起步,够训 100M 参数;后期上 The Stack v2 子集
  • 架构映射(待设计):
    • cell → token embedding
    • action → 特殊 token(如 <func>, <return>, <tool_call>)或省略
    • 三链语义:空间链=token 局部上下文,时间链=长程依赖,因果链=函数调用因果
    • AnchorInit2 → token position encoding 的替代
  • 训练目标:标准 next-token prediction(交叉熵)
  • 算力:RTX 4090 24GB(AutoDL),100M 参数 batch=4 可训;1B 需要梯度累积 + checkpoint

Phase 2(1-3 月):100M 参数 code LM 起步训练

  • 先训到能补全简单 Python 函数(不是写完整程序)
  • 评估:HumanEval pass@1 作为底线指标(虽然小模型分数会很低)
  • 差异化验证:长上下文(>2k tokens)下,三链 vs Transformer 的 token 预测 perplexity 对比 ——这是你”不退化”主线在 code LM 上的延伸

Phase 3(持续):接入沙盒 + 长上下文项目记忆

  • 把沙盒里的 call_agnes() 换成 call_mamba()
  • 真正的差异化战场:长项目里 Transformer 会丢工具/丢 import,三链不会
  • 评估:工具复用率、长项目 perplexity、跨文件依赖追踪准确率

为什么这条路契合你的研究主线

你的核心科学发现:ThreeChainMamba2 在 100M→1.13B 长程外推不退化

这个特性在轨迹预测上是科学价值,在 code LM 上是产品价值:

  • Transformer code LM 的真实痛点:长文件里忘记函数定义、长项目里忘记 import
  • 三链的战场:长上下文记忆不丢失
  • 沙盒机制:让模型自己决定记什么,而不是人预设记忆结构

端到端 code LM 是 6-12 个月工程(参考 StarCoder-1B 训了 ~100B tokens)。 你的优势不是”训得比别人快”,而是”长上下文不丢工具”——这是差异化护城河。


文件结构

mambacoding/
├── sandbox.py          # 沙盒核心:LM 调用 + 工具注入 + 执行 + 转录
├── tasks.py            # 4 个递进任务 + data.csv 生成
├── run.py              # 主循环
├── README.md           # 本文档
├── .env.example        # API key 模板
├── mamba_tools/        # 模型自己写的工具(自动生成,跑完看这里)
├── transcripts/        # 每轮对话转录(自动生成)
├── data.csv            # 测试数据(自动生成)
└── temp_main.py        # 模型主代码临时文件(每次覆盖)
关于

自进化编程助手 - 沙盒机制与工具涌现

596.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号