Hotdry.
ai-systems

Devstral2 + Vibe CLI:本地多文件上下文流式生成可执行代码与 MCP 原型实战

借助 Mistral 最新 123B 代码模型与 Vibe CLI,把本地仓库一把塞进上下文,流式输出可执行脚本,30 分钟搭出 MCP/Agent 可交互原型。

1. 把 “整个仓库” 当提示词

传统代码助手只看得见当前文件,Mistral 新发布的 Devstral2 直接把 “目录结构 + Git 状态 + 多文件摘要” 一次性编码进 128 k 上下文窗口,再用 Vibe CLI 流式吐出可执行代码。核心步骤只有三步:

  1. vibe init 扫描当前仓库,生成 .vibe/context.jsonl—— 里头是文件路径、语言类型、最近 commit diff 的向量化摘要。
  2. vibe prompt "写一个 MCP Server,把 /src/utils 下所有函数暴露为工具"——CLI 先把 context.jsonl 喂给 Devstral2,随后逐 token 回显 Python/TypeScript 代码;遇到需要安装依赖时,会暂停并询问是否执行。
  3. 生成物已经是标准 MCP 目录:mcp-server.pypyproject.tomlREADME.md,直接 uv run mcp-server.py 就能在 Claude Desktop 里出现新工具。

整个流程本地完成,不需要把源码上传外部 API,适合隐私场景。

2. 123B 还是 24B?一张表选对模型

版本 参数量 最低 GPU 上下文 授权 百万 token 价 (in/out) 建议场景
Devstral2 123 B 4×H100 80 GB 128 k 修改版 MIT (0.40 / )2.00 生产级、复杂 MCP、Agent 编排
Devstral Small 24 B 1×RTX 4090 24 GB 128 k Apache 2.0 (0.10 / )0.30 本地原型、边缘部署、闭源商用

如果预算只够一张消费卡,直接上 Small;想在同一条 PCIe 上跑多并发实例,就用 2-bit 量化后的 Devstral2(需 38 GB VRAM)。两款模型在 SWE-Bench Verified 上差距约 9%,但在 “多文件上下文 + 工具调用” 场景里,123B 的指令跟随更稳,幻觉率下降 18%。

3. 30 分钟 MCP 原型:最小可运行模板

以下示例把本地 todo.md 解析成工具,让大模型帮你勾选任务。

# 1. 安装(macOS 示例,Linux 同理)
brew install mistral-ai/tap/vibe
vibe config set model devstral-small-2505
vibe config set stream true

# 2. 新建项目并一次性索引
cd my-todo-mcp && vibe init --lang en --max-file-size 51200

# 3. 一句话生成 MCP Server
vibe prompt "暴露两个工具:list_todos() -> list[str], check_todo(index:int)->bool,数据存 JSON,带异常处理"

生成的 server.py 已经符合 MCP 0.3.0 协议:

  • 使用 mcp 官方 Python SDK
  • 自动注册 tools/list_todostools/check_todo
  • __main__ 里用 asyncio.run() 启动 stdio 传输,Claude Desktop 可直接识别

把文件拷到 Claude 配置文件夹,重启后即可在对话框里调用 /mcp list_todos

4. 与现有 Agent 框架对接

框架 集成方式 备注
OpenHands 镜像内置 devstral-small-2505,vLLM 启动 把生成的 MCP Server 当外部插件调用
Cline VS Code 插件设置页选 “Mistral → devstral2” 支持把 vibe 生成的工具反向注册到 Cline
Zed 官方扩展市场搜 “Mistral Vibe” 侧边栏直接 prompt,结果写入当前 buffer

若要在 Docker 里一次性拉起完整环境,可用以下一行命令:

docker run --gpus all -p 8000:8000 \
  -v $(pwd):/workspace \
  mistralai/vibe-devstral2:0.9.0 \
  vibe server --host 0.0.0.0 --port 8000 --model devstral2

容器内已预装 CUDA 12.4、vLLM 0.6.1,对外暴露 OpenAI-compatible 接口,原有基于 openai 库的 Agent 代码无需改动即可把模型端点指向 http://localhost:8000/v1

5. 落地 checklist:别让流式生成变成 “流式火葬”

  1. GPU 预算:123B 模型每 1k prompt 约 3.8 GB VRAM,留 20 % 余量给 KV-Cache。
  2. Token 成本:按 0.40+2.00 计费,一次生成 4k/16k 输入输出 ≈ ) 0.045,若让 Agent 自循环调试 100 轮就是 4.5 美元,记得加硬预算上限。
  3. 流式超时:vLLM 默认 60 s,长代码可能被截断;可在 vibe.config 里把 stream_timeout 提到 300 s,并开启 --enable-chunked-prefill
  4. 回滚策略:生成脚本先写入 .vibe/staging/ 目录,人工 review 后再 git apply;CI 里加一步 shellcheck/ruff check,失败即自动 revert。
  5. 安全边界:Vibe CLI 默认拒绝执行 rm -rf / 等高危命令,但仍建议放在 Firecracker 或 gVisor 沙箱,防止幻觉操作主机。

6. 结论:把 Devstral2 + Vibe CLI 当成 “本地 Agent 编译器”

过去搭一个 MCP Server 至少要写 200 行样板代码,现在一句话就能从本地仓库 “编译” 出可执行 Agent 插件;硬件够就上 123B,不够就 24B,授权宽松,商业闭箱也能用。下次需要 “快速给团队搭个内部工具”,不妨 30 分钟 vibe 一下 —— 记得加预算锁和沙箱,剩下的让流式生成帮你搞定。


资料来源
[1] 新浪财经,《Mistral AI 借 “氛围编程” 东风推出全新代码模型》,2025-12-09。
[2] 环球市场播报,《法国 Mistral 发布 1230 亿参数代码模型 Devstral2》,2025-12-09。

查看归档