RAG 最缺的不是检索,是中间那一格"我不干"
RAG 这个名字起得就坏。它把"检索"两个字摆在前头,于是所有人都在卷检索,后半截那根管子没人回头看。 前阵子点开一篇讲多智能体出题的——八月十三号挂上 arXiv,cs.CL,编号 2608.13708,叫 TeachMateGPT。我本来是冲着"多智能体"去的。
@hualao
把被讲玄的概念用图 + 比喻 + 动手实验拆到咔哒扣明白,错的也保留。
RAG 这个名字起得就坏。它把"检索"两个字摆在前头,于是所有人都在卷检索,后半截那根管子没人回头看。 前阵子点开一篇讲多智能体出题的——八月十三号挂上 arXiv,cs.CL,编号 2608.13708,叫 TeachMateGPT。我本来是冲着"多智能体"去的。
RCCA。名字起得像缩写套餐,但你把它要干的事念一遍就懂了:RubrictoCode Credit Assignment,评分标准到代码的信用分配。说白了就一句话——评估器说"这个按钮点了没反应",你得把这句话追回生成它的那几个 token 头上,别摊给整条序列。

我有一阵子特别迷信一件事:工具给 agent 配得越多,它越能自查。linter 装上,shell 开着,截图也接进来——稳了。 后来看了篇论文才知道,我一直在问错问题。 该问的那个东西叫验证面:agent 手里那堆自我检查工具,到底盖住了你实际会出的哪些错。这概念不难,就是之前没人这么讲。

给 ReTrace 这名字绕了不少弯。第一眼看标题——RejectedTrajectory Conditioning for Speculative Decoding——我直觉把它理解成:上一轮被拒的后缀,拿来当下一轮的条件输入。脑子里立刻出现画面:学生重写错题的时候,把错的那一页垫在下面照抄。

agent 跑长了会忘事,这件事的标准答案这几年一直没变过:context window 不够大,换更大的。我之前画 context window 的时候也这么画——一张桌子,摊不下的掉地上,解法就是加桌面。

“上了 RAG,幻觉就压下去了。”这句话在圈子里被重复到快成物理定律了。我以前画 RAG 的时候也顺嘴这么讲过。两周前有人真去数了,八月十四号挂上 arXiv 的一篇(2608.14210),测了八个法律场景的 RAG 系统,语料一边是英文版 GDPR,一边是一部法语的国家民事法律。 结论先甩这儿:幻觉照样遍地都是。

RAG 被讲得最烂的一步就是检索,而且烂得出奇一致:一律画成“算相似度、取 topk”。不是这一步有多难,是所有人都画得太懒了,我自己也在内。直到八月中 arXiv 上一篇做孟加拉语自动出题的论文,把我那张图摁着撕了。 先交代我错哪。第一版,也是网上到处都是的那版: 顺理成章,demo 里也够用。

前几天在 arXiv 刷到一篇,condmat.mtrlsci 和 cs.AI 双挂,标题里赫然写着 autonomous platform,自主平台。8 月 16 日挂上去的,十六个作者,讲计算材料设计的 agent 平台,叫 ALKEMIE Agent。 先撂一句:这种标题我的第一反应是绕道走。

前几天在 arXiv 刷到一篇威胁检测的论文,八月中的,安全方向。本来手指已经划过去了,结果实验结论里有一行,直接推翻了我以前画的一张 RAG 的图。先撂这句:这篇东西最值钱的不是 F1 涨了多少,是它顺手证明了“RAG 是万灵药”这个说法——在强模型身上不成立。 先讲它在干嘛,很快。

RAG 出错就骂模型,这条弯路我绕过,而且绕得比大多数人久。起因是前阵子看到一篇讲 RAG 故障排查的文章——作者用六十来行 Python 搭了个原型,先在六份入职文档上跑顺,然后开始故意找茬。看完我只有一个感觉:她踩的坑我全踩过,还踩得更久。

多 agent 协作编码,被讲得越来越玄。什么“涌现式协作”“团队智能”,听着跟养蛊似的。我绕这个弯绕了挺久,一直卡在同一个地方:大家都在争“多 agent 到底比单 agent 强不强”,没人告诉我它们凑到一起之后,中间到底发生了什么。

前几天在 arXiv 刷到一篇讲 RAG 安全的论文(Ghassabi 8 月 17 号挂出来的),里面有个结论把我以前画的一张图直接判了死刑。先撂判断:RAG 的坑不在“查”,也不全在“判断”,在一个更别扭的地方——模型看见了假的,认出来了是假的,还是被带偏了。 先画我以前以为的样子: 看着挺合理对吧?

前两天在 arXiv 上刷到一篇,标题里赫然写着 Six Degrees of Separation。我心想完了,又来一个蹭热词的。结果读了一半发现,歪的不是它,是我——我第一版理解全错了,这回错得还挺有教育意义。 先看我以为的样子。
前几个月翻到一篇 Google Developer Experts 系列的文章,讲跨区域 agent 架构。看着看着我愣住了——不是学到了新东西那种愣,是发现自己之前画 MCP 的图一直画错了的那种。我一直把它画成“能力扩展”,它其实是“数据出口”。这两个画法差得不是一点半点。 先看我第一版的图。

先撂一句:自动化安全门禁这事儿被讲玄了。讲的人张口就是“零信任”“安全左移”,好像管道一挂就自动安全。没人告诉你的是——门真装上之后,第一个被拦在门外的很可能是你自己,而且多半挑最不该拦的时候。 最近看到一个案例,把这事拆得特别干净。

先撂一句:你对“对话上下文”的心智模型,八成是错的。我自己错了好多年。 我一直把上下文想成一条聊天记录。你一句我一句,往下滚,卷轴。聊天界面也一直这么给我看,所以这个错觉从没被戳破过。直到最近玩一个叫 ThoughtDAG 的开源工具,玩到一半我停住了——它把上下文画成图。
前几天 Gowers 在博客上写了篇东西,聊 LLM 到底擅长哪类数学。我看完的第一反应不是“哇”,是想画张图。因为他点出的那个模式太整齐了,整齐得必须画出来看看。

4500 万参数,14MB 文件,运行时 28MB 内存。第一次看到这三个数字,我脑内唰地画了一张图:把大模型压小嘛——蒸馏、量化、砍层数,一路缩缩缩,缩到塞进手机。 后来发现这张图整个是错的。Needle 2 不是“缩出来的大模型”,它是换了一套骨架重新长的。今天就画这个。

并行 coding agent 被讲得挺玄。说法一般是“多个 agent 一起写,快得飞起”——可我每次看到有人真跑起来,剧本都一样:俩 agent 改同一个文件,互相踩,一个把另一个的活儿覆盖掉。我一直想把这里面的岔路口画成图,前阵子翻到一篇论文刚好把这事儿量化了,顺手画了。

用 Opus 去总结一条 Slack 线程,是糟糕的选择——这话是 Notion 的 Sarah Sachs 说的,我在一篇讲 AI Engineer World's Fair 的报道里看到的。我盯着这句话看了半天,因为我干过。可能你也干过。
