AI资讯 / Agent

Agent / 分析

用本地 AI 智能体写代码

Latent Space

作者是 Thomson Reuters 的首席工程师,一年前移居喜马拉雅山麓,频繁遭遇断网与断电。由于编程智能体已深度融入日常工作流,她开始探索能否在完全离线的笔记本电脑上运行一套完整的编码智能体。她选择了开源工具 OpenCode 负责与项目交互,Ollama 在本地运行模型,模型则选用 Qwen3.5 9B——该模型在代码生成基准 LiveCodeBench v6 上得分 65.6,在函数调用基准 BFCL-V4 上得分 66.1,优于同系列 4B 版本。整套方案的核心逻辑是:趁有网络时下载好所有依赖,断网后由 OpenCode 将请求发送至本地 Ollama 服务,实现零云端依赖的编程辅助。文章详细介绍了配置步骤、模型选型依据及实际测试结果,为需要在网络受限环境下工作的开发者提供了一条可行路径。

远程办公通常默认拥有稳定的网络和电力,但现实并非总是如此。作者移居喜马拉雅山麓后,断网与停电成为日常,这迫使她重新审视自己对云端 AI 工具的依赖。作为一名日常大量使用编程智能体的工程师,她开始认真思考:如果网络彻底断开,有多少工作流程还能正常运转?这个问题促使她搭建了一套完全本地化的编程智能体方案。

这套方案由三个核心组件构成。OpenCode 是一个开源编程智能体,能够读取项目文件、提出代码修改建议并执行测试命令,同时在每次操作前提示用户确认。Ollama 负责在本地运行开放权重模型,充当模型推理服务。Qwen3.5 9B 则是实际执行代码理解与生成的语言模型,其权重可完整下载到本地,无需任何云端调用。三者协同工作,OpenCode 将请求发送至本地 Ollama 服务(地址为 127.0.0.1:11434),整个链路不经过任何外部服务器。

模型选型是离线方案成败的关键。Qwen 系列提供多种参数规模:4B 版本下载约 3.3 至 4.0 GB,9B 版本约 6.6 至 7.6 GB,27B 版本则需 17 至 20 GB。作者选择 9B 版本,原因在于其在代码生成和函数调用两项基准上均明显优于 4B 版本,而函数调用能力直接决定智能体能否正确选择工具并传递参数。需要注意的是,运行时实际占用内存远高于下载体积,9B 模型建议预留 12 至 16 GB 内存,加上 OpenCode 的 64k token 上下文配置,需为其他应用留出足够空间。

配置流程的核心原则是「先联网备齐,再断网作业」。在有网络时,需完成 OpenCode、Ollama 及 Qwen3.5 9B 模型的下载与安装,并配置 opencode.json 文件,将模型端点指向本地 Ollama 服务,同时禁用所有网络工具。启动时,在独立终端中以指定参数运行 Ollama 服务,设置 OLLAMA_NO_CLOUD=1 以关闭云端功能,OLLAMA_CONTEXT_LENGTH=65536 以支持长上下文。确认智能体能正常响应后,即可断开网络开始离线工作。

离线状态下,智能体能够胜任多类实际编程任务:解释陌生函数的逻辑、排查失败的测试用例、重构局部代码,以及协助完成功能开发。文章以一个费用计算器为例演示了完整流程——程序原本只输出最后一笔费用的金额,而非所有费用的总和,智能体在离线环境下成功定位并修复了这一问题。当然,下载新依赖包或查阅在线文档仍需网络,离线方案的边界在于「利用已有资源解决已知问题」。

从更广泛的视角看,这套方案的意义不仅限于山区或偏远地区。对于重视数据隐私、需要在飞机或火车上工作、或希望降低 API 成本的开发者而言,本地化编程智能体同样具有吸引力。随着开放权重模型能力持续提升,本地运行的质量差距正在缩小。OpenCode 的基准测试显示其在 50 项任务中通过率约为 50%,与同类云端方案相当,尽管其 token 消耗量约为竞品的 40 倍,在本地运行时意味着更长的推理时间,这是使用者需要权衡的现实代价。

要点

  • OpenCode + Ollama + Qwen3.5 9B 可构成完全离线的编程智能体方案,所有请求在本地闭环处理,无需云端 API。
  • 模型选型需兼顾代码生成与函数调用两项能力,后者直接影响智能体能否正确调用工具;9B 版本在两项指标上均优于 4B 版本。
  • 离线方案的实际内存需求远超模型文件大小,运行 9B 模型建议预留 12 至 16 GB 内存,并为上下文和其他应用留出余量。
  • 离线智能体适合处理代码解释、测试排查、局部重构等任务,但下载新依赖或查阅在线资料仍需网络连接。
  • OpenCode 的 token 消耗量约为同类工具的 40 倍,在本地推理场景下意味着更长响应时间,是性能与成本之间需要权衡的关键因素。
查看原始来源

原始标题:Coding From the Himalayas With an Offline AI Agent

本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。