<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>自动化 on Kalend's Blog</title><link>https://blog.kalend.top/categories/%E8%87%AA%E5%8A%A8%E5%8C%96/</link><description>Recent content in 自动化 on Kalend's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Tue, 26 May 2026 23:00:00 +0800</lastBuildDate><atom:link href="https://blog.kalend.top/categories/%E8%87%AA%E5%8A%A8%E5%8C%96/index.xml" rel="self" type="application/rss+xml"/><item><title>我给AI建了个全自动知识库：每周自动从对话中提炼知识点</title><link>https://blog.kalend.top/2026/05/26/wiki-auto-knowledge-base.html/</link><pubDate>Tue, 26 May 2026 23:00:00 +0800</pubDate><guid>https://blog.kalend.top/2026/05/26/wiki-auto-knowledge-base.html/</guid><description>
 &lt;blockquote&gt;
 &lt;p&gt;和AI聊了几百轮，发现最有价值的知识全散落在聊天记录里。下次遇到类似问题，还得重新问一遍。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;这不是工具推荐，是我自己搭的一套系统。用了一年，从零长到23个知识页面，全是AI自己从对话里提炼出来的。&lt;/p&gt;
&lt;p&gt;先说结论：把AI当知识管理员，比当聊天机器人有用得多。&lt;/p&gt;
&lt;h2 id="一为什么要自动化知识库"&gt;一、为什么要自动化知识库
&lt;/h2&gt;&lt;p&gt;我每天和AI助手聊天，聊技术、聊工具、聊踩坑经验。&lt;/p&gt;
&lt;p&gt;这些对话里藏着大量可复用的知识点：某个工具的配置方法、某个问题的解决方案、某个概念的清晰解释。&lt;/p&gt;
&lt;p&gt;但问题是——它们全在聊天记录里。&lt;/p&gt;
&lt;p&gt;想找的时候翻不到，找到了也不确定是最新的。&lt;/p&gt;
&lt;p&gt;更关键的是，下次遇到类似问题，我又得重新描述一遍背景，重新问一遍。&lt;/p&gt;
&lt;p&gt;所以我想要一个系统：自动扫描对话，自动提炼知识点，自动写入知识库。&lt;/p&gt;
&lt;p&gt;不是什么Notion模板，不是Obsidian手动整理。&lt;/p&gt;
&lt;p&gt;是真正的全自动——我正常聊天，知识库自动生长。&lt;/p&gt;
&lt;h2 id="二方案llm-wiki-规范--定时扫描"&gt;二、方案：LLM Wiki 规范 + 定时扫描
&lt;/h2&gt;&lt;p&gt;我的方案基于Karpathy提出的LLM Wiki规范。&lt;/p&gt;
&lt;p&gt;核心思路：用Markdown文件存知识，用双向链接把知识点串成图谱，用AI定时扫描对话来增量更新。&lt;/p&gt;
&lt;p&gt;整个知识库就是一个文件夹，长这样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wiki/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; entities/ # 实体页（工具、人物、项目）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; concepts/ # 概念页（方法论、架构、工作流）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; comparisons/ # 对比页（方案选型）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; queries/ # 查询页（常见问题）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; raw/ # 原始素材（对话摘要）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SCHEMA.md # 规范定义
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; index.md # 全局索引
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; log.md # 操作日志
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;每个页面都有统一的frontmatter格式：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;页面标题&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2026-05-14&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;updated&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2026-05-25&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;entity | concept | comparison | query&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;ai, tools, open-source]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;sources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;raw/articles/xxx.md]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;confidence&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;high | medium | low&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;用&lt;code&gt;[[wikilinks]]&lt;/code&gt;语法在页面间建立双向链接。&lt;/p&gt;
&lt;p&gt;比如opencode页面引用了understand-anything，后者又引用了hermes-agent。&lt;/p&gt;
&lt;p&gt;这些链接自动形成知识图谱，不用手动维护。&lt;/p&gt;
&lt;h2 id="三扫描脚本从对话中挖知识点"&gt;三、扫描脚本：从对话中挖知识点
&lt;/h2&gt;&lt;p&gt;核心是一个Python脚本，每周自动扫描最近7天的AI对话记录。&lt;/p&gt;
&lt;p&gt;它的逻辑很简单：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一步&lt;/strong&gt;：扫描会话数据库，找到最近有实质内容的对话。&lt;/p&gt;
&lt;p&gt;筛选标准：消息数≥5条，标题非空，时间在7天内。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二步&lt;/strong&gt;：用关键词匹配分类。我定义了8个类别：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AI/模型 | 工具/Agent | 数据库 | OSINT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DevOps | 编程 | 写作 | 记忆/知识库
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;每条匹配规则是多个关键词用管道符连接。&lt;/p&gt;
&lt;p&gt;比如&amp;quot;ai|llm|模型|训练|推理&amp;quot;都归到AI类。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第三步&lt;/strong&gt;：过滤掉已有页面覆盖的内容，输出候选清单。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第四步&lt;/strong&gt;：LLM Agent拿到候选清单，判断是否值得入库。&lt;/p&gt;
&lt;p&gt;不是什么都记。有两个硬性门槛：&lt;/p&gt;
&lt;p&gt;同一个知识点出现2次以上，或者来自1个高质量核心来源。&lt;/p&gt;
&lt;p&gt;这样避免了把闲聊当知识的问题。&lt;/p&gt;
&lt;h2 id="四自动化流程定时任务配置"&gt;四、自动化流程：定时任务配置
&lt;/h2&gt;&lt;p&gt;我把扫描脚本配成了定时任务，每周日上午11点自动运行。&lt;/p&gt;
&lt;p&gt;流程是四步：&lt;/p&gt;
&lt;p&gt;扫描脚本输出候选 → LLM判断是否值得入库 → 创建或更新wiki页面 → 追加操作日志&lt;/p&gt;
&lt;p&gt;目前已经跑了5轮自动入库，产生了这些内容：&lt;/p&gt;
&lt;p&gt;实体页13个：hermes-agent、mempalace、opencode、obsidian、karpathy等。&lt;/p&gt;
&lt;p&gt;概念页5个：双向链接、知识库工作流、五层记忆架构、MySQL大表DDL方案、被动验证方法论。&lt;/p&gt;
&lt;p&gt;最有价值的是交叉引用。&lt;/p&gt;
&lt;p&gt;opencode → understand-anything → hermes-agent → openclaw&lt;/p&gt;
&lt;p&gt;这条引用链，把四个工具的定位和关系串了起来。&lt;/p&gt;
&lt;p&gt;下次我需要对比它们，直接看知识库就行。&lt;/p&gt;
&lt;h2 id="五设计思考为什么不用notion"&gt;五、设计思考：为什么不用Notion
&lt;/h2&gt;&lt;p&gt;很多人会问：为什么不直接用Notion？或者Obsidian的插件？&lt;/p&gt;
&lt;p&gt;三个原因：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一&lt;/strong&gt;，数据主权。我的知识库是本地Markdown文件，git管理。&lt;/p&gt;
&lt;p&gt;不依赖任何云服务，不会因为某天服务下线就丢数据。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二&lt;/strong&gt;，增量构建。不是一次性搭好架子然后手动填充。&lt;/p&gt;
&lt;p&gt;是每周自动从对话中生长，越用越丰富。&lt;/p&gt;
&lt;p&gt;我正常使用AI，知识库自动变厚。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第三&lt;/strong&gt;，AI做苦力。扫描、分类、提取、格式化，全部自动化。&lt;/p&gt;
&lt;p&gt;我只做最终决策——这个东西值不值得记。&lt;/p&gt;
&lt;p&gt;当然也有代价：没有Notion那么漂亮的界面，没有协作功能。&lt;/p&gt;
&lt;p&gt;但知识库的本质是&amp;quot;能找到&amp;quot;，不是&amp;quot;好看&amp;quot;。&lt;/p&gt;
&lt;h2 id="六一个真实页面长什么样"&gt;六、一个真实页面长什么样
&lt;/h2&gt;&lt;p&gt;拿hermes-agent这个实体页举例：&lt;/p&gt;
&lt;p&gt;开头是frontmatter，包含标题、日期、类型、标签、来源、置信度。&lt;/p&gt;
&lt;p&gt;然后是正文：概述、核心架构（配置层级表格）、Profile隔离系统、Skill系统、五层记忆架构、多平台网关。&lt;/p&gt;
&lt;p&gt;最后是相关页面链接：nous-research、llm-wiki、obsidian、mempalace。&lt;/p&gt;
&lt;p&gt;每个链接都能跳转，形成知识网络。&lt;/p&gt;
&lt;p&gt;整个页面从创建到现在更新了3次，每次都是自动扫描触发的。&lt;/p&gt;
&lt;p&gt;不是手动维护的&amp;quot;死&amp;quot;文档，而是跟着我的使用持续进化的&amp;quot;活&amp;quot;知识。&lt;/p&gt;
&lt;p&gt;回看log.md的操作记录，5次自动入库覆盖了完全不同的领域：&lt;/p&gt;
&lt;p&gt;从MySQL大表DDL方案到OSINT被动验证方法论。&lt;/p&gt;
&lt;p&gt;这正是自动化的价值——它不会只记你&amp;quot;觉得重要&amp;quot;的东西。&lt;/p&gt;
&lt;p&gt;而是记录你&amp;quot;实际在用&amp;quot;的东西。&lt;/p&gt;
&lt;p&gt;如果你也在大量使用AI工具，强烈建议搭一个自己的知识库。&lt;/p&gt;
&lt;p&gt;不需要复杂，一个文件夹 + 一个扫描脚本就够了。&lt;/p&gt;
&lt;p&gt;关键不是工具选型，而是让知识自动沉淀。&lt;/p&gt;
&lt;p&gt;手动整理的知识库，最后都会变成没人维护的死文档。&lt;/p&gt;
&lt;p&gt;只有自动化的，才能活下来。&lt;/p&gt;
&lt;p&gt;关注 varkm，一起学习，一起成长&lt;/p&gt;
&lt;p&gt;下一篇讲怎么给这个知识库加上语义搜索，让它从&amp;quot;能找到&amp;quot;变成&amp;quot;能联想&amp;quot;&lt;/p&gt;</description></item></channel></rss>