Vandee's Blog

20 Jan 2025

碎片知识学习 - with AI

前言

对于是否要拥抱 AI,在程序员里大致可以分为两派:一部分是坚决不用,一类是已经将 AI 融入了自己的工作流程。后面就简称为革新派和精英派。

  • 精英派不用 AI 来写代码的原因也简单充分,AI 写出来的代码就是垃圾,我可以自己写的更好为什么要让 AI 来破坏我的优美的代码?
  • 革新派的观点也很简单,借助 AI 可以简化许多复杂的流程,例如自动补全、自动修正、自动测试、自动修复、自动提交等等。类似 Cursor 的 AI 代码编辑器,完全可以说改变了代码工作的方式。

我是一个行业外的人,自然不需要有太多立场,不需要站队。也没有什么压力,必须要跟上行业的大趋势,保住工作。因此我对于 AI 的出发点是优化信息处理、优化学习流程。并且,对于编程和 AI,我本身也挺有兴趣。我和 AI 相关的博客文章也都不是什么技术文章,更多的是一个行业外的人的记录和分享。

对于行业外的人,大致可以分为几种:一起吹泡泡吃行业红利的,和我类似关注 AI 在知识上的应用的,借助 AI 开始独立开发的。现在借助各种 AI 代码工具,行业外的人确实可以很快做出一些 MVP,或者一些小工具,大语言模型打破了自然语言编程的壁垒。我这半年也借助 AI 实现了许多以前想做但做不出来的小项目。

2024 的小泡泡是 RAG 、prompt 和 AI 逻辑推理,半年不到就冒出来不少于 5 种 RAG 类型,各种神级优化 prompt,现在回过头来看呢,真正落地到实际项目的没有多少。

2025 AI 的新泡泡是 Agents,其实也就是换了一种说法。让 AI 根据特定的 prompt 可以调用 tools,定义不同的 Agent 类,来分析完成不同的任务。LangChain、OpenAI、Gemini 都推出了各自的 Agents 框架,之前基于老框架的代码就全部都得更新才能正常运行,因为底层的函数调用都更改了。小业务、小项目只能被大趋势牵着走,牵一发动全身。

我想表达的是,这些 AI 的隐性成本是我这类行业外的人不需要支付的。

查理芒格说过,最大的投资永远是自己。不管是 AI 行业内的还是行业外的,核心始终都应该在提升自己上,过度的追赶趋势,在泡泡破了的时候就得不偿失了。这也是我始终没有太深入的研究 Dify、Coze 这类中间类型的 AI 工具的原因。掌握更多底层的知识和逻辑是更重要的。

后面是最近关于 PDF 和网页阅读的一些方法。日常需要 AI 来帮助的主要也是这两类。

PDF 阅读

GitHub - echohive42/AI-reads-books-page-by-page 这个项目前段时间上了 GitHub Trends,项目逻辑很值得学习,立马 fork 自定义了一下:https://github.com/VandeeFeng/ReadPDFpbp 。主要增加了 ollama 和 OpenRouter 模型的调用,还有一些自定义的参数,可以直接在 CLI 里调用。行业标准害人啊,cookbook 里都默认使用 OpenAI 和 Claude 的 API。

这个项目可以逐页阅读 PDF,生成知识要点,并根据页面分段总结。一个 50 页以上的 PDF,自己看就有点吃力了。NotebookLM 虽然很好用,但是超过了 80 页左右的 PDF,我实际用下来也不是很准确。

这个项目可以逐页阅读总结出关键的概念和知识点,然后再找到相关页面精读。另外一个优势就是本地模型是免费的,几个 200 页的 PDF 用 OpenAI 可能几刀就没了。

网页阅读

在知识之间、AI 之间创造 connection 这里是有关用 phidata 构建 Agent 来同时分析 2 个以上网页文章的内容。

解决了同时在几个主题相似的网页文章里快速找到关键信息的问题,效率提升不少。相关的项目很多,自己折腾了一下,主要是增加了导出的功能,这个对于我来说很重要。

导出历史对话就可以进一步整合,这个功能在许多大型 RAG 项目里就是不给。

零散的概念

平常一些概念上的学习,之前是在 OpenWeb UI 里,现在基本都在 Emacs 里用 gptel 了,全部都汇总在一个 org 文档里。

搜索

一般的搜索直接用 DuckDuckGo 。再就是自己改了一下的 Gemini-Search ,部署到 docker 调用 Gemini 的 API 实现类似 Perplexity 的体验。

2025-03-08 added

最近各种 Deep Research 和 Deep Search 大大提升了用 AI 搜索的效率。OpenAI 和 Grok 的深度搜索效果都挺不错的。Deep Research 使用了半个多月,对我来说它最大的作用是针对一定的领域、topic,开拓思路,快速的找到这些问题领域的框架和索引。

强烈推荐下面几个可以自己折腾的:

  • node-DeepResearch: 可以自己部署,支持Gemini (latest gemini-2.0-flash) / OpenAI / LocalLLM 做推理模型,用 Jina Reader 搜索和处理网页内容。在需要获取全面但简洁的信息的时候,效果还挺不错的。

    README 的说明也挺有道理:

    与 OpenAI/Gemini/Perplexity 的“深度研究”不同,我们仅专注于通过我们的迭代过程找到正确的答案。我们不为长篇幅文章进行优化,那是一个完全不同的问题——因此,如果您需要从深度搜索中获得快速、简洁的答案,那么您来对地方了。如果您正在寻找像 OpenAI/Gemini/Perplexity 那样的 AI 生成的长篇报告,那么这不适合您。

    Github: https://github.com/jina-ai/node-DeepResearch/

    Websites: https://search.jina.ai

  • deep-research-web-ui: 这个项目是 https://github.com/dzhng/deep-research 的可视化版本,并做了一些改进。联网搜索服务:Tavily (每月 1000 次免费搜索), Firecrawl(支持自部署),支持 OpenAI compatible, SiliconFlow, DeepSeek, OpenRouter, Ollama 。

    Github: https://github.com/AnotiaWang/deep-research-web-ui

  • Storm:An LLM-powered knowledge curation system that researches a topic and generates a full-length report with citations.

    STORM 是一个大型语言模型系统,能够根据互联网搜索从零开始撰写类似维基百科的文章。Co-STORM 进一步增强了其功能,使人类能够与大型语言模型系统协作,以支持更符合需求和偏好的信息搜索和知识策划。

    GitHub:https://github.com/stanford-oval/storm

    Websites:https://storm.genie.stanford.edu/

其他工具

另外要强烈安利 Witsy 这个项目,不多介绍了,它就是我到目前为止用过最好用的 LLM 客户端。

Cursor、VSCode、Windsurf 等编辑器,不写代码,纯粹拿来学习也是完全没有问题的。还可以和 obsidian 这样的知识库 RAG 联动。

该白嫖的行业红利还是要嫖的。

当然我的最爱还是 Emacs。

Tags: PKM