给模型装上翅膀:让 RAG 替我喂养它进化
大模型生来就站在原地。参数出厂即冻结,陪它聊上一个月,它也不会因此变得更懂你半分;对话一关,一切归零,它还是那个出厂时的它。模型自己不会进化,翅膀也长不出来,那就由我来替它装上一副——把自己的思维、经验和判断,系统地喂进去,让它被动地进化。
我最近在做的事情就是这么朴素:在服务器上部署 OpenClaw,然后给它外挂一套 RAG 知识库。今年年初,开源个人 agent 出圈成了一桩热闹事,其中 OpenClaw 一度刷屏,在服务器上挂一个 7×24 小时在线的助手,成了很多人新添的玩具。到了眼下这个 9 月底,国外社区的热度还没散,国内的声音已经冷了不少,连 GitHub 上的星星增速都慢了下来——热闹退潮之后,留下来的反倒是那些真把它当生产工具用的人。我算其中一个。挂知识库这件事本身门槛不高,开源方案一抓一大把,照着文档半天就能跑通一个 demo;真正费劲的是背后的架构——语料从哪里来、怎么解析、切成多大的块、检索链路怎么设计,每一步都有无数种挂法,而每一种挂法最后呈现出来的效果都完全不同。
架构搭好之后,我往里面存放了一批文本语料,用途说起来很不起眼:方便我写作。它慢慢熟悉了我的词库、我的句式、我反复琢磨的那几个话题,我抛一个模糊的念头过去,它接住的不再是泛泛的互联网口吻,而是带着我的思考痕迹的回应。说到底,这一套东西做的事,就是把脑子里那些说不清道不明的隐性经验,变成了可复用的数字资产。
有人会问,都 2026 年了,模型的上下文窗口已经长到能吞下一整本书,各家产品也纷纷做起了跨会话记忆,还有必要自己动手挂一套知识库吗?我的体会是:产品替你管的记忆,喂的是公共互联网的语料,再贴心也是别人的口吻;而自己挂的这套东西,从语料到参数都是自己的,边界清晰,噪音可控。这才是我坚持外挂 RAG 的理由。
不过话说回来,这种知识库大家都会做,但每个人做出来的都不一样。同样是挂一套检索,语料切成多大的块、一次召回多少条、相似度阈值卡在哪里、重排的权重怎么给,参数一层叠着一层,每调一版都要跑一遍看看效果,不满意就推倒重来,费劲程度远超外人的想象。这里面没有标准答案,只有适合自己语料和用法的那个平衡点,找到它要靠一遍一遍试错攒出来的手感。
可正是这份费劲,让整件事有了意义。噪音被一层层过滤掉,上下文里留下的都是我亲手挑进知识库的语料,模型不再被互联网上的杂音牵着走,我也可以专注做自己专注的事情——它负责记住我喂给它的一切,我负责往前想。模型的参数依然是冻结的,但自从挂上这套 RAG 知识库,它读到的世界不再是泛泛的网络,而是我圈定的那一小块自留地;进化的从来不是权重本身,而是权重之外,那片由我亲手划定边界的记忆。