用 opencode 搞学习:上课没听懂的东西,让它帮你查清楚画明白

之前说了 opencode 能帮你搜教程、下视频。

有同学问:那上课的事儿能管吗?我上课没听懂,回去想补,它能帮上忙吗?

能。今天就拿一个真实的例子演示一遍。

假如你在课上听老师提了一嘴,说海盗数量和全球变暖有相关性,还说"相关性不等于因果性"。

但当时没注意听,下课回想起来一头雾水——海盗跟气候变暖怎么就扯上关系了?相关性不等于因果性又是啥意思?

换以前,我上学那会,要是查起来得自己搜索半天,翻好几篇文章,对着零散的资料拼凑,还得自己找数据画图。

这次咱们直接开 opencode,一句话甩过去。

先把事儿说清楚

我是这么下命令的:

说出疑惑

"上课听到老师说海盗和气候变暖的相关性以及什么相关性不等于因果性之类的,我当时没注意听,想办法搜集好这个数据,用python进行可视化,并且详细写一篇文章来给我解释清楚。"

就这么一句。你看这里头有几个关键信息:

  • 发生了什么:上课老师讲了海盗和气候变暖的相关性,还有"相关性不等于因果性"。这交代了背景,让它知道我要补的是什么知识点。
  • 我没听懂:直接说我当时没注意听。不用装,不用绕弯子,它不会嫌你笨,你说了它就知道得从基础讲起,不能默认你已经懂了。
  • 要什么:搜集数据、Python 可视化、写文章解释清楚。三条明确的需求,不是泛泛的"帮我了解一下"。
  • 要解释清楚:不是给我一堆链接让我自己看,是要它讲明白。

这四条缺一条都差点意思。你要是只说"帮我查一下海盗和全球变暖的事儿",它给你一段百度百科你看了还是迷糊。你要是只说"解释一下相关性不等于因果性",它给你背个统计学定义你更迷糊。把"搜集数据、画图、写文章"一起说清楚,它就知道你要的不是一段话,是一套能看懂的东西。

跟上一篇说的一样:把事儿说清,不需要文采,需要信息量给够。

它开始干活了

命令给出去,它先派了个子智能体去搜数据。

这个"子智能体"你可以理解成它分了个身出去专门干一件事——搜海盗和全球变暖相关性的原始资料。关键词换了好几轮,最后定位到了源头:2005年俄勒冈州立大学一个叫 Bobby Henderson 的物理学毕业生,给堪萨斯州教育委员会写的一封公开信。

这封信本身就是个讽刺作品。当时堪萨斯教育委员会要在生物课上教"智能设计论"(神创论的马甲),Henderson 觉得离谱,就写了封信说:你们要是这逻辑能成立,那我也可以说全球变暖是海盗减少造成的。他还附了张图,海盗越少温度越高,相关系数高得吓人。

这个故事的来龙去脉,我自己百度未必能这么快串起来。子智能体几轮搜索就把原始信件、数据来源、后人整理的数据集、相关讨论全给捞回来了:

初步的结果

数据有了,开始画图

数据是 1800 到 2020 年的,海盗数量从大约 35000 人锐减到几十人,全球温度异常值从 -0.4°C 升到 1.1°C。它直接写了个 Python 脚本:

代码样本

脚本一气呵成画了五张图:双 Y 轴时间序列,海盗数量一条线往下掉、温度一条线往上爬,几乎是完美的镜像;散点图加回归线,皮尔逊相关系数 r ≈ -0.96,"强负相关";混淆变量示意图,点破工业化进程同时导致海盗减少和全球变暖;冰淇淋销量和溺水人数的对比图,类比"天气热"才是共同原因;还有更多荒谬的虚假相关案例,比如 Nicolas Cage 每年演的电影数量和美国泳池溺亡人数高度相关。

然后它写了篇文章

图生成完,它顺手写了篇完整的文章:

给出的结果

文章从 Henderson 2005年的公开信讲起,把数据摆出来,解释为什么 r ≈ -0.96 不代表海盗导致了气候变暖,点出"工业化"这个混淆变量,又用冰淇淋-溺水的类比讲清楚混淆变量的概念,最后给了五条区分相关和因果的实用判断标准:时间先后、排除混淆变量、机制合理性、实验验证、剂量效应。

整个过程,我就说了开头那一句话。搜索资料、写脚本、生成图片、撰写文章,全是它自己跑的。

这跟问网页版模型有什么区别

有同学可能说:这种知识点我直接问豆包、Kimi 不也行吗?

行,但效果差不少。网页版模型能给你讲"相关性不等于因果性"的概念,也能举海盗的例子,但它是纯文本的——给你一段话,你自己脑补。你要看图,它可能就给你画个 ASCII 的示意图,或者给你段代码让你自己跑。

opencode 不一样,它在你机器上有终端、有文件系统、能跑 Python、能装 matplotlib。你说"可视化",它真的给你生成 PNG 图片存到本地,你打开就能看。你说"写文章",它真的给你生成一个 Markdown 文件,直接就是一篇成型的东西。

这就是区别:网页版是"讲解",opencode 是"交付"。讲解是你听完还得自己消化,交付是东西直接摆到你面前,你能反复看、能改、能发出去。

而且更关键的是,它给你的东西是可以验证的。数据来源它告诉你了,脚本你可以自己跑一遍,图你可以自己改参数重新画。这不是它说啥你就信啥,是它给了你一套可以复查的材料。这一点对学习尤其重要——你不能光看结论,得能追溯过程。

中间还能追问

搞完之后你还能接着问。比如我不明白"皮尔逊相关系数"是啥,我就直接问它:"那个 r = -0.96 是怎么算出来的?"

它会接着上文给你讲:皮尔逊相关系数是衡量两个变量线性相关程度的指标,从 -1 到 1,-1 是完美负相关,1 是完美正相关,0 是无关。-0.96 说明海盗数量和温度几乎是完美的负向线性关系。然后它可能还会提醒你:但就算 r = -1,也不代表因果关系。

你不用每次从头解释背景,它记得你刚才在干什么。这一点比每次开新对话的网页版强不少。你追着问下去,一个点一个点搞明白,比一次性灌一堆概念强。

为什么这个用法对学习特别有用

大学的学习跟高中不一样。高中老师讲完你做题,做题不会再问老师。大学很多时候是你上课听了,下课发现没听懂,但又不知道从哪儿问起——你可能连"哪儿没懂"都说不太清。

opencode 这种用法恰恰能解决这个尴尬:

  • 你说个大概就行。"老师讲了海盗和气候变暖,我没听懂"——它就能开始帮你补。你不用精确描述你哪儿没懂,它先给你铺一遍,你看完自然知道自己哪儿还不明白,再追着问。
  • 它给你可视化的东西。人看图比看字快,一条曲线比一段描述直观一百倍。它能画图,这是纯文本模型比不了的。
  • 它给你的材料能反复看。文章存下来了,图存下来了,你过两天忘了再翻出来看。不像对话窗口关了就没了。
  • 它能层层深入。先给你现象,再给你原理,再给你类比,再给你更多案例。你懂了就停,没懂就接着问,节奏你自己控。

大学里没人追着你教了,你得学会自己补。但"自己补"不等于"闷头查",用好工具能省你大量时间。

说到底还是那个道理

跟上一篇说的一样:你得会把事儿说清楚。

"上课没听懂海盗和气候变暖的相关性,帮我搜集数据、可视化、写文章解释清楚。"——这一句话里,背景、需求、交付形式都有了。

你要是说"帮我讲讲统计学",它给你一段统计学综述你看了更迷糊。你要是说"帮我画个图",它不知道画啥。把背景交代清、把需求说具体、把交付形式说明确,它基本能给你办明白。

这能力不光是跟模型打交道用得上。你以后写邮件、提需求、跟人协作,都是同一套逻辑——把事儿说清,别让人猜。

学会用工具,先从习惯进行表达和提问开始。