本地 LLM 部署工具:Ollama vs vLLM vs llama.cpp

译者:Carl Cui Ollama 每月有 5200 万次下载,这几乎是每个教程都推荐的工具。我使用了六个月,觉得它“可以用于生产环境”,并把它部署给 40 个内部用户。结果响应时间从 3 秒增加到超过一分钟,并且请求开始超时。模型并没有问题,出问题的是 Ollama。 这次事件促使我深入测试了三大本地 LLM 运行工具:Ollama、vLLM 和 llama.cpp。测试结果彻底改变了我对本地 AI 部署的看法。一个让人难以接受的事实是:推荐给新手用的工具,其实在生产环境下表现不佳;而那些所谓“复杂”的工具,其实设置起来并不难。 1. 为什么本地 LLM 部署越来越流行 这里有一组数字:llama.cpp 在 2026 年 3 月达到 100,000 个 GitHub star,比 PyTorch 或 TensorFlow 更快到达这一里程碑,llama.cpp 只是一个三年前还不存在的项目;Ollama 在 2026 年第一季度达到了 5200 万次月下载量,是 2023 年第一季度 10 万次月下载量的 520 倍;Hugging Face 上超过 60% 的量化模型现在以 GGUF 格式发布,这是 llama.cpp 创建的标准。 这已经不再是业余爱好者在笔记本电脑上运行聊天机器人的阶段了。团队正在通过部署本地 LLM 来控制成本,避免数据离开他们的网络,并获得云 API 难以达到的百毫秒内延迟。这些区别,不仅仅在于开发体验,关键还在于你的应用能不能经受住真实用户的考验。 2. 如何测试三大工具 我在相同的硬件(配置 RTX-4090 24GB VRAM 和 64GB RAM 的工作站)上运行每个工具,基于相同的模型 Llama-4-Scout-17B-Instruct,测试了三种场景: ...

April 29, 2026 · 5 min · Chew Loong Nian

GitHub 宝藏:免费 LLM 资源列表

今天发现一个 Github 宝藏项目:free-llm-api-resources。它是一个免费 LLM API 资源列表,汇总了可以免费访问的 AI 模型资源,涉及各种规模,甚至包括 400B+ 参数的巨型模型。 ⚠️ 使用过程中注意保护个人数据 1. 免费提供商列表 1.1 OpenRouter 限制:20 请求/分钟,50 请求/天(可通过 $10 终身充值提升至 1000 请求/天) 支持模型: Hermes 3 Llama 3.1 405B(4050亿参数) Llama 3.3 70B Instruct(700亿参数) google/gemma-4-26b-a4b-it(260亿参数) nvidia/nemotron-3-super-120b-a12b(1200亿参数) openai/gpt-oss-120b(1200亿参数) 1.2 Google AI Studio 数据使用:在欧盟/欧洲经济区/瑞士/英国之外使用时,数据可能用于训练 主要模型: Gemini 3 Flash:250,000 token/分钟,20 请求/天 Gemma 3 27B Instruct:15,000 token/分钟,14,400 请求/天 Gemma 3 12B Instruct:15,000 token/分钟,14,400 请求/天 1.3 NVIDIA NIM 要求:需要手机号验证 限制:40 请求/分钟 特点:上下文窗口有限,支持各种开源模型 1.4 Mistral 免费层:需要选择加入数据训练,需要手机号验证 限制:1 请求/秒,500,000 token/分钟,1,000,000,000 token/月 支持模型:开放和专有的 Mistral 模型 1.5 Groq 支持模型: Llama 3.3 70B:1,000 请求/天,12,000 token/分钟 openai/gpt-oss-120b:1,000 请求/天,8,000 token/分钟 qwen/qwen3-32b:1,000 请求/天,6,000 token/分钟 1.6 Cerebras 支持模型: gpt-oss-120b:30 请求/分钟,60,000 token/分钟 Llama 3.1 8B:30 请求/分钟,60,000 token/分钟 1.7 Cloudflare Workers AI 限制:10,000 神经元/天 支持模型: @cf/nvidia/nemotron-3-120b-a12b(1200亿参数) @cf/openai/gpt-oss-120b(1200亿参数) Llama 3.3 70B Instruct(700亿参数) 2. 提供试用额度的服务商 2.1 Fireworks 额度:$1 支持模型:各种开源模型 2.2 Baseten 额度:$30 计费方式:按计算时间付费 支持模型:任何支持的模型 2.3 Hyperbolic 额度:$1 支持模型: DeepSeek V3 0324 Llama 3.3 70B Instruct deepseek-ai/deepseek-r1-0528 qwen/qwen3-coder-480b-a35b-instruct(4800亿参数) 2.4 SambaNova Cloud 额度:$5(3个月) 支持模型: Qwen/Qwen3-235B(2350亿参数) deepseek-ai/DeepSeek-V3.2 openai/gpt-oss-120b(1200亿参数) 2.5 Scaleway Generative APIs 额度:1,000,000 免费token 支持模型: Llama 3.3 70B Instruct gpt-oss-120b(1200亿参数) qwen3-235b-a22b-instruct-2507(2350亿参数) qwen3.5-397b-a17b(3970亿参数) 3. 如何选择适合的免费服务 3.1 根据需求选择: 需要最大模型(400B+ 参数): ...

April 27, 2026 · 2 min · Carl Cui

2026 年本地 AI 机器构建指南

译者:Carl Cui 听着,我懂。在 2024 年,每个人都在购买云端 API token,好像它们即将过时一样。“哦,直接调用 API 就行!”他们说。“太方便了!”他们说。好吧,如果你在 2026 年还在按 token 付费,恭喜你,你很可能在为不拥有自己的 AI 技术栈而支付溢价。 让我告诉你一件事:本地 AI 不再是奢侈品,而是生存策略。读完这篇文章,你会确切知道该构建什么样的机器,既不会超出预算,也不会让你发疯。 第一部分:为什么选择本地 AI? 在谈论 token 之前……先谈谈隐私 这里很少有人问的问题:你真的愿意把你的密码和信用卡信息交给某个第三方 API 吗? 想想看。每次你通过云端调用 LLM 时,你都在信任: 你的数据会发送给陌生人(AI 公司) 你的提示词可能被保存为“机密” 你的 agent 记忆存储在你不控制的服务器上 最要命的是:你自己的 agent 记忆是关键。 当你运行本地 AI 时,你的 agent 会随着时间的推移构建上下文——它会记住你在意什么、你之前问过什么、什么对你重要。使用云端 API 时,除非你明确告诉它们要记住,否则这些历史记录通常分散在不同的服务中。 使用本地 AI: 你的记忆保持属于你(不是租来的) 不需要每个月“重置”你的 agent 上下文 敏感数据不会泄露,因为……嗯,它根本不会泄露到任何地方!它就在那里,在你的机器里 现在让我们谈谈实际成本。因为是的,隐私很重要——但钱也很重要。 这是 2024–2025 年没人告诉你的:按 token 定价是个陷阱。 而且从那以后情况变得更糟。 问题不仅仅是模型说得更多(它们确实如此——现代 agent 喜欢滔滔不绝)。而是 你既要为输入 token 付费,又要为输出 token 单独付费。 这意味着: ...

April 26, 2026 · 5 min · Andrew Zhu

提示词工程:与 AI 对话的艺术

作者:Amar Chetri 译者:Carl Cui 跟 AI 对话的时候,你可能试过各种不同的语气,礼貌式的、命令式的,甚至是祈求式的。但是不知道为什么,AI 给出的答复总是不能令人满意。问题可能不在于 AI,而是在于你跟它对话的方式。 我们都有过这样的经历:打开 ChatGPT、DeepSeek 或 Gemini,带着一个绝妙的想法,输入问题,按下回车,然后 AI 的回复要么是泛泛之谈,要么存在事实错误,要么完全偏离了主题。你叹了口气,觉得这个 AI 简直笨得离谱,然后关掉浏览器。 资深的 AI 用户基本都能意识到这样的真相:LLM 不是魔法,而是“镜子”,它反映了你输入的质量。如果你从 AI 那里得到的输出质量不高,那很可能是因为输入的内容需要改善。 这就是所谓的 prompt engineering,提示词工程可以把那些拿 AI 当噱头的人和那些把 AI 作为生产力工具的人区分开来。这篇文章中,我们会教你如何构建合适的 prompt,来提高 AI 生成内容的质量。 1. 黄金法则:上下文为王 在深入探讨提示技巧之前,你需要理解一个基本原则:LLM 不记得你的生活、你的项目或你的偏好,除非你告诉它们。 当你问一个模糊的问题时,AI 的回复基本上是它所读过的关于该主题所有内容的平均值。它生来就是泛泛而谈的,你需要提供上下文,以此把它庞大的知识库缩小到正好是你需要的内容。 输出的质量与输入的质量直接相关,泛泛的提示只会产生泛泛的结果。 想象一下,你不会这样问一个人类专家:“告诉我关于营销的事情”。他们不知道从哪里开始,你可能会这样问:“我经营一家小面包店,预算只有 500 美元。这个周末我可以用什么营销策略来增加客流量?”。类似地,AI 也需要这种具体性。 2. 完美提示词的结构 在分析了数千个高效提示后,研究人员和资深用户发现了一种始终有效的结构,下面我们逐一拆解。 2.1 角色:给 AI 一个身份 提示中最强大的一句话是:“扮演……” 通过给 AI 分配一个角色,能立即缩小它的回复风格和知识库范围。 不好的提示:“为咖啡杯写一个产品描述。” 好的提示:“扮演一位获奖的生活方式品牌文案作家,为咖啡杯写一个产品描述。” 两个提示之间有天壤之别。AI 给第一个提示的回复大概会列出咖啡杯的特性,例如容量、陶瓷材质;而给第二个提示的回复更能从早晨的仪式感、入手的分量、精湛的工艺这些角度去激发潜在消费者的购买欲。AI 可以生成多种风格的回复,角色则告诉它使用哪一种风格。 2.2 任务:清楚说明你的目标 要明确你想要什么,而不是让 AI 去猜。 不好的提示:“告诉我法国大革命的事情。” 好的提示:“用 10 岁孩子能理解的方式解释法国大革命的三个主要原因。” 注意到这两个提示的区别了吗?第二个提示包含了一个限制(三个主要原因)和一个受众(10 岁孩子)。这迫使 AI 优先考虑并简化,而不是给你扔出一整章教科书般的内容。 ...

April 24, 2026 · 2 min · Amar Chetri

理解 AI Agent:动手搓一个就懂了

进入 2026 年,AI Agent 越来越频繁地出现在我们的视野里,那到底什么是 AI Agent? 举个例子,3 月份爆火的 OpenClaw “小龙虾”,本质上是一个 AI Agent;开发人员最常用的 AI 辅助编程工具 Claude Code 和 Codex,本质上也是 AI Agent。OpenClaw 和 Claude Code 功能全面,代码量也庞大。这篇文章,我们会一步一步构建一个最小版本的编码 Agent,以此建立对 AI Agent 的直观感受。 1. 四步构建法 文章按照下面 4 个步骤来构建 agent: 接入 LLM; 添加工具; 构建 agent 循环; 构建对话循环; 不论实现的 agent 执行什么任务,都可以采用这样的 4 个步骤来构建。 2. 实现编码 Agent Agent 可以使用我们熟悉的任何语言来实现,例如 TypeScript,Python,Rust 等等,只要它接入 LLM 方便,可以调用 shell 命令工具就行。这里我们选择 Python。 完整的示例代码已经上传到 GitHub,链接在文章后面 2.0 项目设置 # 如果没有安装 uv,先安装它 pip install uv # 初始化 uv 环境 uv init 2.1 接入 LLM LLM 选择了 Kimi,Kimi 开放平台 注册的账号在完成个人认证后会收到 15¥ 赠送额度,拿来演示够用了。Kimi 开放平台兼容 OpenAI 协议,可以直接使用 OpenAI SDK 接入。 ...

April 22, 2026 · 6 min · Carl Cui

如何编写真正有效的 AI Agent Skill:SKILL.md 模式详解

作者:Bibek Poudel 译者:Carl Cui 如果你写的 skill 没有触发,问题基本上都出在元数据的 description 部分,而不在 skill 内容本身。 不少人都有类似的经历:写了一个 SKILL.md,将其放在正确的文件夹中,要求 agent 使用它,但是啥反应也没有。修改了 skill 内容,仍然没有效果。问题从来不是 skill 本身的内容,而是 agent 用来决定是否激活它开头的那两行。 在本指南中,我先讲解 Agent Skills 工作原理,指出为什么大多数人会写错,然后从简单到复杂构建四个 skill:一个 README 编写器、一个 git 提交消息生成器、一个代码审查器和一个完整的 MCP 驱动的冲刺规划器。 什么是 Agent Skill? Skill 不是插件,也不是访问 API 的脚本。我们可以把它当作为团队新成员编写的入职指南。与其在每次跟 agent 对话时重新解释你的工作流程和偏好,不如将它们打包起来丢给 agent,让它根据你的请求自动加载。 本质上,skill 以一个文件夹的形式存在: your-skill-name/ ├── SKILL.md # 必需:指令 + 元数据 ├── scripts/ # 可选:agent 运行的可执行代码 ├── references/ # 可选:仅在需要时加载的文档 └── assets/ # 可选:模板、图片、字体 唯一必需的文件是 SKILL.md。其他所有内容都是可选的,但随着 skill 复杂度的增加而变得重要。 SKILL.md 格式是一个开放标准,由 Anthropic 于 2025 年 12 月在 agentskills.io 发布。它适用于 Claude Code、OpenAI Codex 和 OpenClaw。虽然格式是标准化的,但每个平台在发现和工具调用方面的实现略有不同。可以理解为同一编程语言,经过不同编译器编译后,结果不是完全相同的。在 Claude Code 上有效的 skill 很可能在 Codex 上也有效,但运行时行为(如 session snapshotting、工具权限和调用模式)在不同平台之间有所不同。 ...

April 18, 2026 · 7 min · Bibek Poudel

IronClaw 折腾日记 - 配置 Gmail 工具

IronClaw 在 0.25.0 版本解决了一系列与 OAuth 有关的 bug,配置好 Gmail 工具后,不会出现 OAuth 认证频繁失效的问题了。这篇文章记录为 IronClaw 配置 Gmail 工具的完整过程。 1. 背后的考量 1.1 为什么选择 IronClaw IronClaw 从设计之初对安全考虑的比较充分,采用了基于 wasm 组件的隔离机制(参考之前写过的名为 IronClaw 安全机制解析 的文章)。并且 IronClaw 采用 Rust 实现,Rust 是我个人长期关注的编程语言,尽管它的学习曲线陡峭是公认的,但在 debug 过各种“奇葩问题”,并且见过一些所谓资深程序员堆的“屎山”后,我才觉得 Rust 未来大有可为:不是因为人们津津乐道的“内存安全”,而是因为它在软件工程学方面向前迈了一大步。 AI 生成代码日益成熟,淡化了 Rust 在软件工程学方面的优势,不过同样地,学习曲线也不再成为采用 Rust 的主要障碍。 1.2 为什么接入 Gmail 而不是国内邮件厂商 对于经常混迹国外计算机技术网站、论坛的开发人员,Gmail 邮箱应该是必备的:基本所有网站,比如 Reddit、ChatGPT 都可以直接用 Gmail 账号登入;另外用国外邮箱接收国外各类技术订阅邮件也会很方便。 1.3 如何在接入 AI 助手的同时,保护个人信息 到目前为止,我个人常用的 Gmail 邮箱中除了越来越多的技术订阅邮件,还有个人信息混杂其中。我想让 AI 助手帮忙整理分析技术订阅邮件,又不想让它接触含个人信息,怎么办? 我的做法是:新建一个 Gmail 邮箱,在常用 Gmail 邮箱中添加邮件过滤规则,将满足规则的邮件转发给新建的 Gmail 邮箱,把新建的 Gmail 邮箱丢给 IronClaw。只要规则设置得当,就不用担心 IronClaw 背后的 LLM 触及个人敏感信息。 ...

April 18, 2026 · 3 min · Carl Cui

如何基于 .wit 文件生成 rust 代码

IronClaw 采用 wasm 沙箱隔离作为其安全机制,IronClaw 宿主和沙箱之间的交互接口是在 .wit 文件中定义的,例如 channel.wit of IronClaw。 这篇文章回答一个问题:如何基于定义好的 wit 文件生成 rust 代码? wit-bindgen 是 Bytecode Alliance 开发的官方工具,它能将 .wit 文件中定义的接口转换为 Rust 代码。它主要有两种使用方式: 在 build.rs 构建脚本中使用命令行工具 或在代码中使用 wit-bindgen 库的宏 方法一:在 build.rs 中使用 CLI 工具(wit-bindgen-cli) 这种方式在构建时生成一次绑定文件(例如 bindings.rs),之后可以作为常规 Rust 模块引入。 1. 添加依赖 在 Cargo.toml 中,将 wit-bindgen-cli 添加到 build-dependencies,并把生成的 bindings.rs 包含在 lib.rs 中: # Cargo.toml [package] # ... build = "build.rs" [lib] # 声明生成的 bindings 模块 path = "src/lib.rs" [build-dependencies] wit-bindgen-cli = "0.28.0" // src/lib.rs // 声明由 build.rs 生成的 bindings 模块 mod bindings; pub use bindings::*; 2. 编写构建脚本 (build.rs) 在项目根目录下创建 build.rs,使用 wit_bindgen_cli::generate! 宏处理 .wit 文件。 ...

April 15, 2026 · 2 min · Carl Cui

从零到生产:基于 Claude Code 的 AI Agent 10 步构建法

译者:Carl Cui 这篇文章来自作者 Reza Rezvani,文章分享了一个基于 Claude Code 原生功能构建 AI Agent 的方案,完全摒弃了 LangChain 等外部框架。作者的实际经验表明,使用简单的 Markdown 文件和 YAML 配置就能构建强大的 AI 代理系统,利用 Claude Code 的内置功能。这个方法简化了开发流程,降低了维护成本,适合在生产环境中部署。 六个月前,我深陷在 LangChain 编排框架中:自定义 ReAct 循环,JSON schema 验证器和一个手工构建的记忆系统,通过三个我已经不再完全理解的 Python 脚本粘合在一起。 然后我删除了所有这些。 Claude Code:如何构建你的 agent | 使用 Gemini 生成 注意: 我使用 AI 进行研究协助。这里描述的 agent 配置、生产工作流和生产上下文来自我每天在工程和运营中运行的系统。 不是因为它没用。它其实挺有用的。但每次我想改变 agent 的行为时,我都在编辑 Python 类、重新部署容器和调试序列化错误。这个系统既强大也脆弱。 替代它的东西简单得令人尴尬:带 YAML frontmatter 的 Markdown 文件,保存在 Claude Code 已经监视的目录中。不需要框架,没有构建步骤,没有部署管道,就只是些文件而已。 现在网上广为流传的那份 How to Build AI Agents from Scratch 的 cheat sheet 并没有错。其中 10 个步骤分别是:定义角色、设计 I/O、调整行为、添加推理、构建 multi-agent 逻辑、添加记忆、输出结果、包装在 UI 中、评估和监控。这些是正确的步骤。但对于 Claude Code,每一步都有原生的解决方案,不需要依赖 LangChain、CrewAI 或 OpenAI Swarm。 ...

April 15, 2026 · 4 min · Reza Rezvani

Google 的 Gemma 4 为开源 AI 带来变革

作者:Sumit Pandey 译者:Carl Cui Apache 2.0 许可证,在笔记本电脑上运行,性能超越 20 倍于其规模的模型。 说实话。在 Gemma 2 之后我就没再关注 Gemma 了。不是因为它不好,而是我感觉它很难同中国开源巨头(例如 DeepSeek、Qwen)发布的模型相媲美。Gemma 曾经是那种你在 Kaggle 上试过一次就忘记的模型。今天,Google 彻底改变了这一局面。 图片由 ChatGPT 生成。 Gemma 4 于 2026 年 4 月 2 日发布。Hugging Face 的 CTO Julien Chaumond 用火焰表情符号发布了相关消息,称之为“突发新闻”。当托管全球所有开源模型的平台 CTO 说 Google 重新入局时,你必须关注。 让我来解析发生了什么,为什么这很重要,以及这些基准测试是否站得住脚。 Gemma 4 是什么? Gemma 4 是 Google DeepMind 最新的开源权重模型系列。基于 Gemini 3 的研究和技术构建,后者是 Google 的专有前沿模型。 四种模型尺寸。四个部署目标: E2B(有效 2B 参数):可在手机、树莓派、Jetson Nano 上运行。是的,没开玩笑。 E4B(有效 4B 参数):稍大的边缘模型。仍可在手机上运行。 26B MoE(混合专家,4B 激活参数):尽管总参数量为 25.2B,但推理时仅激活 3.8B 参数。运行速度几乎与 4B 参数模型一样快。 31B Dense(稠密模型):旗舰型号。在 Arena AI 文本排行榜所有开源模型中,目前排名第三。 所有四个模型都能处理图像和视频。较小的 E2B 和 E4B 模型还支持原生音频输入:设备端语音识别,无需云端处理。边缘模型的上下文窗口可达 128K token,大型模型可达 256K token。这相当于将整个代码库放入单个提示中。 ...

April 14, 2026 · 4 min · Sumit Pandey