Finisky Garden

NLP, 软件工程, 产品设计

Claude Code has no vector database and no embedding index, yet it can pinpoint the exact file you need in a million-line codebase. Behind this is a retrieval architecture completely different from traditional RAG.

This Isn't the RAG You Know

If you've used RAG before, the pipeline should be familiar: build an offline index, user asks a question, vector-search for Top-K chunks, inject into prompt, generate an answer. A straight line, one pass, done.

Claude Code doesn't work like that at all. It has no offline index. The model itself drives the retrieval process.

阅读全文 »

Claude Code 没有向量数据库,没有 embedding 索引,但它能在百万行代码库里精准定位你需要的文件。这背后是一套完全不同于传统 RAG 的检索架构。

这不是你理解的 RAG

用过 RAG 的人对这套流程应该很熟:离线建索引,用户提问,向量检索 Top-K,拼入 prompt,生成回答。一条直线,跑一次就完事。

Claude Code 完全不是这么干的。它没有离线索引,检索过程由模型自己驱动。

阅读全文 »

Nassim Taleb proposed a thought experiment in Fooled by Randomness: given infinite monkeys typing on infinite typewriters, one of them will eventually produce the complete text of the Iliad.

The more I think about it, the more I believe this story's endgame is today's large language models.

阅读全文 »

塔勒布在《随机漫步的傻瓜》里讲了一个思想实验:如果有无限只猴子在无限台打字机前随机敲击,总有一只会打出《伊利亚特》全文。

我越想越觉得,这个故事的终局,就是今天的大语言模型。

阅读全文 »

Developers who've used Claude Code probably share this experience: even in an ultra-long conversation where dozens of files have been modified, it seems to always "remember" what it did before. Even more remarkably, if you told it "I prefer bun over npm" in a previous session, it automatically follows that preference next time.

Behind this is a sophisticated memory management system. Let's tear apart Claude Code's memory mechanism layer by layer.

阅读全文 »

用过Claude Code的开发者可能都有这样的体验:即便在一次超长对话中修改了几十个文件,它似乎始终"记得"之前做过什么。更神奇的是,你在上一次对话里告诉它"我喜欢用bun而不是npm",下次它就自动遵守了。

这背后是一套精密的记忆管理系统。今天,我们把Claude Code的记忆机制彻底拆解开来。

阅读全文 »

I haven't updated my blog in over a year. Not out of laziness, nor because I've fallen behind on technology. It's more of a conviction: once AI became powerful enough, the value of technical blogs dropped significantly. People shifted from searching and reading to learning through direct conversations with AI. On top of that, AI-generated content floods social media the moment anything happens, making me feel there's little point in writing after the fact. Blog traffic has plummeted over the past year, which further killed my motivation to spend hours crafting a post. I miss the days when every article was painstakingly typed out, word by word, over hours or even days.

AI tools have made remarkable progress in the past six months. As a heavy user, I want to talk about this: if agents are supposed to be our helpers, why do we feel more exhausted than ever?

阅读全文 »

公众号一年多没更新了,不是因为懒,也不是因为自己没有跟上技术的步伐,而是因为有个执念,AI变强之后,技术博客本身的价值就大幅降低,大家学习的方式已经从搜索-学习变成了直接与AI对话的交互式学习。此外由于AI能力的加持,太多AI生成的公众号内容会第一时间发布一些内容,让我觉得步人后尘倒也没有太大必要。从博客的访问量上来看,最近一年的访问量也骤跌,更没有了花几小时写一篇文章的兴致。我更怀念那些一个字一个字几个小时甚至几天码出来的一篇博文的时光。

最近半年AI工具有了长足进步,作为重度用户,聊聊”明明Agent是我们的帮手,为什么却感觉越来越累?”

阅读全文 »

当你在 Windows 上使用 TeX Live 编译包含自定义字体的 LaTeX 文档时,可能会遇到如下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
kpathsea: Running mktextfm Fontin

The command name is F:\texlive\2025\bin\windows\mktextfm
name = Fontin, rootname = Fontin, pointsize =
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Fontin.mf

The command name is F:\texlive\2025\bin\windows\mktexmf
Cannot find Fontin.mf.
kpathsea: Appending font creation commands to missfont.log.

kpathsea: Running mktextfm Fontin

The command name is F:\texlive\2025\bin\windows\mktextfm
name = Fontin, rootname = Fontin, pointsize =
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Fontin.mf

The command name is F:\texlive\2025\bin\windows\mktexmf
Cannot find Fontin.mf.

这个错误的原因是 TeX 系统找不到所需的字体文件(特别是 .mf.tfm 文件),因此无法生成它们。奇怪的是,你可能已经安装了该字体。

阅读全文 »

When compiling a LaTeX document that uses a customized font in TeX Live on Windows, you might encounter the following error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
kpathsea: Running mktextfm Fontin

The command name is F:\texlive\2025\bin\windows\mktextfm
name = Fontin, rootname = Fontin, pointsize =
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Fontin.mf

The command name is F:\texlive\2025\bin\windows\mktexmf
Cannot find Fontin.mf.
kpathsea: Appending font creation commands to missfont.log.

kpathsea: Running mktextfm Fontin

The command name is F:\texlive\2025\bin\windows\mktextfm
name = Fontin, rootname = Fontin, pointsize =
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf Fontin.mf

The command name is F:\texlive\2025\bin\windows\mktexmf
Cannot find Fontin.mf.

This error occurs because the TeX system cannot find the necessary font files (specifically .mf or .tfm files) for Fontin, and fails to generate them. The weird part is that you have installed the font already.

阅读全文 »
0%