做了个专用于学习的AI工具

ScaredCube

起因

我在使用官方的网页AI工具进行系统性学习的时候,总是觉得有些别扭:

比如在学习的过程中,我经常想查一个单独概念的定义。如果在大的时间线里直接问的话,会打断整个学习对话,也容易把主线带歪。如果另开一个对话询问又有点麻烦,会让会话列表变得很杂乱。其实我只是想要一个侧栏 /btw 功能,其实很多 Agent 已经实现了。

我通常是让AI先帮我规划整个学习路径,再分别学习每个部分。学习完一个章节之后,想看下一部分有什么内容,要往回翻好久才能回到原本的路径规划部分,上下文长了AI也容易失去注意力跑偏。其实这有点像 Agent 中 Plan 的逻辑。

那么,用 Agent 工具来学习就好了吗?也并不是。大多数 Agent 都是为 coding 或自动化操作设计的,但我只需要最简单的对话功能,那些 function calling 和 mcp、skills 之类的设计就完全变成了浪费 token 的累赘。而且 Agent 工具的界面设计并不适合长对话,还是免不了一长串消息列表来回翻的情况。

所以,那就自己造一遍轮子吧。毕竟现在 Vibe Coding 已经非常方便了

分块上下文

Mukyu AI 重新设计了一套上下文,大概是这样的:

先和AI讨论出一个学习路径规划,然后根据规划自动分成章节,每个章节成为一个单独的会话。每个对话前会带上主线的上下文和当前章节的内容规划,所以在章节学习中AI也能知道主线中的总目标规划。

讨论学习路径
讨论学习路径

讨论完成后生成计划,自动划分章节
讨论完成后生成计划,自动划分章节

分章节学习
分章节学习

每个章节学习完成后会自动总结生成一个章节总览,加入后续章节的上下文中,让她知道学习进度和之前学过的内容。

章节对话中也有自动compose机制,到达设置的 Max Context 的 70% 自动压缩前文内容,不用担心对话太长超出上下文长度。当然,模型的 Context 长度和压缩触发阈值都可以在设置中自定义。

侧栏浮动查询

在学习的过程中,可以随时划词询问,会展开一个侧栏展示解释的内容。也可以随时展开查询栏提问。

浮动查询栏默认是不计入上下文中的。但若是觉得这个内容比较重要,可以pin入本章的对话中。

多模态能力

对于学习而言,多模态能力相当重要,不然模型就看不懂你发的公式截图、课本拍照了。

除了原生多模态的模型之外,Mukyu AI 也支持外挂图像理解模型。对于文档,也提供了内置的解析器,便于无法传入文件的模型使用。

当然,效果最好的肯定是接入 Gemini 系列模型,其原生支持多模态理解和文档解析。Mukyu AI 支持了 OpenAI、Anthropic 和 Gemini 三种 API 接入格式。

RAG 知识库

对于一些需要忠于教材或AI也不太懂的知识,最好的方法是给出参考文档。你可以在规划界面上传课件、电子教材等文档,后面的学习中 AI 会自动参考。这些文档基于 RAG 向量化查询,所以不需要担心消耗过多的 token。

文档的向量化依赖 Embedding 模型,所以需要在设置中配置 Embedding 模型才能启用知识库功能。像硅基流动这样的平台会提供免费的 Embedding 模型,或者也可以在本地部署一个 ollama 运行。支持 OpenAI 和 Gemini 两种 API 格式。

挖坑 / Todo

Gemini 网页中那个可视化交互演示相当炫酷,而且对于学习来说一个可视化的内容还挺有帮助的。我挺想把那个抄过来的,但是还没完全研究明白实现方案。

你可能看出来了,Mukyu AI这个名字来源于 东方Project 中的 帕秋莉·诺蕾姬

我也为这个项目画了一张帕秋莉作为Logo

logo
logo

这是我AI抽卡好几次都不满意后自己画的,挺粗糙的(帕秋莉厨不要骂我wwww

开源

该项目使用MIT协议开源。仓库地址:ScaredCube/MukyuAI

欢迎贡献!

  • Title: 做了个专用于学习的AI工具
  • Author: ScaredCube
  • Created at : 2026-07-10 23:52:26
  • Updated at : 2026-07-11 00:52:54
  • Link: https://sccube.link/MukyuAI/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments