数据的“含金量”这个词,今天在调试一个客户RAG系统时,像根刺一样扎进脑子里。他们扔过来几十个G的行业文档,PDF、Word、爬下来的网页,还有一堆会议录音转的文字。系统跑起来,回答要么车轱辘话来回说,要么前后矛盾。问题不在模型,在喂给模型的“饲料”太脏了。这让我立刻想起了自己那个更棘手的烂摊子:过去十年写的这堆博客。
从2016年到现在,快十年了,光Markdown文件就攒了小两千篇。这里面有多少是重复的?一篇SEO技巧,2017年用“百度算法”写一遍,2019年用“微信搜一搜”的视角再写一遍,2021年可能又用“小红书标签”包装一次。观点冲突的更要命,2018年我狂热鼓吹“全栈是唯一出路”,到了2022年又写“超级个体必须做减法,专注长板”。还有大量为了凑日更、追热点写的“水文”,技术细节模糊,情绪宣泄居多。这些玩意儿如果原封不动塞进向量数据库,给我的数字分身或者任何基于这些记忆的AI应用用,那就是灾难。它会精神分裂,给出的建议会自相矛盾,毫无权威性可言。
所以“去重提纯”不是整理,是手术。早期我用过传统方法,比如simhash做文本去重,效果一般,稍微改几个词就绕过去了。用关键词聚类,又会把不同时期观点演进的文章误杀。真正的难点在于“提纯”:怎么从一堆重复、演进、甚至矛盾的文字里,提炼出那个最终版、最优质、最成体系的“知识晶体”。这活儿人干不了,时间成本太高,而且自己看自己的黑历史,容易陷入回忆滤镜,下不去手。必须让AI干,而且得是推理能力强的模型。
我的方案分三层。第一层,粗暴过滤。用脚本先把明显的水文筛掉,标准是:字数低于500、包含大量“我觉得”、“哈哈哈”、“今天天气”这类词、没有代码块或具体操作步骤的。这一刀下去,能砍掉三分之一。
第二层,是关键的去重与冲突检测。这里我没用embedding余弦相似度那种模糊匹配,它分不清“观点重复”和“案例重复”。我让GPT-4o(现在Claude 3.5 Sonnet干这活更便宜)当裁判。流程是:先把博客按主题标签(比如“爬虫”、“团队管理”、“AI提示工程”)做初步分组。然后,在同一个主题组内,按时间顺序两两配对,给模型这样一个指令:“你是技术编辑。对比A文(2018年)和B文(2021年)。判断:1. 核心观点是否重复或仅为简单更新?2. 若为更新,B文是否在案例、深度或体系上显著优于A文?3. 两者是否存在根本性观点冲突?” 模型会给出判断和理由。如果是简单重复,标记删除旧篇;如果是显著更新,标记保留新篇,并把旧篇的某些历史背景注释作为附录;如果观点冲突,这就进入第三层。
第三层,提纯与合成。对于标记为“冲突”或“多篇演进”的主题,我需要一个最终版。我把涉及这个主题的所有历史文章(可能跨越5年)打包,发给模型一个更复杂的指令:“基于以下时间序列的文章(按时间排列),它们代表了我对[某某主题]看法的演变。请综合提炼出一篇‘最终立场文档’,要求:1. 体现认知演进过程,但结论明确。2. 保留最具代表性的历史案例和错误反思。3. 文风冷静、结构化,去除原文中的情绪化宣泄。” 这样产出的,才是真正有“含金量”的知识资产。
这个过程烧了不少token,但值。数据品位,直接决定了你喂出来的AI是什么档次。是拾荒者,还是专家。十年前我焦虑流量,到处抓取数据;现在明白了,自己生产了十年的数据,才是金矿,但前提是你得炼金。炼金的过程,就是逼着自己用最高标准,把过去的碎片认知,熔铸成体系。这大概就是做个人IP的终极形态:你不是在维护一个博客档案馆,你是在持续构建一个动态的、可被AI高效利用的“思想引擎”。引擎的燃料纯度,决定它能跑多远。














