363 字 · 约 2 分钟阅读

目录

简介

与同事和朋友聊 AI(和现在的所有人一样),我分享了自己深入了解模型架构的兴趣,也因此开始关注本地模型。我经常被问到:如何开始测试本地模型,又如何在海量信息中找到方向?本文就是为了回答这个问题。

免责声明: 如果你在 X 或 YouTube 上花太多时间,你会过度接触网红和赞助内容,有人告诉你本地模型在每一代都在赶上前沿模型的推理深度(1、2),也有人反过来说本地模型很愚蠢,前沿模型离 AGI 只差一步。远离这些噪音,形成自己的判断。

生态系统在快速演进,本地模型也是如此。以下是我作为软件工程师,在 2026 年 4 月对本地模型使用的诚实简明入门指南。

推理引擎配置

推理引擎是负责将模型权重加载到内存并运行生成 token 所需计算的软件层。 它承担繁重的工作:内存管理、批处理、硬件加速(CPU、GPU、Apple Silicon 等),并暴露一个接口(通常是本地 HTTP API),供其他工具与你的模型通信。没有它,模型只是磁盘上一个巨大的数字文件。

Ollama 以简单、对开发者友好的界面打开了本地 LLM 和开源前沿模型的世界,因此本指南将以它为核心。还有许多其他推理引擎,如 LM Studio、Jan、GPT4All、LocalAI 和 llama.cpp(Ollama 底层所依赖的引擎)。各有其在控制性、易用性和硬件支持方面的权衡。

安装 Ollama

按照官方安装指南,使用以下命令安装:

curl -fsSL https://ollama.com/install.sh | sh

然后启动 Ollama。在 macOS 上,你应该会看到菜单栏出现一个羊驼图标,表示服务正在运行。在 Linux 上,服务会自动在后台启动,默认监听 http://localhost:11434。可以运行以下命令验证一切正常:

ollama list

这将显示你已在本地拉取的模型。全新安装后列表为空是正常的。

Ollama 基础

选择你的模型

模型的参数量和量化级别是影响硬件运行效率的两个主要参数。

  • 模型大小(以十亿参数计)决定基础内存需求。7B 模型比 70B 模型加载更快,能在更普通的硬件上运行。
  • 量化是一种压缩技术,降低模型权重的精度(例如从 32 位浮点数降至 4 位整数)。这以轻微的质量损失为代价,大幅减少内存占用。常见格式包括 q4_K_M、q8_0 和 nvfp4。

一个经验法则:你的模型应该能舒适地装入可用的统一内存(RAM + VRAM)。如果哪怕只有一层被卸载到 CPU,推理速度就会显著下降。

llmfit 等工具可以根据你的硬件规格帮助确定最佳选项。

我目前在个人和工作笔记本(M1 Pro 32GB、M5 32GB)上主要使用 qwen3.6 系列(qwen3.6:27b-coding-nvfp4、qwen3.6:35b-a3b-nvfp4)。

选好模型后,只需运行:

# 格式:ollama pull <模型名称和标签>
ollama pull qwen3.6:35b-a3b-nvfp4

准备好吧,你即将下载数 GB 的数据。

初步操作、命令与图形界面

拉取模型后,可以用以下命令开始与它交互:

ollama run --verbose qwen3.6:35b-a3b-nvfp4

免责声明: 你发送的第一条消息会明显较慢,因为模型需要加载到内存。发送两次简短的 Hello!,你会看到第二次速度大约翻倍,这时权重已完全缓存。

--verbose 选项可以让你看到一些统计数据。以下是我使用 M5 MacBook Pro 的结果:

total duration: 22.948880125s
load duration: 46.027042ms
prompt eval count: 89 token(s)
prompt eval duration: 641.67725ms
prompt eval rate: 138.70 tokens/s
eval count: 953 token(s)
eval duration: 22.259480584s
eval rate: 42.81 tokens/s

如果你更喜欢图形界面而非终端,Open WebUI 或 Enchanted(macOS 原生)等工具可以直接连接到本地 Ollama 实例,在浏览器或原生应用中提供类似 ChatGPT 的体验。

性能与优化

如果推理速度感觉太慢,以下是按优先级排列的调整方案:

  1. 换用更小或量化更激进的模型。 这是影响最大的改变。q4 量化的 14B 模型在资源受限的硬件上往往优于 q8 的 27B 模型。

  2. 启用 Flash Attention。 Flash Attention 是一种优化的注意力算法,减少内存带宽使用,显著加速注意力计算,尤其对较长上下文效果显著。在 Ollama 中,启动前设置以下环境变量即可启用:

    OLLAMA_FLASH_ATTENTION=1 ollama serve

    在 macOS 上,可以用以下方式持久化: launchctl setenv OLLAMA_FLASH_ATTENTION 1

    然后重启 Ollama。加速效果在较长提示词或使用扩展上下文窗口时最为明显。

  3. 限制上下文大小。 使用非常大的上下文窗口(如 128k token)代价高昂。除非必要,将上下文保持在合理大小(8k–32k)以保持速度。

彩蛋:在 Ollama 中使用前沿模型

在 ollama.com 创建免费账号,即可访问云端模型:在 Ollama 数据中心硬件上运行的大型前沿级模型(最高 480B 参数),完全不占用你的本地机器。体验无缝衔接,云端模型的行为与本地模型完全一致,使用相同的 CLI 命令。Ollama 不保留你的数据。

撰写本文时可用的云端模型包括 qwen3-coder:480b-cloud、gpt-oss:120b-cloud、gpt-oss:20b-cloud 和 deepseek-v3.1:671b-cloud。

从创建账号到首次运行,只需 3 步:

1. 创建账号,访问 ollama.com,然后从终端登录:

ollama signin

2. 拉取云端模型(无需下载 GB 级数据,只是一个引用):

ollama pull gpt-oss:120b-cloud

3. 运行,与本地模型完全一样:

ollama run gpt-oss:120b-cloud

就这样。标签名中的 -cloud 后缀是与本地模型的唯一区别。你现有的工具、API 调用和智能设置无需任何更改即可正常工作。

注意 免费套餐覆盖较小的云端模型。较大的模型(如 qwen3-coder:480b-cloud)可能需要付费计划。查看 ollama.com/pricing 了解当前限制。

2. 智能编程

与模型聊天对探索很有价值,但工程师真正的生产力提升在于智能编程:让模型自主读取你的代码库、规划修改、编写代码、运行测试并迭代。这正是本地模型开始在日常工作流中真正有用的地方。

Ollama 暴露一个兼容 OpenAI 的 API,这意味着大多数支持自定义端点的智能编程工具都可以开箱即用。要将其与 Claude Code(Anthropic 的 CLI 代理)配合使用,使用以下命令:

ollama launch claude --model qwen3.6:35b-a3b-nvfp4

这告诉 Claude Code 使用 Ollama API 而非 Anthropic 服务器,以你的本地模型作为后端。

现在你可以用这个本地 LLM 运行你的工作流了 😎

免责声明: 第一个提示词会很慢,就像之前的会话一样。先在小型代码库上给它一个真正的机会。

借此机会,我建议使用比 claude-code 更轻量、更安全、更简单的 agent,例如 Pi、Crush、OpenCode。我个人使用 crush,原因如下:

  • 基于 Go(考虑到如今大量的 JS 漏洞和供应链攻击……)
  • 界面美观
  • 不隐藏 LLM 的思考过程
  • 可以快速切换模型(frontier、本地、multi-provider 等)

推荐工作流

本地模型不是智能设置中前沿模型的替代品;它是执行定义明确、粒度细分任务的经济高效执行者。关键是构建工作流,让每个工具在其擅长的地方发挥作用。

以下是我认为最有效的方法:

1. 让代理熟悉你的代码库。 在开始任何任务之前,让代理分析代码库并生成一个 AGENTS.md 文件。该文档总结项目结构、关键模块、使用的约定以及代理自主导航代码所需了解的入口点。这是每个项目的一次性投资,在每次后续智能会话中都会带来回报。

2. 用前沿模型规划。 对于任何非平凡的功能或重构任务,使用前沿模型(Opus 4.x、Kimi 2.6、GLM5.1、Qwen3.6 Plus)生成高层计划。前沿模型更擅长推理架构权衡、理解模糊需求并制定连贯的多步骤策略。这一步成本低(单个提示词)且能确定方向。

3. 将计划分解为详细的原子步骤。 将高层计划分解为小型、范围明确的子任务。每个步骤应在有限上下文的单次智能遍历中完成。这种分解本身也可以由模型完成,可以是上一步的前沿模型,也可以是中等级别的本地模型。

4. 用本地模型执行步骤。 现在通过智能编程接口将每个原子步骤交给本地模型。由于任务定义明确且自包含,一个有能力的本地模型(27B–35B,良好量化)可以可靠地执行,无需前沿模型的广泛推理能力。你保持完全控制,没有任何内容离开你的机器,成本为零。

这种模式——远程大规模规划,本地小规模执行——让你兼得两者的优势。

彩蛋:从任何地方访问你的强大机器

你家里有台强大的机器,想从工作站、手机或轻薄笔记本利用它?个人 VPN 网格是最干净的解决方案。

在所有设备上安装 Netbird(🇪🇺)或 Tailscale(🇺🇸),并用同一账号登录。以下是在 macOS 上安装 Netbird 的过程:

brew install --cask netbirdio/tap/netbird-ui sudo netbird service install sudo netbird service start

打开 Netbird 图形界面,点击 Connect(macOS:右键单击菜单栏图标)。确保允许发送和接收连接。

在所有要连接的机器上重复此设置,然后访问 https://app.netbird.io/peers。你应该能看到所有已连接设备及其分配的私有 IP 地址。

接下来,配置 Ollama 在所有网络接口上广播,以便远程访问。在 macOS 上:

launchctl setenv OLLAMA_HOST "0.0.0.0:11434"

重启 Ollama。现在你可以将笔记本或手机上的任何智能编程接口指向 http://<家用机器IP>:11434,远程运行完整的本地模型栈,无需任何云服务商介入。

结语

本地模型对工程师来说是令人振奋的工具,但以正确的预期来对待它们至关重要。

不要期望前沿模型的性能。 本地模型已经大幅改进,但量化的 30B 模型并不是 Claude Sonnet。对于复杂推理、架构决策或精妙调试,前沿模型仍然领先。目标不是取代它们,而是在合适的任务类别上减少对它们的依赖。

组合而非替代。 最高效的设置将本地模型用作定义明确子任务的高吞吐量、零成本执行者,同时将前沿模型调用保留用于规划、评估以及任何需要细致判断的事项。将其视为委托给一个快速的初级开发者,当给出精确指令时能可靠执行。

跟上节奏。 本地模型生态系统演进迅速。每月都有新的模型家族出现,量化技术不断改进,推理引擎持续加速。保持好奇:定期拉取新模型、尝试不同的智能接口、重新审视你的工作流。六个月前感觉迟缓的东西,现在也许能在你的当前硬件上流畅运行。

在此,我认同 Julien Chaumond 的观点:某些模型,如 Qwen3.6 27B,在确定性智能编程方面感觉非常接近 Sonnet 或 Opus 的性能。

入门门槛从未如此之低。从小处着手,不断迭代,形成你自己的判断。