One reading list.
1.9 million tokens raw, 117 thousand clean.
同一张阅读清单
原始 190 万 token,干净 md 12 万
15 real pages and videos, captured by Puffy as clean markdown, counted against the raw HTML an agent eats when you hand it the link. Median cut per item: 93.7%, roughly 16 to 1. The spread runs 37.0% to 98.3%. 15 条真实的网页和视频,Puffy 抓成干净 markdown,和 agent 拿到链接时真正吃进的原始 HTML 对着数。逐条中位削减 93.7%,约合 16 比 1。区间从 37.0% 到 98.3%。
What was measured 测的是什么
Every URL comes from a real reading list: recent deep-read citations, landing pages, GitHub repos, docs pages, videos. None were invented for the test. The raw side is the page’s HTML fetched with a browser user agent, which is exactly what an agent ingests when you paste it a link; for videos, the raw side is the platform’s auto-caption file. 每条 URL 都来自真实的阅读清单:近期深读的引用、落地页、GitHub 仓库、docs 页、视频,没有一条是为测量现造的。原始面是用浏览器 UA 抓下来的页面 HTML,正是你把链接甩给 agent 时它真正吃进的东西;视频的原始面是平台自动字幕文件。
| Sample样本 | Type类型 | Raw原始 | Clean干净 | Cut削减 |
|---|---|---|---|---|
| paulgraham.com/ds.html | Article文章 | 9,982 | 6,293 | 37.0% |
| levels.io/bootstrapping | Article文章 | 130,296 | 13,017 | 90.0% |
| newsletter.marclou.com (long read)(万字长文) | Article文章 | 124,271 | 4,664 | 96.2% |
| blog.maximeheckel.com (sky rendering)(天空渲染) | Article文章 | 264,776 | 15,906 | 94.0% |
| emsh.cat (building a browser)(造浏览器) | Article文章 | 16,513 | 6,811 | 58.8% |
| blog.google (Gemma 4 launch)(Gemma 4 发布) | Article文章 | 102,833 | 3,386 | 96.7% |
| context.dev | Landing page落地页 | 265,608 | 8,377 | 96.8% |
| boringbar.app | Landing page落地页 | 10,719 | 1,339 | 87.5% |
| traceapp.info | Landing page落地页 | 48,200 | 3,056 | 93.7% |
| docs.screenpi.pe/privacy-filter | docs | 128,248 | 2,244 | 98.3% |
| github.com/farion1231/cc-switch | README | 188,009 | 11,343 | 94.0% |
| github.com/screenpipe/screenpipe | README | 174,595 | 5,218 | 97.0% |
| YouTube 2-minute lesson2 分钟课程 | Video视频 | 7,988 | 650 | 91.9% |
| YouTube 1.5-minute lesson1.5 分钟课程 | Video视频 | 5,246 | 401 | 92.4% |
| YouTube 2-hour neuroscience interview2 小时神经科学访谈 | Video视频 | 420,710 | 34,706 | 91.8% |
Totals: 1,897,994 raw against 117,411 clean. The tokenizer barely matters: o200k_base and cl100k_base agree within a tenth of a percent. 合计:原始 1,897,994 对干净 117,411。分词器几乎不影响结论:o200k_base 与 cl100k_base 的差在千分之几以内。
Three numbers worth staring at 三个值得盯着看的数
Its auto-caption file is 420,710 tokens, past a 200k context window, so an agent physically cannot read that video from the raw side. Puffy’s transcript is 34,706 tokens: it fits with most of the window to spare, and every segment carries a timestamp. 它的自动字幕是 420,710 token,超过 200k 上下文窗口,agent 从原始面根本读不了这条视频。Puffy 的转录是 34,706 token:装得下还剩大半个窗口,而且每段都带时间戳。
Hand an agent a repo front page and the raw HTML is 174 to 188 thousand tokens of interface. The README it actually wants is 5 to 11 thousand. 给 agent 一个仓库首页,原始 HTML 是 17 到 19 万 token 的界面骨架。它真正要的 README 正文只有 5 千到 1 万 1。
The 98.3% cut comes from a docs page whose every load carries the full site navigation and search index. One page of actual content, a site’s worth of chrome. Separately, one Medium article returned a 403 to a plain fetch while Puffy got the article; no ratio is possible when the raw side comes back empty, so it stays out of the table. 98.3% 那条是一个 docs 页,每次加载都背着全站导航和搜索索引。内容一页,包袱一站。另有一篇 Medium:普通抓取吃 403,Puffy 拿到了正文。原始面空手而归时没有比例可算,所以它不进表格。
Discussion threads are a different sell 讨论串是另一种卖点
One capture takes the whole comment tree, parent-child structure kept. A Hacker News thread came back with all 225 comments where the raw page held only a truncated front page; a Reddit thread came back with the post and 170 top comments where a plain fetch got an 8.5 KB shell. 一次抓下整棵评论树,父子结构保留。一条 HN 串抓回 225 条全树,原始页面只有截断的首页;一条 Reddit 串抓回正文加 170 条热评,普通抓取只拿到 8.5 KB 的空壳。
Faster than what, exactly 比谁快,说清楚
- Faster than mirroring, by orders of magnitude.比镜像快,是数量级的快。 On one blog post, three mirroring tools hit a 90-second cap unfinished; uncapped, wget ran 300 seconds and pulled 210 MB across 462 files without finishing. Puffy took 1.5 seconds and produced 13,017 tokens. One archiver turned a single long article into 31 million tokens, a number that does not mean expensive, it means unfeedable. 同一篇博文,三个镜像工具 90 秒封顶都没跑完;不封顶时 wget 跑满 300 秒、拉下 462 个文件共 210 MB 仍没结束。Puffy 用 1.5 秒出了 13,017 token。还有个归档工具把一篇长文做成 3100 万 token,这个数不是贵,是根本喂不进去。
- Seven URLs out of eight, curl is faster.八条里七条,curl 更快。 It does one fetch and walks away. Puffy spent 0.7 extra seconds on that blog post and removed 117,386 tokens from what the agent must then read. End to end, the 0.7 seconds comes back many times over. 它抓完一把就走。Puffy 在那篇博文上多花了 0.7 秒,换掉了 agent 接下来要读的 117,386 个 token。端到端算,这 0.7 秒赚回来许多倍。
- A lead in success rate, not a rout.成功率领先,但不是碾压。 On eight hard URLs, Puffy got the article body on five, trafilatura on four, readability on three. 八条难啃的 URL,Puffy 拿到正文 5 条,trafilatura 4 条,readability 3 条。
Honest boundaries 诚实边界
- Clean sources save little. A hand-written static page cut only 37%. The big cuts are a tax refund on modern page bloat; a personal site that never paid the tax has little to refund. 源越干净,省得越少。手写的静态老页只砍下 37%。大额削减是对现代网页臃肿的退税,一个从没交过这笔税的个人站,也没什么可退。
- Against a tuned extraction pipeline, we are more tokens, not fewer. On one static page Puffy kept 6,293 tokens where trafilatura kept 5,408. The extra is links, image references and structure. Whether that is worth it depends on what reads the file next; it is not a token saving and we will not call it one. The saving claim holds against raw fetches and mirrors only. 对会调清洗管线的高手,我们的 token 更多而不是更少。同一个静态页 Puffy 留 6,293,trafilatura 留 5,408。多出来的是链接、图片引用和结构,值不值取决于下游拿它干什么,但这不是省 token,我们也不这么说。省 token 的对照物只有原始抓取和镜像。
- Video against a DIY cleanup script costs more, not less. Deduplicated, timestamp-stripped captions come to 25,444 tokens; our transcript is 34,706, 36% bigger. The difference buys segment timestamps, so answers can cite the exact second and jump back to it. For people who write their own pipelines, the sell is zero plumbing plus timestamps, not savings. 视频这条,对自己写脚本的人不省反贵。去重去时间戳的 DIY 字幕是 25,444 token,我们的转录 34,706,大 36%。差价买的是段级时间戳:回答能标出处、能跳回原片那一秒。对会自己搭管线的人,卖点是零管道加时间戳,不是省。
- Dumb tag-stripping loses the article itself. One newsletter page keeps just 1,845 tokens of visible text, and the article is not in it: the body hides inside a script payload. Saving tokens presupposes actually extracting the content first. 傻剥标签会连正文一起丢。某邮件通讯页可见文本只有 1,845 token,而且正文不在里面:正文藏在脚本载荷里。省 token 的前提,是先把正文真的拿出来。
- Some walls block everyone. One site returned 403 to curl and to Puffy alike. Puffy reports the failure instead of pretending it succeeded. And not every URL yields markdown: a landing page with no continuous prose gets refused rather than converted into junk. 有的墙谁都过不去。某站对 curl 和 Puffy 一视同仁地 403,Puffy 如实报错,不装成功。也不是所有 URL 都能出 markdown:没有连续正文的落地页会被拒收,而不是硬转成垃圾。
Run it yourself 你自己也能跑
Pick any URL from your own reading list. Fetch it plain and count the tokens with tiktoken; capture it in Puffy and count again. The local tools are free and the trial is five days. If your numbers disagree with ours, we want to hear it. 从你自己的阅读清单里挑任意一条 URL。普通方式抓一遍,用 tiktoken 数一次;再用 Puffy 抓一遍,数第二次。本地工具免费,试用有五天。你的数字和我们对不上,请告诉我们。