谈谈大模型时代下的个人知识管理

2024/11/03

谈谈大模型时代下的个人知识管理

自 2023 年 3 月份开始使用 ChatGPT 以来,我一直在探索如何将 LLM 加入到我的知识工作流中,同时也在思考有了 LLM 这个看似无所不知的助手之后,我先前做知识管理的手段是否还有价值,或者说还有没有必要做知识管理。

在没有大模型之前,我的知识工作流大概就是遵循 输入-处理-输出-再输入 的螺旋式循环。在执行了 5 年的知识管理的过程中,我提炼出了一些适合我个人的知识管理手段,包括知识连接、知识复习、结构化知识展现等。这些在我的知识管理系统 https://b.ismy.wang 中有很好的体现。

但有了 LLM 之后,我不禁思考:有了 LLM 这样一个无所不知的助手之后,在碰到问题时,直接去问它就好了,是否还有必要费劲心力去整理、消化、结构化这些知识?我的答案是:仍需要。

LLM 的一个重大缺陷当然就是幻觉,它只是一个概率模型,有人称 LLM 为“人类最大似然估计”,它压根不懂自己到底在说些什么,只是尽力地使用模型去拟合用户的输入,也不具备推理能力,至少在 2024 年 11 月的今天是这样的。

为了解决幻觉这个问题,现在业界采取了一些诸如 RAG 的手段,将可信性度更高的知识作为 LLM 的上下文来限制它的输出,使输出更加可信。

所以我觉得继续做知识管理,拥有一份自己的知识体系仍是必要的。原因如下:

  1. 一份属于自己的知识体系能够作为 LLM 的可信知识来源,让 LLM 利用你的知识体系回答你的问题是个不错的选择。
  2. 在整理自己的知识体系的过程中,可以通过连接、结构化手段抽象、利用现有的知识推理出更深层次的知识。

那么 LLM 可以在知识管理的工作流中帮我们做些什么?目前我用 LLM 在知识管理的各个阶段都做了一些不错的尝试:

  1. 利用 LLM 的文本概括功能快速点明文章主题,加快阅读速度,或者针对一些长文章,询问我所关心的问题,方便我结构化知识,将知识安排到知识体系中的合理位置。

文本概括与提问

  1. 利用 LLM 中蕴含的全人类知识,补充内容或拓展知识圈,总能找到一些新的知识来源、想法。

补充内容拓展知识圈

这是我总结的一些适合我自己的 LLM 模板,供参考:

async answerByContentTempalte() {
      const file = await DocService.getDocFileInfo(this.doc)
      return `
        请根据以下文本回答问题:

        问题:

        文本:
        ---
        ${file.content}
        ---
      `
    },
    async answerByAllCategoryTemplate() {
      const categorys = await CategoryService.getCategoryList()
      return `
        以下是个人知识体系的目录,请根据目录回答问题:

        问题:

        目录:
        ---
        ${categorys2String(categorys, 0)}
        ---
      `
    },
    async answerByCategoryTempalte() {
      const contents = await DocService.getContentByDocId(this.doc)
      const text = contents2String(contents)
      return `
        以下是关于 《${this.doc}》 的目录,请根据目录回答问题:

        问题:

        目录:
        ---
        ${text}
        ---
      `
    },
    async futureTemplate() {
      return `
        简单介绍一下关于 《${this.doc}》 的未来可能得发展方向与挑战
      `
    },
    async historyTemplate() {
      return `
        简单介绍一下关于 《${this.doc}》 的历史背景,重点放在关于 《${this.doc}》 的发展历程
      `
    },
    async trendsTemplate() {
      const contents = await DocService.getContentByDocId(this.doc)
      const text = contents2String(contents)
      return `
        以下是关于 《${this.doc}》 的目录,根据你最新的模型,列出该主题的最近更新与趋势,并附带年份
        ---
        ${text}
        ---
      `
    },
    async categoryTempalte() {
      const contents = await DocService.getContentByDocId(this.doc)
      const text = contents2String(contents)
      return `
        以下是关于 《${this.doc}》 的目录,还有哪些方面的内容还可以补充
        ---
        ${text}
        ---
      `
    },
    async summaryTemplate() {
      const file = await DocService.getDocFileInfo(this.doc)
      return `
        概括以下文本的内容:
        ---
        ${file.content}
        ---
      `
    },

在大模型时代,我们做知识体系的方式、内容也应该做出一点改变:

  1. 将重心放在构建整体的知识体系框架,细节的知识可以交由 LLM 来生成。
  2. 要构建可信的知识体系,由 LLM 生成的知识内容仍需审核。
  3. 利用以上手段,构建独属于自己的知识体系,后续能交由 LLM 检索,让 LLM 利用知识体系解决个性化的问题,并据此不断地完善知识体系,打造个性化的知识体系。

Post Directory