0X00 Prefix Matching 作为 LLM 的用户,我们没必要深究 Prefix Matching(前缀匹配)的细节机制,但是有必要了解它大概是个怎么回事。下面这张图来自 Anthropic 官网,可以看到当我们不碰其他的什么东西,只是在 LLM 对话框里进行一轮轮的对话的话,那么由于我们是 System Prompt + User Prompt + LLM Response + User Prompt + LLM Response.... 这样一路聊下去的,所以所以每次新的对话的前缀都会和缓存起来的内容匹配上,进而不需要再进行推理,只需要推理计算我们最近一次的 User Prompt 就行了。 为什么我们要尽量利用上缓存呢?理由和平时开发中的缓存是一样的,命中缓存不仅速度更快,还节约了计算资源。LLM 也是一样,命中了缓存就会节约大量的计算资源,并且在使用云端 LLM 服务时节约计算资源就是在节约钱。 以 Opus 模型为例,现在的价格大致如下: 输入 $5/M token 输出 $25/M token 命中缓存 $0.5/M token 假设一种场景,你每次输入 1k…
0X00 正文 看下面这段代码,可以看到这是一个经典中的经典问题:Python 中的全局解释锁 GIL。 我们都知道由于 GIL(全局解释锁) 的存在,Python 在运行 CPU 密集型的任务时不应该使用多线程,因为 Python 解释器并不能真正调动多个 CPU 核心并行执行,所以上面这个代码的输出就很好推断了,双线程“并发”的耗时应该和单线程跑两次的耗时几乎一样,所以它运行起来是这样的: 细心的你一定发现了,我运行了两次,居然出现了截然不同的结果!是的没错,Python 居然“多线程”了! 好了好了,现在来解释一下情况:Python 自从 3.13 开始就提供了一个叫做 free-threading 的版本了,这是文档。到了 3.14 之后就提供了官方支持。但是此时此刻 free-threading 还是一个单独的版本,所以你能看到我命令里用的是 python3.14t,这里的 t 就是 free-threading 的 tag 了。 0X01 好耶!我这就升级到这个版本 停,打住,换上 free-threading 之前至少需要了解下面这几个问题: Python 的 GIL…
0X00 我的思考 不可否认的是 AI(严格来说是 LLM + Agent 的形式)极大的改变了过去几十年形成的软件开发范式。并且受到重大影响的不只是开发范式,影响更大的可能是开发者的进阶路径。我自己考虑过多次有关开发者晋升路径的问题,所有的思考都基于一个基本的前提人是懒惰的。下面就来分享一下我自己的一点点思考。 0X01 初级开发者如何出头 强如韩立也得从炼气开始修行,强如 Linus 也得从 hello, world 开始写代码。 按照以前的逻辑(至少是我理解的逻辑),一个平平无奇的大学教编程是这么个顺序 学习 C(知道什么是程序、编译、基本的程序逻辑等等) 学习数据结构(至少理解数组、栈这些基础结构) 学习更高级的编程语言(Python/C++/Java等) 学习网络、操作系统、Linux、DB 可以开发稍微大型一些的程序了 现在的情况是什么呢?所有人都知道程序员在大量用 AI,哪怕是纯应付工作的前提下,程序员工作也还是要动不少脑子的。但学生就不是了,我记得当时大一时候 C 语言的期末作业是一份学生成绩管理系统,需要在终端里实现学生信息的…
0X00 Start 很多人其实都已经用上 Claude Code 了,但实际上只是用法却比较随性,直接 claude --permissions-mode bypassPermissions 启动,然后就着这个聊天窗口不分昼夜的聊起来了。虽说这么干也确实能完成最后的工作需求,但这么用并不是很优雅,最重要的是效果也并不好。虽然我自己也不是什么 Claude Code 的资深专家用户,但也根据自己的经验和官方的文档总结了一些可以提升大家使用 Claude Code 体验的方法。 本篇文章以 Claude Code 工具 + Claude 模型为例,但 Codex/OpenCode 等工具也基本都有相似的原理和用法,同样具备参考价值。 0X01 编写 CLAUDE.md 如果你的仓库里还没有 CLAUDE.md 的话,至少先到 Claude Code 里执行一次 /init 让它生成一份。CLAUDE.md 文件可以理解成 Claude Code 在这个项目中的宪法,如果你有一些开发这个仓库时候的核心规则,就要记得加在这个文件里。比如你想最简单的践行 TDD(测试驱动开发),就可以考虑在…
0X00 首先来看 Qwen 3.6 如果你现在打算在本地部署一个 Qwen 3.6,打开 Hugging Face 搜索 Qwen 3.6 至少会看到下面这些模型,大概率会对这些“乱七八糟”的名字感到迷茫。你说你对这些名字门儿清?那你大概率并不能从这篇博客中获得什么有价值的知识/信息了。 🤔 好了,我假设你看到这些东西是迷茫的。<del>要不然这篇文章没法写了</del> 整体的命名方式和 GitHub 仓库是一样的,作者名和仓库名用 / 分开,这里是作者名和模型名用 / 分开。所以可以看到前 4 条是 Qwen 名下的模型,自然就是官方的了,其他几个就是个人或者其他组织搞的第三方模型了。真正麻烦一些的是后面这些东西。接下来就尽我所能逐一拆解这些相对来说常见一些的组成部分,搞清楚这个逻辑之后对于后面选模型会大有裨益<del>吧</del>。 0X01 参数量和激活参数量…
0X00 背景 我们程序员最理想的开发流程一定是切出分支,开发完成,合并代码,再切新分支写新代码。但事情往往不是这样的,但凡你在一个超过 5 人的项目组中工作过就会遇到过这种情况:正在某个 feat/xxx 分支开发呢,突然需要临时搞一个 hotfix,或者突然有人问你某某分支里的业务逻辑是怎样的,这种场景是极其常见的。该怎么办呢? 0X01 学会 stash 如果你刚开始用 git 没多久,那多半是没什么办法,毕竟总不能把现在写了一半的代码改回去吧。然后你去网上搜(当然了,在 2026 年大概率是问 AI),莫名其妙看到了类似这篇文章的东西,现在你学会了使用 stash 命令。你成功的把当前做了一半的事情“暂存”了起来,然后切到对应的分支开始另一件事的开发。 这其实是很多人的路径,并且一度认为 stash 真的是个好东西,尤其是了解 stash save 之后,已经能解决大多数这种场景的需求了。 但现在事情发生了变化。 0X02 在 AI Coding 时代直接尬住了 AI 时代来了,有一天你正在用 Claude Code 在 feat/xxx 分支疯狂开发,Claude 已经在…
0X00 Intro 已经 2026 年了,别人都在写什么 OpenClaw 或者 Agent 相关的 AI 内容,再不济也是写一些 Skill 和 MCP 相关的东西,而我还在写“古法 AI 教程”。主要是因为我发现很多人虽然知道 AI 很厉害,但是完全不知道从哪儿下手去使用 AI,更不知道如何更好的使用 AI。甚至是搜索引擎都快要被 AI 取代了,还是有很多人并不会正确使用搜索引擎呢。 下面是我自己总结出来的一些用法或是技巧,能够比较大幅度的提升我们使用 LLM 的效率和它的产出效果,那么就开始吧。 你说你不知道 LLM 是什么?LLM 就是 Large Language Model,也就是「大语言模型」,我们平时说的 AI 多半就是指的这个东西,比如豆包、DeepSeek、GPT 之类的。后面的文章里 AI 和 LLM 也会混用,虽然他们本质上是两回事。 0X01 提示词多写几个字效果直接翻倍 AI 没有你想的那么聪明,他不知道你脑子里的潜台词是什么,所以当你需要让 AI 帮你解决问题的时候要把你的问题清晰明确的说出来。例如当你需要 AI…
0X00 Intro 兄弟们,又活了一年~ 这是我的第七个年度总结,在 2019年度总结 年度总结的开头我说:“2020年要来了,听起来这是个多科幻的年号啊。《银翼杀手》里说2019年底人类就有强人工智能了,可以穿梭宇宙了,甚至可以星际殖民了。然而现在就是2019年最后一天了,我的小爱同学还是像智障一样经常听不懂我说话。” 现在 2026 年已经来了,如果有机会对当时写 2019 年度总结的我说点什么的话,我估计会说:<del>“告诉所有信任自己的朋友,多多多多囤口罩、食材、水和各种必需品”</del> 不开玩笑了,现今虽然普通的小爱同学还是不太能听懂我们说话,但是如今的大语言模型已经极大的融入了我们的生活,应该没有人会说 ChatGPT 和豆包听不懂人话了吧。 说起来今年发生在我身上的变化还是非常多的,年初的订婚、找房搬家、装修、装修公司跑路、搬家、辞职、换工作、三十“大寿”...... 我的年终总结文章是每年最长的博客内容,但也是最没有章法的,主打一个意识流,那么现在总结开始。 0X01 压力/大事件…
0X00 Intro 现在是 2025 年末,所有人都在聊 AI,不管是一线科研人员还是开发者甚至是楼下卖瓜的大叔。但是在我的观察中,即便是很多开发者也其实对 AI 的了解也比较肤浅,仅限于使用成品的豆包、Deepseek 等产品,对时下热门的技术关键词并不了解。所以我自己重新整理了一下,假设目标用户是不懂什么是 LLM、Agent、MCP、Function Call 的我自己,写了一篇介绍文章。远远算不上由浅入深,但勉强可以做一个纯粹的介绍。 <!-- more --> 0X01 LLM 首先 LLM 的意思是大语言模型(Large Language Model),重点是语言和模型。所以我们搞清楚一个问题就是很多玩家自己部署的 Stable Diffusion 并非 LLM,因为它并不是语言模型。另外我们常用的 Deepseek 和豆包 App 也并非 LLM,因为它们并非语言模型。 最常被人们接触到的其实都不是模型,而是在模型上构建的产品,例如:ChatGPT 和豆包。模型指的是给这些产品提供 AI 能力的诸如 GPT-5.2、Claude Sonnet 4.5、GLM 4.7…
0X00 Intro 今年年初的时候,写过一篇名为如何高质量地接入AI的文章,现在十个月过去了,经过这一年的探索和总结,现在我已经找到了一个非常适合开发者的 AI 接入方案(至少非常适合我自己),现在打算在这里跟大家做一个简单的分享。 我个人使用这些 LLM 的经历主要是分成三个阶段: 最开始是 2023 年,注册了一个 ChatGPT 的账户,就只用 GPT-3.5 这种模型。不过那段时间 LLM 的能力还比较有限,使用量也并不大,很多时候都是以玩的心态在用; 后面随着模型能力上升,需求也跟着上升了,索性订阅了 POE,每个月要花掉 $20。不过当时 GPT-o1 和 Claude 3.5 这些模型还是给我工作学习明显提供了帮助的 POE 的年度订阅过期之后我试图找到一个比 POE 更合适我自己的技术方案,也就是下面将会介绍的这个了 <!-- more --> 0X01 Struct 当时在探索方案的时候我的需求就是:按量计费、多平台统一、多模型可用、高度定制化、显得高级(满足虚荣心 🤣)。那么最终得到的就是下面这样一个结构。 先来简单介绍一下这个方案的优势: 按量计费:因为是用…