Codex正式开源+llama.cpp+Qwen3.8-27B,55 t/s 跑通"委托式"程序开发,全本地AI编程干活
本文来源: 优创造(公众号:优创造)
原文链接: https://mp.weixin.qq.com/s/6KGFuevxp13KYVbMlCTy7g
发布时间: 2026-08-21 18:28

作者: 优创造 发布时间: 2026-08-21 18:28
Codex 开源llama.cppQwen3.8-27B
Codex 开源了,Harness 引擎完整开放,Apache-2.0 许可——这意味着我可以把 Codex 接上本地的 llama.cpp,用 Qwen3.8-27B 跑一个完全离线的 AI 编程环境。不花一分钱 API 费用,不上传一行代码到云端。实测下来,55 t/s 的速度,让它分析整个 Codex 项目代码并输出文档,居然真的能跑通。
写在前面:为什么我要折腾一套全本地编程环境?
先说说我的编程工具演变史:
- 最早用 Claude Code——确实不错,但背后的公司老是搞些奇奇怪怪的协议,而且极不开放
- 后来转投 opencode——每日有免费额度,随着国产开源模型能力增强,也能完成不少任务,还能交互式操作
- 之前一直用 opencode 的免费 DeepSeek-V4-Flash 模型——结果今天突然没了 😒(都怪梁子涨价 😂)
免费的 DeepSeek-V4-Flash 模型没了,还剩其它的几个模型。用免费模型作为一种方式,本地配置的 qwen3.8 27B 模型也能解决很多问题。
依赖别人的免费午餐,与自己搭一套全本地编程环境不冲突。
最近又看到 Codex Harness 完整开源的消息,第一反应就是:这个必须搞进我的 AI 工具箱。
Codex 开源了什么?
最近 OpenAI 把 Codex 的底层核心引擎 Harness 完整开放了出来,一次性在 Apache-2.0 许可下发布了三大核心组件:
| 组件 | 说明 | 适用场景 |
|---|---|---|
| codex exec | 命令行工具 | CI/CD 流水线等自动化任务 |
| Codex SDK | 官方 SDK(TypeScript/Python) | 在自己的代码中编程式调用 Codex Agent |
| app-server | 核心执行服务器 | 构建拥有自定义界面和审批流程的完整产品 |
说人话就是:以前 Codex 是个"黑盒产品",现在把引擎盖掀开了,你可以把这套 Harness 嵌入到自己的产品里。OpenAI 正式将 Codex 定位为 "Agent Platform"(智能体平台),明确邀请开发者来用。
官方地址:github.com/openai/codex
Codex 的核心理念
- "富足心态"与"大胆委托":让 Codex 像一名工程队友一样,并行运行多个任务,自动完成 bug 修复、重构等繁琐工作
- "智能体优先,产品其次":先打造强大的通用智能体,再考虑具体产品形态——核心能力可以延伸到编程之外的领域
实战:搭建全本地 Codex 编程环境
第一步:安装 Codex
先确认 Node.js 环境:
node --version
# v24.15.0
npm --version
# 11.12.0安装 Codex:
npm install -g @openai/codex⚠️ 国内用户注意:如果下载速度慢,换国内镜像源:
npm install -g @openai/codex --registry=https://registry.npmmirror.com安装完成后,可以启动 app-server 测试:
codex app-server--listen ws://127.0.0.1:4500第二步:配置 llama.cpp 作为模型提供商
Codex 支持自定义模型提供商,配置 llama.cpp 只需要两个文件:
文件 1:C:\Users\$username\.codex\llama.config.toml
# 配置 llama.cpp 作为模型提供商
[model_providers.llamacpp]
name = "llama.cpp"
base_url = "http://127.0.0.1:8080/v1"
# 关键:明确指定使用 responses API
wire_api = "responses"文件 2:C:\Users\$username\.codex\my-llama-model.config.toml
# 配置一个使用该提供商的 profile
model_provider = "llamacpp"
model = "Qwen3.8-27B-UD-Q4_K_M"💡 注意:wire_api = "responses" 这行很关键,不指定的话 Codex 和 llama.cpp 之间会"对不上话"。
第三步:解决 Qwen 聊天模板问题
默认情况下,Qwen 模型在本地 llama.cpp 中使用时有些问题,需要改进聊天模板才能正确工作。
去 hf-mirror.com/froggeric/Qwen-Fixed-Chat-Templates 下载 chat_template.jinja,启动 llama.cpp server 时指定模板:
F:/llama_cpp/llama-b10436-bin-win-vulkan-x64/llama-server.exe \
--jinja \
--chat-template-file F:/llama_cpp/chat_template.jinja \
-ctk q4_0 -ctv q4_0 \
--reasoning off \
--models-preset F:/llama_cpp/models/models.ini \
--models-max 1 \
--no-models-autoload \
-fa on -np 1llama.cpp 的 models.ini 中 Qwen3.8-27B-UD-Q4_K_M 配置:
[Qwen3.8-27B-UD-Q4_K_M]
model = F:/llama_cpp/models/Qwen3.8-27B-UD-Q4_K_M.gguf
ctx-size = 148000
ngl = 99
model-draft = F:/llama_cpp/models/mtp-Qwen3.8-27B-Q4_0.gguf
spec-type = draft-mtp
spec-draft-n-max = 4
flash-attn = on
parallel = 1
cache-type-k = q4_0
cache-type-v = q4_0| 参数 | 值 | 含义 |
|---|---|---|
| ctx-size | 148000 | 上下文窗口约 148K tokens |
| ngl | 99 | 全部层卸载到 GPU |
| model-draft | mtp-Qwen3.8-27B-Q4_0.gguf | 启用 MTP 投机解码 |
| spec-draft-n-max | 4 | 每次最多投机 4 个 token |
| cache-type-k/v | q4_0 | KV Cache 量化为 4bit,省显存 |
模型到 hf-mirror.com/unsloth/Qwen3.8-27B-GGUF 下载。
💡 UD(User-Defined,用户定义)量化:其核心优势在于通过精细的、自适应的混合精度策略,在模型大小和推理质量之间实现了比传统方法更优的平衡。该 UD 模型的 MTP 草稿模型是独立出来的,需要下载相应的 mtp-Qwen3.8-27B-Q4_0.gguf 文件,并配置 model-draft。
实测:让 Codex 分析 Codex 自己的代码
环境搭好了,来点实际的。我直接 git clone 了 Codex 项目,然后让 Codex 分析它自己的代码 😂
cd F:\ProjectsAI\opensource
git clone https://github.com/openai/codex.git
cd F:\ProjectsAI\opensource\codex
codex--profile my-llama-model进入 Codex 后,确认使用的是 Qwen3.8-27B-UD-Q4_K_M 本地模型:
输入指令:"分析项目代码,主要思想,写入 ycz/doc/project.md"
然后回车,Codex 就开始干活了。
性能数据:llama.cpp 生成速度
运行期间 llama.cpp 的终端 token 生成速度的输出:
[59663] 6.31.988.689 I slot print_timing: id 0 | task 907 | n_gen = 1677, tg = 55.40 t/s, tg_3s = 53.07 t/s
[59663] 6.35.012.676 I slot print_timing: id 0 | task 907 | n_gen = 1813, tg = 54.45 t/s, tg_3s = 44.97 t/s
[59663] 6.38.038.906 I slot print_timing: id 0 | task 907 | n_gen = 1984, tg = 54.62 t/s, tg_3s = 56.51 t/s
[59663] 6.41.076.140 I slot print_timing: id 0 | task 907 | n_gen = 2143, tg = 54.45 t/s, tg_3s = 52.35 t/s
[59663] 6.44.117.690 I slot print_timing: id 0 | task 907 | n_gen = 2331, tg = 54.97 t/s, tg_3s = 61.81 t/s
[59663] 6.47.158.515 I slot print_timing: id 0 | task 907 | n_gen = 2499, tg = 54.99 t/s, tg_3s = 55.25 t/s平均达到了 50 多 token,还不错。
核心数据总结
| 指标 | 数值 |
|---|---|
| Token 生成速度 | 54~59 t/s(平均约 55 t/s) |
| 模型 | Qwen3.8-27B-UD-Q4_K_M + MTP 投机解码 |
| Context | 148K |
第一个感受:55 t/s 的速度,对于"委托式"编程来说完全够用。Codex 不需要你盯着它逐字输出,它自己读代码、思考、写文件,整个过程是异步的。你只需要等它干完活就行。
任务完成
Codex 命令行界面完成了任务(Windows 下命令行界面确实不好看 😅):
任务完成后,可以看到生成了相应的文件:
全本地 Codex 编程,体验如何?
优点
| 优点 | 说明 |
|---|---|
| 零 API 费用 | 完全本地推理,不花一分钱 |
| 代码不出门 | 所有代码都在本地,隐私安全 |
| 不依赖网络 | 断网也能编程(只要 llama.cpp 在跑) |
| 速度够用 | 55 t/s 对于委托式任务完全 OK |
| 开源可控 | Codex + llama.cpp 全开源,想改就改 |
不足
| 不足 | 说明 |
|---|---|
| 模型能力有限 | 27B 本地模型和 GPT-4/Claude 比还是有差距,复杂任务可能搞不定 |
| Windows 命令行体验差 | Codex CLI 在 Windows 下界面确实不好看 |
| 显存占用大 | 27B Q4 + 148K Context,显存吃紧 |
| 聊天模板要手动修 | Qwen 默认模板有问题,需要额外配置 |
给你的建议
如果你也想搭一套全本地 AI 编程环境,我的建议是:
| 建议 | 说明 |
|---|---|
| 明确你的目标 | 日常小任务(写脚本、分析代码、修 bug)→ 本地 27B 够用;复杂架构设计 → 还是得用云端大模型 |
| Qwen 模板一定要修 | 不修聊天模板,Codex 和 Qwen 之间会"鸡同鸭讲" |
| MTP 投机解码必开 | spec-type = draft-mtp 能显著提升生成速度,Qwen3.8 有现成的 MTP 模型 |
| KV Cache 量化别省 | -ctk q4_0 -ctv q4_0 能省大量显存,给 Context 留出空间 |
| 委托式使用,别盯着看 | Codex 的设计哲学是"大胆委托",把任务丢给它,去喝杯咖啡,回来收成果 |
总结:全本地 Codex 编程,值不值?
回到最开始的问题:花精力搭一套全本地 Codex + llama.cpp 环境,值不值?
如果你的需求是日常编程辅助、代码分析、小任务自动化——值。零费用、代码不出门、55 t/s 完全够用。
如果你的需求是复杂架构设计、大型项目重构——还不够。27B 本地模型的能力天花板摆在那里,这种场景还是得用云端旗舰模型。
这次实测让我重新思考了一个问题:AI 编程工具的核心竞争力,到底是模型能力,还是工程框架?
Codex 的 Harness 引擎证明了:一个好的 Agent 框架 + 一个够用的本地模型,就能跑通"委托式编程"的完整闭环。以前我觉得"本地模型跑编程"是伪需求,但现在我觉得,对于日常 80% 的编程任务,本地 27B + Codex 已经够用了——剩下的 20% 复杂任务,再交给云端旗舰模型。
全本地不是目的,够用才是。
参考资料
- Codex 开源项目 — OpenAI 的 AI 编程智能体平台
- Qwen-Fixed-Chat-Templates — Qwen 修复版聊天模板
- llama.cpp 官方仓库 — 本地推理框架
本文转载自微信公众号「优创造」,仅供学习交流使用。
觉得内容不错?我要