跳到正文
Latent Space· Rittika Jindal·· 3 小时前AI 评分30

在喜马拉雅山脚下用离线 AI 编程智能体写代码

Coding From the Himalayas With an Offline AI Agent

AI 导读

一位 Thomson Reuters 首席工程师在喜马拉雅山麓断网环境下,用 OpenCode 1.19.4 搭配 Ollama 本地运行 Qwen3.5 9B,完成修复 expense_total.py 的 bug 并跑通全部 5 个测试。该模型下载体积约 6.6–7.6 GB,Qwen 模型卡显示其 LiveCodeBench v6 得分 65.6、BFCL-V4 得分 66.1。

深度导读
作者是 Thomson Reuters 的首席工程师,一年前搬到喜马拉雅山麓居住,当地常遇网络与电力中断,于是他尝试把日常的编程智能体工作流搬到完全离线的笔记本上。可离线完成的任务包括解释陌生函数、排查失败测试、小范围重构和补完功能,前提是模型、项目依赖和测试工具都已存在本地;下载新包或联网查资料仍需连接。 工具组合是 OpenCode 加 Ollama:OpenCode 是开源编程智能体,可读取文件、提出修改并运行测试等命令,权限提示允许逐条审查命令与改动;Ollama 负责在同一台笔记本上运行模型。作者选择 Qwen3.5 9B,因为其公开的编码与工具调用成绩优于 4B 版本。文中引用的 Qwen 模型卡数据显示,Qwen3.5 4B 的 LiveCodeBench v6 为 55.8、BFCL-V4 为 50.3,Qwen3.5 9B 分别为 65.6 和 66.1,gpt-oss-20b 的 LiveCodeBench v6 为 74.6、BFCL-V4 未报告。下载体积方面,4B 约 3.3–4.0 GB,9B 约 6.6–7.6 GB,27B 约 17–20 GB;下载体积不等于内存需求,文中提到 6.6 GB 的 9B 构建建议预留 12–16 GB 内存,而 64k token 的配置可能需要更多。 流程上先在联网状态完成安装与下载:按 GitHub README 安装 OpenCode 1.19.4,用 ollama pull qwen3.5:9b 拉取模型,并在 opencode.json 中把主模型与辅助模型都指向本地 Qwen3.5 9B,仅启用本地 provider,同时屏蔽 web 工具。随后关闭 Wi-Fi 与有线/热点连接,用 curl 验证 localhost 上的 Ollama 仍可响应、外部地址解析失败,再以 --pure 参数启动 OpenCode 执行任务。 示例项目是一个费用计算器:初始程序每轮覆盖总额,只输出最后一笔的 8.00,正确结果应为 25.50,三个测试失败。离线运行时 Qwen 提出一行改动,把 total = Decimal(amount) 改为 total += Decimal(amount),经权限确认后运行测试,五个测试全部通过,作者随后自行复跑确认,测试文件未被修改。文中还提到 OpenCode 在 Terminal-Bench Pro 的 50 个任务上与 Goose、OpenHands-SDK 的对比数据,但作者提醒这些跑分使用云端 API 和不同模型,不能预测本地 Qwen3.5 9B 的表现,且研究报告指出 OpenCode 每解决一个任务的 token 消耗约为 Goose 的 40 倍。作者还给出两个待完成的练习:CSV 报告与日志分析器,并建议提前下载依赖、把测试命令明确写进提示词、保持任务聚焦并自行复核结果。

来源:Latent Space · latent.space