你的终端里多了个同事:本地 AI 编码 Agent 这周就能用了
你的终端里多了个同事:本地 AI 编码 Agent 这周就能用了
昨天我把 VS Code 里的云端 AI 插件删了。不是它不好用,是因为 antirez 写了个叫 ds4 的东西,让我那台 128GB 的 MacBook 能以每秒 40+ token 跑 DeepSeek V4 Flash。同一个模型,不需要网络,不需要 API key,也不用再猜公司代码被送去了谁家的服务器。
先说清楚,我不是来安利谁的。我只是把这周刷到的三个项目摆在一起看了看,然后发现它们讲的是同一件事。
上周末 GitHub Trending 上三个项目同时上榜:esengine 的 DeepSeek-Reasonix(终端常驻编码 Agent)、antirez 的 ds4(本地推理引擎)、以及 Wafer 发的 Kimi K3 在 AMD MI355X 上的性能测评。三拨人互不认识,但拼起来是一条完整的线:AI 编码工具正在从"租用别人的大脑"变成"你硬盘里常驻的同事"。
三个项目,一条线
ds4:先让模型在你机器上跑起来
antirez 是 Redis 的作者。他写软件有个一贯的习惯:只做一件事,把它做到底。ds4(DwarfStar)就是这个路子——一个纯粹的 DeepSeek V4 推理引擎,不通用,也不打算通用。
它做了什么?
-
只认 DeepSeek V4 和 GLM 5.2。它不是万能 GGUF 加载器。模型加载、prompt 渲染、工具调用、KV 缓存、HTTP 服务,全部围着这两个模型做垂直优化,没有抽象层的开销。
-
三平台通吃。Metal(Mac)、CUDA(NVIDIA)、ROCm(AMD),手边什么机器就用什么机器。
-
量化压得很狠。MoE 专家层直接压到 2-bit(IQ2_XXS),但共享专家、投影层、路由层保持原精度。模型体积因此砍掉大半,编码质量却没掉。antirez 自己测过:在 coding agent 场景下,2-bit 量化的 DeepSeek Flash 工具调用准确率跟全精度几乎没区别。
-
多机能拼起来用。两台 M5 Max / M3 Ultra 通过 RDMA 互联跑 4-bit 模型;内存不够就上 pipeline parallelism,把模型拆到多台机器上凑。
README 里有一句话把我说服了:
"Using the CUDA multi-GPU support, you can turn a server with old-ish CUDA cards, no longer supported for new models by vLLM, into a multi-user LLM server for your company. We tested with 8x L40S and got 120 tok/s aggregate generation, 2000 tok/s prefill."
翻译成人话:你机房里吃灰的老 GPU,vLLM 早就不支持了,ds4 能让它们复活。120 tok/s 的并发生成,够一个中小团队用。
Reasonix:让 Agent 在终端里赖着不走
模型跑起来了,然后呢?你还得有个 Agent 跟它说话。
DeepSeek-Reasonix 是个单文件 Go 二进制,npm install -g reasonix 就装好了。不需要 Python 环境,不需要 Docker,不需要 CUDA toolkit。整个设计就绕着四个字转:prefix-cache 稳定性。
DeepSeek 的 API 有个特性:prompt 前缀不变的话,后续请求只按增量 token 计费。Reasonix 整个工程都是围着这条特性搭的。它启动时先注入一份精简的环境摘要,然后在压缩上下文之前主动裁掉过时的工具输出,把 prefix-cache 命中率一直摁在高位。效果是你让它在后台跑一整天,token 开销也不会随时间线性往上爬。
它同时还是个插件系统。外部工具走 stdio JSON-RPC 接入(兼容 MCP),VS Code 插件、桌面客户端、CLI 底下是同一套引擎。
这东西让我想起 tmux。倒不是长得像,而是两者解决的是同一类问题:让一个东西在终端里活着,比你一遍遍重新拉起来划算得多。
MI355X:显存正在重划战线
Wafer 的测评是这三件事里数字最硬的一件。他们在 AMD MI355X 上跑 Kimi K3——2.8 万亿参数,光是权重加上 1M token 的 KV 缓存就要吃掉 1.5TB+ 的 VRAM。
为什么选 AMD?因为 MI355X 有 288GB HBM,跟 B300 一个量级,单价却只有 B300 的 1/2.4。更要命的是 B200(8×192GB)单节点根本装不下 Kimi K3,必须跨两个节点做 TP16。这意味着每一步 decode 都要过一次 RoCE v2 网络(~195 Gb/s),性能就这么被网络延迟吃掉了。MI355X 的 288GB 单节点刚好塞得下,这笔跨节点的税它不用交。
实测数据:
| 指标 | MI355X (TP8) | B200 (TP16, 2节点) | B300 (TP8) |
|---|---|---|---|
| 单流 decode | 118 tok/s | 90 tok/s | 172 tok/s |
| 峰值吞吐 | 952 tok/s | 498 tok/s | 1,568 tok/s |
| 每美元性能 | 48 tok/s/$ | 7 tok/s/$ | 33 tok/s/$ |
每美元 48 tok/s 对 7 tok/s。差了将近 7 倍,不是四舍五入能抹平的那种差距。
Wafer 团队还顺手修了两个 ROCm 生态的 bug。一个是 speculative decode 的验证环节崩了,因为 ROCm 的构建里缺 top_k_renorm_prob 内核,他们用三行 PyTorch 补了一个。另一个是 prefill 阶段 AITER MLA kernel 不认 Kimi K3 的头数(每 rank 12 个头,kernel 只认 4、8 或 16 的倍数),他们零填充到 16 再切回来,绕过去了。修完 prefill 快了 2-3 倍。
两个 bug 指向同一件事:AMD 的软件生态还有坑,但坑在被填。Wafer 自己的说法是"this time it certainly did not require custom kernels"——对比他们之前跑 GLM 5.2 的经历,这算进步。
为什么这三件事该放一起看
分开看,ds4 是推理引擎,Reasonix 是 Agent 框架,Wafer 那篇是硬件博客,八竿子打不着。放一起,它们回答的是同一个问题:一套完全本地的 AI 开发工作流,现在还缺什么?
答案是:不缺什么了。
- 硬件:一块 MI355X 的 288GB HBM,一台 128GB MacBook,或者几块退役的 L40S,都跑得动。
- 推理:ds4 把 DeepSeek Flash 压到 2-bit,工具调用质量没掉。
- Agent:Reasonix 让模型在终端里长驻,prefix-cache 摁住成本。
- 性价比:AMD 拿 HBM 容量硬扛 NVIDIA 的定价,每美元吞吐 7 倍的差距,签采购单的人不可能看不见。
所以这不是什么"未来趋势",这周你就能把它装上。
但有几件事我得先说清楚
Wafer 的数据是自家硬件上跑的。 他们卖的就是 AMD 推理服务,"每美元性能"这个结论对他们有利。我不是说数据造假,是说换成你的业务场景,数字大概率不一样。自己跑一遍 benchmark。
2-bit 量化不是免费午餐。 antirez 的策略确实聪明,只压 MoE 专家层,共享专家和路由层一根汗毛不动。但他测的是编码 Agent 的工具调用,不是写小说。如果你的活儿是长文本生成或者创意写作,那点量化损失会不会被放大,没人替你验证过。
跑在本地不等于不用管基础设施。 ds4 的 README 明明白白写着"beta quality",Reasonix 还在快速迭代。工作流搬到本地,模型更新、量化版本切换、硬件兼容性这些活儿就全归你了——以前是云端 API 帮你扛着的。
你今天可以做的事
-
有 Mac(M 系列,64GB+)的话,花 20 分钟跑一下 ds4:
git clone https://github.com/antirez/ds4 cd ds4 && ./download_model.sh q2-imatrix make && ./ds4-server亲手感受一次本地推理的速度和延迟。
-
平时在终端写代码的话,装个 Reasonix:
npm i -g reasonix reasonix setup reasonix完整跑一次 coding session,跟你现在用的云端插件比一比。
-
管着公司 GPU 预算的话,把 Wafer 那张表发给采购。B200 每美元 7 tok/s,MI355X 48 tok/s,这个数字值得出现在下一次采购决策的会议室里。
三件事加起来花不了你一个下午。真跑完再决定,那个云端插件还值不值得留着。
✨ 本文由 DeepSeek 生成初稿,Claude 审核润色。
参考来源: