Skip to main content

从RAG知识库反思学习的第一性原理

· 11 min read
散步

最近我一直在思考,在大语言模型即将无处不在的时代,有什么工具能够帮每个人最快速获得领域知识(相当于一个快速知识蒸馏的工具),一个人怎么学习才算是掌握并验证了这个知识?又或者从做事的视角来看——一个人要做好一件事、做成一件事,它需要哪些信息?哪些最重要?怎么能把一些事情交给AI来做?

对于这些问题,我们当然可以简单从信息获取、模仿开始;如果我要学习一个未知领域,一个好的办法是遵守该领域的权威:各类大V、各类老师、各类前辈、同行;那我当然可以把这些信息源用来构建我自己的知识库,根据我的需求检索而且按照时间更新;我可以在这些平台获取这类信息源:书本、b站、油管、推特、抖音、arxiv、公众号、研究报告。我可以从这些地方不间断的爬取我想学习领域的内容,然后增量更新构建一个庞大的领域知识库,结合最近大火的RAG(Retrieval-Augmented Generation )技术,我们之后只需要对知识库提问就可以让自己能达到不错的前沿水平。

但是,这就足够了吗?我真的需要这么多平台的信息吗?什么才是重点?不是所有论文都有效的,尤其是未来可见的信息泛滥+AI伪装信息泛滥,我们需要过滤繁杂的无效数据。有个群友提出怎么判断重点——小学学过的语文:人,事,物,时间,地点;我们只需要把每个事情用这几点概括(不需要全都有,但只需要通过这几个名词划分成分),就可以做出一个不错的知识库。

假如我想了解一个新领域——如何种一个西瓜(为什么举这个例子是因为笔者在水果中最中意西瓜。),那我们可以直接爬取抖音、b站的前十排名的视频,总结转文字直接摘录到知识库、然后再把基本”种西瓜“的书、文章论文也加入到知识库,最后只需要让大模型帮我们总结这些为注意事项与行动项,人负责执行就好,这样能让你大概率降低种出西瓜的失败率;你还可以把实践反馈得到的结论也写在知识库且提高排序权重,这样总结的方案就会越来越准确。

至此,我们已经能够成为一个种西瓜的有经验者了,但也算不上是个种西瓜大师——在拥有最前沿的信息后,如何才能往前更进一步?也许我们能够借鉴一般学习者的过程,学习一件事物也许有几大阶段:

  • 第一阶段:对标抄袭魔改最优秀的实现方案(相当于baseline)。

  • 第二阶段:总结不同的方案好坏、特点。

  • 第三阶段:将知识迁移新领域试验方案验证。

  • 第四阶段:总结成功和失败经验,修正方案——逐渐沉淀自己的系统

这几个阶段是我所认为的学习的步骤,但一位群友提出了新的看法:”你要先学习大佬为啥设计那么方案;他实现过程和用途及利弊,再去抄袭;使用了那些模块组建和工具;你擅长那些,那些不懂;你的时间和投入产出沉默成本有多少?“——经过几秒钟的思考后我完全认同了他的看法,对于新手而言,也许更需要的是一个基线、兜底的基础知识,再来操作魔改或许更好,于是我们可以重新界定学习的步骤:

  • 第一阶段:根据市面上的前几方案和知识,总结不同的方案好坏、特点取交集,总结出不同的常用模块和为什么要这么做,为什么不这么做。

  • 第二阶段:在第一阶段的基础上,选择性的对标抄袭魔改最优秀的实现方案(相当于baseline)。

  • 第三阶段:将知识迁移新领域试验方案验证。

  • 第四阶段:总结成功和失败经验,修正方案——逐渐沉淀自己的系统。

不过,新的步骤描述的也还存在漏洞,因为我们不知道什么叫做”自己的系统“,但我想我们可以从解决问题的角度出发,因为系统都是为了解决一类问题。此处给出群友的一个解决问题的范式:

1:定义问题边界及核心。 2:工程化建模方法。 3:生产力工具设计。 那我们可以简单认为,我们需要在前三个阶段的基础上,逐渐提炼出这三样能力:第一项能力有助于界定系统的范围与能力边界和核心能解决需要解决的问题,第二项能力有助于帮助系统的组成结构划分和模块分配,第三项能力有助于系统的输出执行过程和最终实现步骤;虽然我们不懂什么是系统,但我们知道了系统有哪些行为,这样就大概知道系统的意义所在了,这也是我们在学习的前三阶段中应该实现的目的所在。

鉴于上述理解,笔者尝试让 Claude3 Opus 总结一个如何种西瓜的学习方案,以下是我的prompt:

请你根据以下学习原理和内容,帮我给出一个学习种西瓜的四阶段计划,并总结一个假象的种西瓜的系统方案,其中四阶段的内容涉及到:
第一阶段:根据市面上的前几方案和知识,总结不同的方案好坏、特点取交集,总结出不同的常用模块和为什么要这么做,为什么不这么做。
第二阶段:在第一阶段的基础上,选择性的对标抄袭魔改最优秀的实现方案(相当于baseline)。
第三阶段:将知识迁移新领域试验方案验证。
第四阶段:总结成功和失败经验,修正方案——逐渐沉淀自己的系统。

系统方案的内容涉及到这几大点:

1:定义问题边界及核心。 2:工程化建模方法。 3:生产力工具设计。 那我们可以简单认为,我们需要在前三个阶段的基础上,逐渐提炼出这三样能力:第一项能力有助于界定系统的范围与能力边界和核心能解决需要解决的问题,第二项能力有助于帮助系统的组成结构划分和模块分配,第三项能力有助于系统的输出执行过程和最终实现步骤;虽然我们不懂什么是系统,但我们知道了系统有哪些行为,这样就大概知道系统的意义所在了,这也是我们在学习的前三阶段中应该实现的目的所在。

以下是得到的结果:

好的,根据你提供的学习原理和内容,我为你制定了一个学习种植西瓜的四阶段计划,并总结了一个假想的种植西瓜系统方案。

学习种植西瓜的四阶段计划:

第一阶段:

收集市面上常见的西瓜种植方案,如传统土壤种植、基质栽培、水培等。
总结不同方案的优缺点,如土壤种植成本低但容易受环境影响,基质栽培可控性强但成本较高等。
提取各方案的共同点,如选择优良品种、科学施肥、病虫害防治等,并分析其必要性。
总结常用模块,如育苗、定植、施肥、灌溉、病虫害防治、采收等,并分析每个模块的作用。
第二阶段:

在第一阶段的基础上,选择最优秀的西瓜种植方案作为基础方案(baseline)
对基础方案进行适当改进,如优化施肥方案、引进新的病虫害防治技术等。
实践改进后的方案,并记录过程中的问题和解决方法。
第三阶段:

将优化后的西瓜种植方案应用于不同的环境条件,如北方、南方、沙漠等。
记录不同环境下的种植过程和结果,分析环境因素对西瓜生长的影响。
根据试验结果,进一步优化种植方案,提高其适应性和稳定性。
第四阶段:

总结前三个阶段的经验教训,提炼出一套适合自己的西瓜种植系统。
完善系统的各个模块,如育苗技术、施肥方案、病虫害防治体系等。
将系统应用于实际生产,并持续优化和改进。
假想的西瓜种植系统方案:

定义问题边界及核心:

系统目标:生产高产、优质、安全的西瓜
核心问题:品种选择、育苗技术、施肥方案、病虫害防治、采收与贮藏
边界条件:适应当地气候条件、满足市场需求、符合政策法规
工程化建模方法:

将西瓜种植过程划分为育苗、定植、施肥、灌溉、病虫害防治、采收等模块
每个模块都有明确的输入(如种子、肥料、农药等)和输出(如壮苗、瓜果等)
模块之间相互关联,形成一个有机整体
生产力工具设计:

育苗工具:育苗盘、育苗基质、环境控制设备等
施肥工具:施肥器、土壤养分速测仪等
病虫害防治工具:农药、生物防治物、监测设备等
采收工具:采果剪、果袋、分级设备等
通过以上四个阶段的系统学习,我们可以逐步构建起一套适合自己的西瓜种植系统。这个系统以生产高产、优质、安全的西瓜为目标,以品种选择、育苗技术、施肥方案、病虫害防治、采收与贮藏为核心问题,并考虑了当地气候条件、市场需求、政策法规等边界条件。同时,系统采用工程化的建模方法,将种植过程划分为若干个相互关联的模块,每个模块都有明确的输入和输出,并配备了相应的生产力工具。这样,我们就可以更加系统、高效地开展西瓜种植,并不断优化和改进我们的种植方案。

至此,我们可以看到这个学习、汇总计划是非常全面的,如果能够结合前文提到的领域知识库,相信在第一、第二阶段高质量的引导下,我们能很好的进行三、四阶段的步骤。此外,这些步骤完全都可以交给一个个大模型Agent(智能体)完成,我们可以让AI帮助自己快速得出领域的权威报告,而我们只需要执行它并总结反馈即可!我们所有需要做的就是逐渐完善里面提到的系统方案,在经过反复迭代后大概率就是我们心中所想的系统方案。

随着GPT5的即将到来,笔者完全可以想象有这样一个知识领域学习助手、系统方案决策器的存在,大模型可以做的比人又快又好,很多曾经人们认为的信息差都会在某一刻无限接近于零。笔者真诚地祝愿,每一位读者都能利用大模型早日种出自己心中的那颗西瓜。我相信,每一个人都可以是种西瓜之神 :) 。

Loading Comments...