标签
Bolderdash
Toggle navigation
Jarxi
Home
English
About
Technical
AI
胡言乱语
Architecture
Music
网易云音乐
SFT
Tokenizer
GLM
learning
Apple Music
HuggingFace
TypeScript
Data
vLLM
GPU
Auth
Monorepo
Database
Postgres
Billing
Inference
MTP
Reasoning
Claude Code
Writing
Plugin
Technical
一套 API 客户端,两条鉴权通道
Web 用 HTTP-Only Cookie,CLI 用 Bearer Token。后端在中间件里双通道检查,前端把取凭证的方法注入进核心库——feature 代码因此完全不需要知道自己跑在哪个端。
Next.js 只是一个外壳,和 Electron 平级
多端 monorepo 里最容易搞错的一件事:把 Next.js 当成「主应用」,其他端当成「移植」。把它降级成外壳之后,包该怎么切就清楚了——尤其是 CLI 这种连 React 都装不了的端。
跨包只写 import type,运行时全走 ctx
import type 编译后完全消失,不留下任何运行时加载。几十个 UI 包因此可以互相知道对方的类型,却谁也不加载谁——插件架构的分界线就在这一行语法上。
用模型给训练数据打分之前,先判两次看看
把会议转写做成 SFT 数据,我用一个大模型当裁判查事实。同一份输入判两次,一次说零处错误,一次说十几处。单次判定当门槛就是在抽签。
投机解码与 MTP:为什么"猜"是免费的
一次前向处理五个 token,和处理一个,耗时差不多——瓶颈在搬运权重,不在算术。这个差距就是投机解码全部的加速空间,而 MTP 是模型自带的那个草稿生成器。
special: true 到底改变了什么
编码时它什么都不改。解码时它决定一切——但只在 skip_special_tokens 打开的那一种情况下。全部结论用 GLM 5.2 的 tokenizer 实测得出。
写完 Hexo skill 之后,又做了一个语气插件
第一个 Claude Code skill 在 ClawHub 上有 700+ 下载,这个数字意外到让我想再写一个。这次装的是我发帖时用的那些语气,而且会一直往里加。
Chat Template 到底 tokenize 了什么
模型看不到你的 messages 列表,只看得到渲染完的那一串文本。想通这件事,add_generation_prompt、loss mask、双 BOS 这几个坑就串起来了。
多层账户与用户模型设计:为什么一个用户只能属于一个账户
三层账户与用户模型:法律实体 → 账户 → 用户。为什么先否决这个设计,两个月后又上线,以及四个只有真实数据才抓得到的静默失败 bug。
Little's Law 与 vLLM 扩缩容:10 个踩坑与 +99% 吞吐
给推理服务做自动扩缩容,最容易犯的错是用 QPS 判断负载。由 Little's Law,请求越慢、满载系统的到达率反而越低——系统 100% 满载时它判定要缩容。换成饱和度判据后,并发 16 以上吞吐 +99.3%、p50 −50.1%。
AI
用模型给训练数据打分之前,先判两次看看
把会议转写做成 SFT 数据,我用一个大模型当裁判查事实。同一份输入判两次,一次说零处错误,一次说十几处。单次判定当门槛就是在抽签。
投机解码与 MTP:为什么"猜"是免费的
一次前向处理五个 token,和处理一个,耗时差不多——瓶颈在搬运权重,不在算术。这个差距就是投机解码全部的加速空间,而 MTP 是模型自带的那个草稿生成器。
special: true 到底改变了什么
编码时它什么都不改。解码时它决定一切——但只在 skip_special_tokens 打开的那一种情况下。全部结论用 GLM 5.2 的 tokenizer 实测得出。
写完 Hexo skill 之后,又做了一个语气插件
第一个 Claude Code skill 在 ClawHub 上有 700+ 下载,这个数字意外到让我想再写一个。这次装的是我发帖时用的那些语气,而且会一直往里加。
Chat Template 到底 tokenize 了什么
模型看不到你的 messages 列表,只看得到渲染完的那一串文本。想通这件事,add_generation_prompt、loss mask、双 BOS 这几个坑就串起来了。
Little's Law 与 vLLM 扩缩容:10 个踩坑与 +99% 吞吐
给推理服务做自动扩缩容,最容易犯的错是用 QPS 判断负载。由 Little's Law,请求越慢、满载系统的到达率反而越低——系统 100% 满载时它判定要缩容。换成饱和度判据后,并发 16 以上吞吐 +99.3%、p50 −50.1%。
胡言乱语
[胡言乱语] 工院as工具人
[胡言乱语] 山川异域,风月同天
[胡言乱语] 武汉疫情
[胡言乱语]Satya Nadella: How I Work
采访
Architecture
一套 API 客户端,两条鉴权通道
Web 用 HTTP-Only Cookie,CLI 用 Bearer Token。后端在中间件里双通道检查,前端把取凭证的方法注入进核心库——feature 代码因此完全不需要知道自己跑在哪个端。
Next.js 只是一个外壳,和 Electron 平级
多端 monorepo 里最容易搞错的一件事:把 Next.js 当成「主应用」,其他端当成「移植」。把它降级成外壳之后,包该怎么切就清楚了——尤其是 CLI 这种连 React 都装不了的端。
跨包只写 import type,运行时全走 ctx
import type 编译后完全消失,不留下任何运行时加载。几十个 UI 包因此可以互相知道对方的类型,却谁也不加载谁——插件架构的分界线就在这一行语法上。
多层账户与用户模型设计:为什么一个用户只能属于一个账户
三层账户与用户模型:法律实体 → 账户 → 用户。为什么先否决这个设计,两个月后又上线,以及四个只有真实数据才抓得到的静默失败 bug。
Music
[Music] 网易云音乐翻墙回国
[Music] Sync 网易云音乐 to Apple Music
网易云音乐
[Music] 网易云音乐翻墙回国
[Music] Sync 网易云音乐 to Apple Music
SFT
用模型给训练数据打分之前,先判两次看看
把会议转写做成 SFT 数据,我用一个大模型当裁判查事实。同一份输入判两次,一次说零处错误,一次说十几处。单次判定当门槛就是在抽签。
Chat Template 到底 tokenize 了什么
模型看不到你的 messages 列表,只看得到渲染完的那一串文本。想通这件事,add_generation_prompt、loss mask、双 BOS 这几个坑就串起来了。
Tokenizer
special: true 到底改变了什么
编码时它什么都不改。解码时它决定一切——但只在 skip_special_tokens 打开的那一种情况下。全部结论用 GLM 5.2 的 tokenizer 实测得出。
Chat Template 到底 tokenize 了什么
模型看不到你的 messages 列表,只看得到渲染完的那一串文本。想通这件事,add_generation_prompt、loss mask、双 BOS 这几个坑就串起来了。
GLM
投机解码与 MTP:为什么"猜"是免费的
一次前向处理五个 token,和处理一个,耗时差不多——瓶颈在搬运权重,不在算术。这个差距就是投机解码全部的加速空间,而 MTP 是模型自带的那个草稿生成器。
special: true 到底改变了什么
编码时它什么都不改。解码时它决定一切——但只在 skip_special_tokens 打开的那一种情况下。全部结论用 GLM 5.2 的 tokenizer 实测得出。
learning
[工作] 找啊找找啊找,找到一个小实习
Apple Music
[Music] Sync 网易云音乐 to Apple Music
HuggingFace
Chat Template 到底 tokenize 了什么
模型看不到你的 messages 列表,只看得到渲染完的那一串文本。想通这件事,add_generation_prompt、loss mask、双 BOS 这几个坑就串起来了。
TypeScript
跨包只写 import type,运行时全走 ctx
import type 编译后完全消失,不留下任何运行时加载。几十个 UI 包因此可以互相知道对方的类型,却谁也不加载谁——插件架构的分界线就在这一行语法上。
Data
用模型给训练数据打分之前,先判两次看看
把会议转写做成 SFT 数据,我用一个大模型当裁判查事实。同一份输入判两次,一次说零处错误,一次说十几处。单次判定当门槛就是在抽签。
vLLM
Little's Law 与 vLLM 扩缩容:10 个踩坑与 +99% 吞吐
给推理服务做自动扩缩容,最容易犯的错是用 QPS 判断负载。由 Little's Law,请求越慢、满载系统的到达率反而越低——系统 100% 满载时它判定要缩容。换成饱和度判据后,并发 16 以上吞吐 +99.3%、p50 −50.1%。
GPU
Little's Law 与 vLLM 扩缩容:10 个踩坑与 +99% 吞吐
给推理服务做自动扩缩容,最容易犯的错是用 QPS 判断负载。由 Little's Law,请求越慢、满载系统的到达率反而越低——系统 100% 满载时它判定要缩容。换成饱和度判据后,并发 16 以上吞吐 +99.3%、p50 −50.1%。
Auth
一套 API 客户端,两条鉴权通道
Web 用 HTTP-Only Cookie,CLI 用 Bearer Token。后端在中间件里双通道检查,前端把取凭证的方法注入进核心库——feature 代码因此完全不需要知道自己跑在哪个端。
Monorepo
Next.js 只是一个外壳,和 Electron 平级
多端 monorepo 里最容易搞错的一件事:把 Next.js 当成「主应用」,其他端当成「移植」。把它降级成外壳之后,包该怎么切就清楚了——尤其是 CLI 这种连 React 都装不了的端。
Database
多层账户与用户模型设计:为什么一个用户只能属于一个账户
三层账户与用户模型:法律实体 → 账户 → 用户。为什么先否决这个设计,两个月后又上线,以及四个只有真实数据才抓得到的静默失败 bug。
Postgres
多层账户与用户模型设计:为什么一个用户只能属于一个账户
三层账户与用户模型:法律实体 → 账户 → 用户。为什么先否决这个设计,两个月后又上线,以及四个只有真实数据才抓得到的静默失败 bug。
Billing
多层账户与用户模型设计:为什么一个用户只能属于一个账户
三层账户与用户模型:法律实体 → 账户 → 用户。为什么先否决这个设计,两个月后又上线,以及四个只有真实数据才抓得到的静默失败 bug。
Inference
投机解码与 MTP:为什么"猜"是免费的
一次前向处理五个 token,和处理一个,耗时差不多——瓶颈在搬运权重,不在算术。这个差距就是投机解码全部的加速空间,而 MTP 是模型自带的那个草稿生成器。
MTP
投机解码与 MTP:为什么"猜"是免费的
一次前向处理五个 token,和处理一个,耗时差不多——瓶颈在搬运权重,不在算术。这个差距就是投机解码全部的加速空间,而 MTP 是模型自带的那个草稿生成器。
Reasoning
special: true 到底改变了什么
编码时它什么都不改。解码时它决定一切——但只在 skip_special_tokens 打开的那一种情况下。全部结论用 GLM 5.2 的 tokenizer 实测得出。
Claude Code
写完 Hexo skill 之后,又做了一个语气插件
第一个 Claude Code skill 在 ClawHub 上有 700+ 下载,这个数字意外到让我想再写一个。这次装的是我发帖时用的那些语气,而且会一直往里加。
Writing
写完 Hexo skill 之后,又做了一个语气插件
第一个 Claude Code skill 在 ClawHub 上有 700+ 下载,这个数字意外到让我想再写一个。这次装的是我发帖时用的那些语气,而且会一直往里加。
Plugin
写完 Hexo skill 之后,又做了一个语气插件
第一个 Claude Code skill 在 ClawHub 上有 700+ 下载,这个数字意外到让我想再写一个。这次装的是我发帖时用的那些语气,而且会一直往里加。