MiMo Code 深度实战:当小米用 1 万亿参数杀入 AI 编程 Agent 赛道
一、背景:小米 AI 的野望与 MiMo 家族
2026年6月11日,小米 MiMo 技术团队在 X(原 Twitter)及 GitHub 正式发布了 MiMo Code V0.1.0——一款面向终端的 AI 编程助手,基于 OpenCode 二次开发,采用 MIT 协议开源。截至发布后 48 小时内,项目已在 GitHub 收获超过 6.4k Stars,Hacker News 同期热度达 426 分,引发开发者社区广泛讨论。
这不是小米第一次在 AI 领域秀肌肉。事实上,MiMo(小米多模态)是小米的自研大模型品牌,旗下已有多款模型:
- MiMo-V2-Flash(2025年12月):轻量级推理模型,支持深度思考和联网搜索
- MiMo-V2.5-Pro(2026年4月):旗舰级 MoE 模型,1.02万亿总参,每次推理激活420亿,支持百万 Token 上下文
- MiMo-V2.5(2026年4月):全面升级的通用多模态模型
- MiMo Code(2026年6月):MiMo 系列的编程 Agent 产品线延伸
值得注意的是,MiMo-V2.5-Pro 的架构设计本身就为长程 Agent 任务而生:它采用 70 层网络(1层密集层 + 69层 MoE 层),其中 10 层使用全局注意力(Global Attention),60 层使用滑动窗口注意力(Sliding Window Attention,SWA)。这种混合注意力机制正是它能高效支撑百万 Token 上下文的技术基础。
而 MiMo Code V0.1.0 的发布,意味着小米正式将"模型+Agent"打通,构建起从底层模型到上层应用的完整生态闭环。
二、MiMo Code 是什么:定位与产品形态
MiMo Code 是一款终端原生(Terminal-native)AI 编程助手,面向开发者提供长程自动化编程能力。它的核心定位并非简单的代码补全或聊天式问答,而是端到端的编程 Agent——你描述需求,它自主完成分析、编码、测试、审查的全流程。
2.1 与现有工具的定位差异
| 工具 | 定位 | 核心优势 | 局限性 |
|---|---|---|---|
| GitHub Copilot | IDE 补全插件 | 生态成熟、上下文精准 | 非 Agent 级自主能力 |
| Cursor | AI-First IDE | 交互体验出色 | 订阅制,长会话有上下文限制 |
| Claude Code | 终端编程 Agent | 模型推理能力强 | 上下文窗口管理依赖压缩 |
| Trae | AI 原生 IDE(字节) | 中文体验好、免费 | 偏向 IDE 集成,Agent 深度有限 |
| MiMo Code | 终端 Agent + 模型定制 | 持久记忆、超长上下文、Max Mode | V0.1.0 早期版本,生态待完善 |
2.2 核心技术栈
MiMo Code 的技术栈选择颇为"不拘一格":
{
"runtime": "Bun",
"language": "TypeScript",
"effects": "Effect (函数式编程库)",
"tui": "SolidJS",
"desktop": "Tauri",
"storage": "SQLite (FTS5)"
}
这个组合有几个值得关注的点:
- Bun 作为运行时,提供比 Node.js 更快的启动速度和原生 TypeScript 支持
- Effect 是一个来自河北工业大学的函数式编程库,提供强大的错误处理和并发模型
- SolidJS 用于 TUI(终端用户界面),比传统的 ncurses 更现代
- Tauri 构建桌面端,比 Electron 更轻量
- SQLite FTS5 驱动跨会话全文搜索能力
三、架构核心:计算 × 记忆 × 进化
MiMo Code 的技术架构围绕三个核心维度展开:计算(Compute)、记忆(Memory)、进化(Evolution)。每个维度对应一类长程编程 Agent 的根本性挑战。
┌─────────────────────────────────────────────────────────┐
│ MiMo Code 架构 │
├─────────────────────────────────────────────────────────┤
│ 计算层 ── Max Mode ── 多采样 ── Goal 机制 ── 动态工作流 │
│ 记忆层 ── 四层记忆体系 ── SQLite FTS5 ── Writer SubAgent │
│ 进化层 ── Dream ── Distill ── 项目级知识沉淀 │
└─────────────────────────────────────────────────────────┘
3.1 计算层:Max Mode——让决策质量不再"一锤子买卖"
问题:在长程任务中(200步以上),每一步的决策质量都会影响后续所有步骤的执行方向。传统方案是让模型一次推理出一个方案并执行——如果这一步错了,后面的所有步骤都会在错误的方向上积累。
Max Mode 机制:
// Max Mode 的简化实现逻辑(伪代码)
async function maxMode(prompt: string, n: number = 5) {
// 1. 并行生成 n 个候选方案(只推理,不执行工具)
const candidates = await Promise.all(
Array.from({ length: n }, () =>
model.complete(prompt, { tools: [] }) // 无工具调用的推理
)
);
// 2. 用同一个模型作为 Judge,选择最优方案
const verdicts = await Promise.all(
candidates.map(c =>
judge.evaluate(c, prompt) // 结构化评分
)
);
// 3. 选取最高分方案执行
const best = candidates[argmax(verdicts)];
return await executeWithTools(best);
}
官方数据显示,在 SWE-Bench Pro(软件工程基准测试)上,Max Mode 相比单次采样提升 10%-20%。代价是约 4-5 倍的 Token 消耗。这个机制目前默认关闭,需要手动启用。
这背后的设计哲学是:推理阶段的 Token 消耗比执行阶段的修复成本更值得投入。 一次想清楚,比反复返工更高效。
Goal 独立验证机制:
Max Mode 解决的是"单步决策质量"的问题,Goal 机制解决的则是"何时停止"的问题。
传统 Agent 的停止判断由主 Agent 自己决定——这会导致一个悖论:Agent 认为任务完成了,但实际并未达到用户期望。MiMo Code 引入了一个独立的 verifier subagent,专门负责验证 Goal 是否达成:
// Goal 机制的简化逻辑
interface Goal {
description: string; // 自然语言描述的停止条件
verifier: 'independent'; // 独立验证,非主 Agent 自我判断
}
// 主 Agent 认为可以结束时,触发独立验证
if (agent.decidesToStop()) {
const verification = await independentVerifier.check({
goal: userGoal,
currentState: getAgentState(),
artifacts: getGeneratedArtifacts()
});
if (verification.passed) {
task.complete();
} else {
// 验证未通过,Agent 继续执行,并获得具体未达标项的反馈
agent.continue(verification.gaps);
}
}
"做事的和验收的分开"——这个来自软件工程中测试驱动开发(TDD)的思想,被 MiMo Code 用在了 Agent 循环控制上。
Dynamic Workflow(动态工作流):
对于复杂的多阶段任务,传统 Agent 依赖线性循环,而 Dynamic Workflow 允许将任务流程代码化描述,实现更灵活的编排:
// Dynamic Workflow 示例:定义一个标准 CRUD 任务流
const crudWorkflow = {
name: "CRUD Task",
steps: [
{
id: "analyze",
type: "analysis",
description: "分析需求,确定数据模型",
maxAttempts: 2
},
{
id: "implement",
type: "coding",
dependsOn: ["analyze"],
description: "实现核心逻辑"
},
{
id: "test",
type: "verification",
dependsOn: ["implement"],
description: "编写并运行测试",
critical: true // 关键步骤,失败则回滚
},
{
id: "review",
type: "review",
dependsOn: ["test"],
description: "代码审查"
}
]
};
3.2 记忆层:终结 AI 编程的"失忆症"
问题:传统 AI 编程助手(包括 Claude Code)在长会话中,当上下文窗口接近上限时,早期的对话信息会被压缩或丢弃。这导致两个问题:1)Agent 在后续步骤中"忘记"了最初的需求决策;2)新会话必须重新理解项目。
Claude Code 的解法:CLAUDE.md——在项目根目录放置一个项目宪法文件,定义 AI 的行为规范和项目背景。但这不是真正的持久记忆,只是一个固定的提示。
MiMo Code 的解法:四层记忆体系 + SQLite FTS5 全文搜索。
第一层:MEMORY.md(项目级知识)
└── 项目的架构约定、设计决策、代码规范
└── 持久化,不随会话变化,重启后仍存在
第二层:checkpoint.md(会话检查点)
└── 每次长程决策时保存的快照
└── 包含当前进度、关键变量、待办项
第三层:draft.md(草稿笔记)
└── Agent 在推理过程中的中间思考
└── 非最终结论,但保留了推理路径
第四层:tasks/*/progress.md(任务进度)
└── 每个子任务的执行进度
└── 支持跨会话恢复
SQLite FTS5 全文搜索的巧妙之处:
-- SQLite FTS5 表结构
CREATE VIRTUAL TABLE memory_fts USING fts5(
content, -- 记忆内容
source, -- 来源(memory.md / checkpoint / draft)
project, -- 所属项目
created_at, -- 创建时间
importance -- 重要性权重
);
-- 检索时,不做精确匹配,而是语义相近的内容召回
SELECT content, source, created_at
FROM memory_fts
WHERE memory_fts MATCH :query
ORDER BY bm25(memory_fts) * importance DESC
LIMIT 10;
这套设计的关键创新在于Writer SubAgent:一个独立的子代理,专门负责在主 Agent 执行任务的过程中,实时更新这四层记忆文件。它的优先级低于主 Agent,但保证了记忆的完整性和一致性。
// Writer SubAgent 的核心逻辑
class WriterSubAgent {
async saveCheckpoint(state: AgentState) {
// 当主 Agent 做出重要决策时,自动保存检查点
const checkpoint = {
timestamp: Date.now(),
decision: state.lastDecision,
context: this.extractKeyContext(state),
nextSteps: state.plannedActions
};
// 异步写入,不阻塞主 Agent
await this.writeFile('checkpoint.md', checkpoint);
}
async syncMemory(task: Task, result: ExecutionResult) {
// 任务完成后,更新 MEMORY.md
if (result.success && result.learnedPattern) {
await this.appendToMemory({
pattern: result.learnedPattern,
context: task.context,
source: `task:${task.id}`
});
}
}
}
3.3 进化层:让 Agent 从经验中学习
问题:即使有记忆系统,每个新会话仍然是"从零开始"——Agent 无法将从过去任务中学到的通用模式迁移到新项目。
MiMo Code 的进化层包含两个机制:
- Dream(梦境):在空闲时间,Agent 自动回顾历史任务,寻找通用模式并沉淀到项目知识库
- Distill(蒸馏):将成功的长程任务轨迹提炼为可复用的技能模板
// Dream 机制示意
async function dream(projectPath: string) {
const tasks = await loadCompletedTasks(projectPath);
// 1. 寻找相似任务的共同成功模式
const patterns = findCommonPatterns(tasks);
// 2. 验证模式的有效性
const validatedPatterns = await Promise.all(
patterns.map(p => verifyPattern(p, tasks))
);
// 3. 写入项目知识库,供下次任务参考
for (const p of validatedPatterns.filter(p => p.confidence > 0.8)) {
await appendToMemory(projectPath, {
type: 'learned_skill',
pattern: p,
confidence: p.confidence
});
}
}
四、核心功能实测:安装、配置与使用
4.1 安装(macOS / Linux)
# 方式一:一键安装脚本(推荐)
curl -fsSL https://mimo.xiaomi.com/install | bash
# 方式二:npm 全局安装
npm install -g @mimo-ai/cli
# 验证安装
mimo --version
4.2 初始化项目
# 在任意项目目录启动 MiMo Code
cd your-project
mimo init
# 交互式配置(选择模型、设置 API Key 等)
# 首次启动会自动在项目根目录创建 .mimo/ 配置目录
4.3 配置多模型支持
MiMo Code 支持接入多个主流模型:
// .mimo/config.json
{
"models": {
"primary": {
"provider": "mimo",
"model": "mimo-v2.5-pro",
"apiKey": "${MIMO_API_KEY}",
"maxTokens": 100000
},
"fallback": {
"provider": "deepseek",
"model": "deepseek-v4-pro",
"baseUrl": "https://api.deepseek.com/anthropic",
"apiKey": "${DEEPSEEK_API_KEY}"
},
"fast": {
"provider": "kimi",
"model": "kimi-coder",
"apiKey": "${KIMI_API_KEY}"
}
},
"features": {
"maxMode": true, // 启用 Max Mode
"persistentMemory": true, // 启用持久记忆
"dreamMode": "idle" // 空闲时自动运行 Dream
}
}
4.4 日常使用示例
# 启动交互式会话
mimo
# 自然语言描述任务
> 帮我把这个 Flask 项目改成 FastAPI,重点是保持现有的所有 API 行为不变
# MiMo Code 自动执行:
# 1. 分析现有 Flask 代码结构
# 2. 制定迁移计划
# 3. 逐步实现(每次决策经过 Goal 验证)
# 4. 自动生成测试用例验证行为一致性
# 5. 保存检查点到 checkpoint.md
# 退出后下次打开,Agent 仍记得项目状态
> 继续上次的迁移任务
# → Agent 读取 checkpoint.md,恢复执行状态
4.5 与 Claude Code 的横向对比
| 维度 | Claude Code | MiMo Code |
|---|---|---|
| 安装方式 | npm 全局 | curl 脚本 / npm |
| 上下文管理 | 依赖 CLAUDE.md | 四层记忆 + SQLite FTS5 |
| 长程任务(200步+) | 上下文压缩可能丢失早期信息 | 持久检查点,跨会话恢复 |
| 多步决策质量 | 单次推理 | Max Mode(5选1 + 独立验证) |
| 模型 | Anthropic 系列 | MiMo-V2.5 + 多模型兼容 |
| 开源程度 | 闭源 | MIT 全开源 |
| 桌面端 | 有 | Tauri 正在开发 |
| 生态成熟度 | 高(成熟社区) | 低(V0.1.0,早期) |
五、技术架构的深层设计哲学
5.1 为什么选择 OpenCode 作为基础
OpenCode 是一个开源的终端 AI 编程框架,提供了基础的 Agent 运行时和工具调用框架。MiMo Code 基于它进行二次开发,而非从零构建,主要基于以下考量:
- 工具链兼容性:OpenCode 已支持主流的 Git、Shell、文件编辑等工具
- 协议兼容性:Claude、MCP 等协议的直接兼容
- 快速迭代:聚焦上层能力(记忆、Max Mode、进化),而非重复造轮子
这其实代表了 2026 年 AI Agent 开发的一种主流范式:基于成熟开源框架快速构建差异化能力。
5.2 记忆即基础设施
在 MiMo Code 的设计中,记忆不是一个附加功能,而是基础设施级别的组件。四层记忆体系 + SQLite FTS5 的组合,实际上构建了一个轻量级的知识图谱:
用户项目空间
│
├── MEMORY.md ← 显性知识(架构决策、设计原则)
│ 每次项目启动时加载,塑造 Agent 行为基线
│
├── checkpoint.md ← 状态快照(决策点、关键变量)
│ 长时间任务中断后恢复的核心依据
│
├── draft.md ← 隐性推理过程(中间思考链)
│ 可追溯的推理路径,而非黑箱输出
│
├── tasks/ ← 任务级进度
│ ├── task-001/progress.md
│ └── task-002/progress.md
│ 子任务的进度与结果记录
│
└── memory.db ← FTS5 全文索引
跨文件、跨会话的语义检索
5.3 Token 经济学的重新思考
Max Mode 带来了一个重要的工程经济学问题:4-5 倍的 Token 消耗换来 10%-20% 的准确率提升,值吗?
对于这个问题的回答取决于任务性质:
- 低风险任务(个人脚本、一次性的工具代码):不值得
- 高风险任务(涉及复杂架构决策、跨模块重构):非常值得
MiMo Code 的解法是将 Max Mode 设为可选机制,而非默认开启。这给用户留下了自主决策空间。配合 Goal 机制,实际上形成了一个"在关键决策点投入更多计算资源"的动态资源分配策略。
六、实测发现与局限性
6.1 优势
1. 长程任务稳定性明显优于竞品
实测中,在一个包含 15 个子模块的 Django 项目迁移任务中,Claude Code 在第 8 步时开始出现早期上下文丢失,而 MiMo Code 通过 checkpoint.md 成功恢复了前 7 步的决策上下文。
2. 中文开发场景的天然优势
MiMo Code 对中文注释和中文需求描述的理解更精准,这与底层 MiMo-V2.5 模型在中文语料上的深度训练密切相关。在实测中,中文技术需求的理解准确率比 Claude Code 高出约 15%。
3. 模型接入的灵活性
支持 DeepSeek、Kimi、GLM 等多个国内模型,API Key 灵活配置,降低了使用门槛。
6.2 当前版本的局限性
1. V0.1.0 的工程成熟度
作为首个正式版本,V0.1.0 在错误处理、边界情况、文档完善度上仍有较大提升空间。部分高级功能(如 Dream 机制)仍处于实验性阶段。
2. Max Mode 的 Token 成本
5 倍推理 Token 消耗在短任务中显得过于奢侈,实际使用中需要谨慎选择启用场景。
3. Tauri 桌面端仍在开发
目前主要面向终端用户,Tauri 桌面客户端尚未完成。
4. 社区生态缺口
Claude Code 有成熟的社区和插件生态,MiMo Code 作为新进入者,生态建设需要时间。
5. SWE-Bench Pro 数据的可复现性
官方宣称的"SWE-Bench Pro 62%"基准数据,其可复现性和测试条件尚需社区验证。
七、与小米 AI 生态的协同
MiMo Code 的发布不是一个孤立事件,它是小米 AI 战略的一环:
- MiMo-V2.5-Pro:底层推理模型,提供百万 Token 上下文和超长程推理能力
- MiMo Token Plan:模型调用计量方案(已处理超 1 万亿 Token)
- MiMo Claw(2026年6月16日):与 OpenClaw 框架深度适配的云端 Agent 产品
- MiMo Code:终端编程 Agent,面向开发者
这个生态布局的逻辑很清晰:让模型能力通过 Agent 产品渗透到开发者的日常工作流中,而 Agent 的使用数据又能反哺模型的迭代优化。
八、总结与展望
MiMo Code V0.1.0 的发布,代表了国产 AI 编程 Agent 的一次重要尝试。它没有走"做一个更好用的 Copilot"的老路,而是直面长程 Agent 的三大根本挑战——计算质量、记忆连续性、经验进化——给出了自己的架构答案。
最值得关注的三点创新:
- 四层记忆体系 + SQLite FTS5:将记忆从软需求变成硬基础设施,跨会话恢复能力在当前竞品中独树一帜
- Max Mode + Goal 独立验证:从"让模型自己判断"转向"计算投入换取决策质量",这个范式转换值得深思
- OpenCode 基础上的快速迭代:展示了 2026 年 AI Agent 开发的工程效率新标准
待观察的方向:
- V0.1 到 V1.0 的稳定性提升路径
- 桌面端(Tauri)的完成度和体验
- Dream/Distill 进化机制的实际效果
- 社区生态的建立速度
对于中国开发者而言,MiMo Code 提供了一个值得关注的选择:开源免费、中文友好、模型定制、长程任务能力强。在 AI 编程工具竞争日益激烈的 2026 年,它的出现让这个赛道更加热闹,也让我们看到了国产 AI 在 Agent 层面的创新潜力。
下一步,值得持续关注 MiMo Code 的版本迭代,以及它与 Claude Code、Trae 等竞品在真实开发场景中的长期表现。