在这里插入图片描述

一个 Claude Code 插件,叫 stubborn-coach。它做的事很简单:不让你蒙混过关。
项目地址:https://github.com/jingranburangyongzhongwen/stubborn-coach



一个你不愿意承认的事实

你打开 ChatGPT,扔进去一篇 30 页的论文:

“帮我讲讲这个。”

它用流畅得不像话的中文,给你一份结构清晰的总结。你一边滑动鼠标一边点头:嗯,是这样。嗯,有道理。嗯,明白了。

读完,关闭。

第二天朋友问你那篇 paper 讲了什么,你卡了三秒,给出一个比 AI 总结模糊十倍的复述。

恭喜,你刚刚和 AI 一起完成了一次学习行为艺术:动作完整,结果归零

——这未必是你记性差。这更像是因为,你根本就没学。你只是观看了一场关于"学习"的演出,主演是 AI,你是观众。


学习的本质,是被问问题

回想一下你小时候真正学会一件事的瞬间——

不是老师讲完那一刻,而是老师讲完之后,叫你上去做一道题那一刻。

你站起来,粉笔在手里发烫,盯着黑板,感觉到大脑里某个原本糊在一起的东西,第一次必须说清楚——它要么对,要么错;要么你会,要么你不会;没有"嗯,是这样"可以躲。

那种被审视的、不舒服的、你不能装懂的状态,是学习真正发生的地方。

而今天大多数对话式 AI 学习工具,都在帮你绕开这个时刻。

你和 AI 的对话往往像这样:

AI:……所以注意力的本质是加权平均。
你:嗯,懂了,继续。
AI:好的,下面讲多头注意力。
你:嗯,懂了,继续。
AI:很好。下面讲位置编码。
你:……

整个过程没有任何一道题。整个过程也没有任何一刻 AI 怀疑过你。整个过程你产生了一种正在学习的幻觉,并因此感觉良好。

但你要是合上屏幕,去厨房倒一杯水回来,可能已经记不得多头到底为什么是多头了。

这不全是你的问题,也是反馈循环的问题。舒服的反馈循环不产生学习


stubborn-coach 是什么

它是一个 Claude Code 插件。一条 slash command:

/stubborn-coach:study <主题 / URL / 论文 / 粘贴文本>

这一条 slash 覆盖六件事:学习、复习、测验、查询、状态、导出。没有第二条命令,没有第二个入口,没有"切换到对话窗口配置选项"——纯终端,从头到尾。

但它真正不一样的地方,是名字里那两个字:stubborn,是把那个你以为已经消失了的、小时候站在黑板前的瞬间——搬回到你的终端里

它教完一段,会停下来说:

这个节点先讲到这里。你可以继续追问;如果觉得差不多了,说"检查一下",我会用一个短问答确认能不能进入下一节点。

你说"检查一下",它出题。你答完,它不会自动说"很好"。它会打开一个你看不到的账本,给你的回答打分:

  • 广度:这个节点的几个 key_points,你的回答覆盖了几个?
  • 深度:你说对了,但说清了吗?能举例吗?能和近邻概念辨析吗?

你想速通?它的预算是节点 6 题、topic 8 题。账本没闭合,它会一直问

你说"我懂了"?

它的源码里有一行写得很硬:

"懂了 / 我会了 / 继续"不构成证据。


它的固执不是 bug,是产品

这个工具的名字是 stubborn——固执的——这个词在中文里几乎是一个负面评价。但你想想看:

一个真正想让你学会的教练,应该有什么固执?

应该有不接受敷衍答案的固执。
应该有看见你跳过了某个维度就再来一题的固执。
应该有**你说"差不多了"它说"还差一道"**的固执。

很多 AI 学习工具会对你说"很好,继续"。
stubborn-coach 会对你说:“刚才那道题你只答到了 accurate,没展开 applied,再来一题。”

很多 AI 学习工具会对你说"这是个很棒的问题"。
stubborn-coach 会对你说:“你这道题答到第二点的时候开始模糊了,能再讲一次吗?”

很多 AI 学习工具会对你说"今天到这里,明天继续"。
stubborn-coach 会对你说:“SM-2 算出三天后再来复习,到时候我会直接出题。”

它不温柔。但它会让你学会


关于"长源不进主对话"

技术上有一件事值得单独讲——

很多对话式 AI 学习工具的工作方式是:你扔一篇 PDF,它把全文读进对话,然后接下来你的每一次追问,原文都在上下文里反复占位。学着学着模型开始漂移、复读、从某段原文开始重复你已经听过的话。

stubborn-coach 派一个独立的 subagent 进隔壁屋啃完整篇 PDF,只把消化过的结构化摘要带回来。原文一个字都不进你的主对话。

这意味着你可以连续几周追问、考核、复习同一篇论文,而你的对话历史不会变成一坨被原文反复污染的稀粥。

它不是为了"看起来精巧"才这么做的。它是因为你要学得久才这么做的。学习是连续的事,不是一次性的事。


关于双文件分离

learning-wiki/study.md —— 你的,可读的,可 git 化的。
learning-wiki/.study-state.yml —— 机器的,结构化的,你不用看。

为什么要分开?

因为用户笔记和机器状态混在一起,一定会漂移。一个版本写得长篇大论,下一版觉得太啰嗦砍掉,再下一版发现前后矛盾,最后你只能放弃这个工具。

把进度、SM-2 间隔、探查账本、引用元数据全部放到 YAML 里之后,study.md 就永远干净——它只追加稳定教案,主题、节点讲义、错题。半年之后你打开它,还是一篇可以读的教材,不是一坨被状态信息污染的废墟。


这个工具适合谁

  • 真的想学会一些东西,而不是读完一份总结就走
  • 你受够了"AI 帮你读论文然后你三天后忘光"的循环
  • 你愿意被一个不会拍马屁的工具问到答不出来的程度
  • 你喜欢命令行,不想再切窗、切应用、切 UI

这个工具不适合谁

  • 你想要快速"完成"学习任务,拿一份摘要就交差
  • 你需要 AI 给你情感支持
  • 你打开终端会感到不适

一个观察

做这个插件的过程里我逐渐意识到一件事:

绝大多数对话式 AI 学习产品——ChatGPT Study Mode、Claude Learning Mode、Kimi 学习模式等——默认的反馈姿态都是鼓励式的。它们会肯定你、给你结构化笔记、告诉你"理解得很到位"。这种姿态对降低使用门槛、提升用户留存有用,从产品角度完全可以理解。

让你愿意每天回来让你真的学会,是两件不同的事。

一个学习工具如果只优化前者,结果是你可以连续打开它一个月,体验流畅愉悦,然后发现自己说不出三个具体收获。

stubborn-coach 是一种反向的赌注:也许有一些人,真的想被问到答不出来。也许这些人愿意被告知"刚才那个不行,再来一题"。

如果你是这种人,欢迎试试。如果不是,你会很快关掉它,那也没关系——这世上让你感觉良好的产品已经太多了。


安装

cd ~/your-learning-dir
claude plugins install <repo-url>
/stubborn-coach:study <你想学的东西>

仓库 + 文档:https://github.com/jingranburangyongzhongwen/stubborn-coach
开源协议:Apache 2.0


关于"stubborn"这个名字——
它不是说工具难用、机器固执。
是说一个真正想让你学会的教练,应该有不接受敷衍答案的固执

很多 AI 学习工具会对你说"很好,继续"。
stubborn-coach 会说"刚才那道题你跳过了 applied,再来一题。"

学习的进步从来不来自舒服的反馈循环。
它来自一个愿意让你不舒服的工具

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐