带 AI 精读一个大型开源仓库
几十万行的陌生代码,带着 AI 读出设计决策。约束只有一条:每一个技术论断都能回到源码的具体行。
本页解决的问题
先给结论「带 AI 精读一个大型开源仓库」要解决的关键问题是什么?
几十万行的陌生代码,带着 AI 读出设计决策。约束只有一条:每一个技术论断都能回到源码的具体行。
让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。
写下一个问题:试完这个方法后,你能用什么证据回答它?
结论听起来很完整,却没有检查最关键的假设。
今晚下单,还是等到后天。一台 4800 元的电脑躺在购物车里,你想等下个月工资到账再还这笔钱。信用卡账单日是每月 5 日,还款日 25 日,今天是 5 月 4 日。你问 AI:「今晚买和后天买,免息时间差多少?」
AI 很快回了一整段。账单周期、入账时间、账单日、还款日都解释了,还顺手列了五个自测问题。
免息期由账单周期和还款日共同决定。账单日前入账的消费进入本期账单,账单日后入账的消费通常进入下一期账单。你可以依次想:账单日是哪天?消费何时入账?会进哪期账单?对应的还款日是哪天?两种情况相差多少天?实际结果还要以银行的入账规则为准。
你从第一句读到最后一句,每个词都认识。它连问题都替你列好了,你觉得信息已经很全,便把回答收藏起来,下单前没有再算一次。
第二天中午,同事看见订单,问:「如果这笔消费 5 月 4 日入账和 5 月 6 日入账,最晚还款日期差多少?」你看着两个日期,脱口而出:「只差两天。」实际上一笔进入 5 月账单,另一笔进入 6 月账单,按这个简化例子,最晚还款日分别是 5 月 25 日和 6 月 25 日。你原本留给下个月工资的余地,可能就这样少了一个账单周期。
你当时会判断自己听懂了,是因为那段回答把条件、结论和五个问题一起摆在眼前。眼睛一直能找到下一句,脑子没有独自做过「这笔消费会进哪期账单」这一步。内容很全,只说明屏幕上什么都有。
继续让 AI 换一种说法,它仍会从头讲一遍。账单日、入账和还款日会再次出现,你也会再次觉得熟悉。真正需要检查的是:拿走整段解释以后,你能不能自己推出下一步。
让 AI 暂停讲解,改成一次只问一个问题,过程会变成三步:
- 先问一个能继续推理的问题,例如「银行在哪一天把这笔消费算进账单」。
- 等你交出答案再往下问,答得上来的部分不重复讲。
- 在答不出的地方停住,只给这一问所需的提示,再让你回答一次。
每次只问一个问题,会把「我好像懂了」换成一个能回答或答不出的结果。可它连续问下去时,究竟会在哪一问停住?下面让两种对话从同一个问题同时开始。
右边前两个问题都答上了,说明账单日和还款期已经能被你取出来。到了「账单日前一天和后一天相差多少」这一步,你需要把日期放进两个账单周期里,刚才那句「只差两天」就在这里暴露了。
左边也讲过同一件事,你当时可以顺着句子读完。右边先收走了解释,让你自己算一次。答不出来的位置变得可见,AI 才知道下一句该补账单周期,前两块可以省掉。
先别直接讲完。请每次只问我一个问题,根据我的回答再决定下一步。等我回答后再继续;如果我答错或说不知道,只给一个提示,再让我答一次。先不要给结论。
「根据我的回答再决定下一步」是关键。它要求 AI 检查你刚交出的答案,再选择追问、提示或继续,后面的问题就不会一次性倾倒出来。
这段模板守住四个动作:
- 先暂停完整讲解,让下一步以问题出现。
- 一次只显示一个问题,你不会提前看到后面的路。
- 用你的回答选择下一步,会的地方直接通过,答错的地方停下。
- 提示以后再答一次,结论留到你确实需要时再给。
「根据我的回答再决定下一步」让对话跟着你的理解走。只写「一次只问一个」时,AI 仍可能按预先列好的题目机械往下问,答错了也不处理。
一次一问会慢。只查一个日期、一个定义,直接要答案更省时间。遇到要自己判断、计算或解释的材料时,这种问法才值得用,因为你需要知道推理断在哪一步。
这是一个教学经验,页面没有把它写成实验结论。答不答得上来还能怎么检查理解,见 讲得清那一关;顺畅为什么容易让人高估掌握程度,见 让 AI 帮我检查:我是真的懂了吗。
把「AI 怎么把没接住的那一步找出来」变成能复用的学习动作
「今晚下单,还是等到后天 。一台 4800 元的电脑躺在购物车里,你想等下个月工资到账再还这笔钱。信用卡账单日是每月 5 日,还款日 25 日,今天是 5 月 4 日。你问 AI:「今晚买和后天买,免息时间差多少?」」把学习从“看过一遍”推进到“能在新情境里做出来”。真正留下来的不是一段漂亮总结,而是你能用来观察、预测和行动的判断。
用结果检查自己是否真的理解
从「AI 很快回了一整段。账单周期、入账时间、账单日、还款日都解释了,还顺手列了五个自测问题」开始,可以先不用看答案,尝试解释概念、完成一个小任务,再对照哪里是自己的推断、哪里依赖了工具、哪里仍需要核验。
- 先问一个能继续推理的问题 ,例如「银行在哪一天把这笔消费算进账单」
- 等你交出答案再往下问 ,答得上来的部分不重复讲
- 在答不出的地方停住 ,只给这一问所需的提示,再让你回答一次
记住步骤不等于掌握方法
把「这是一个教学经验,页面没有把它写成实验结论。答不答得上来还能怎么检查理解,见 讲得清那一关 ;顺畅为什么容易让人高估掌握程度,见 让 AI 帮我检查:我是真的懂了吗」写成一条自己的规则,并在不同的例子上试一次;如果换了情境仍能说清为什么这样做,知识才开始具备迁移性。
从「AI 怎么把没接住的那一步找出来」走到「先玩一遍 · 同一个问题,两种对话会把你带到哪里」
「AI 怎么把没接住的那一步找出来」先把问题落在「继续让 AI 换一种说法,它仍会从头讲一遍。账单日、入账和还款日会再次出现,你也会再次觉得熟悉。真正需要检查的是:拿走整段解释以后,你能不能自己推出下一步」上;到了「先玩一遍 · 同一个问题,两种对话会把你带到哪里」,讨论继续推进到「信用卡的免息期从哪天算 播放 单步 重置 左右两边都从这个问题开始 信用卡的免息期,为什么要看账单日和入账日期? 左边:AI 把答案一口气讲完 0% 播放后,AI 的整段解释会出现在这里。 右边:AI 等你回答后再问下一个 0% 播放后,AI 会先在这里交给你一个问题。 播放后,两种对话会从同一个问题同时开始。 左边为什么看起来一路顺畅 进度快只说明字出来得快。这一栏没有一处要你交答案。 右边为什么会停在第三个问题…」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。
把这条判断带到下一个场景
学习一个概念时,先不看答案完成一次小任务,再解释自己的判断依据,最后换一个情境重做;迁移比复述更能说明真的学会。
- 「AI 怎么把没接住的那一步找出来」:继续让 AI 换一种说法,它仍会从头讲一遍。账单日、入账和还款日会再次出现,你也会再次觉得熟悉。真正需要检查的是:拿走整段解释以后,你能不能自己推出下一步
- 「先玩一遍 · 同一个问题,两种对话会把你带到哪里」:信用卡的免息期从哪天算 播放 单步 重置 左右两边都从这个问题开始 信用卡的免息期,为什么要看账单日和入账日期? 左边:AI 把答案一口气讲完 0% 播放后,AI 的整段解释会出现在这里。 右边:AI 等你回答后再问下一个 0% 播放后,AI 会先在这里交给你一个问题。 播放后,两种对话会从同一个问题同时开始。 左边为什么看起来一路顺畅 进度快只说明字出来得快。这一栏没有一处要你交答案。 右边为什么会停在第三个问题…
- 「最后的要点」:用你的回答选择下一步 ,会的地方直接通过,答错的地方停下
最后的「最后的要点」把讨论落到「用你的回答选择下一步 ,会的地方直接通过,答错的地方停下」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。
我照着先画目录关系、再追一条请求路径的顺序试了一次,终于没有一上来就让 AI 总结整个仓库。范围变小以后,回答反而更能落到代码上。
大型仓库里经常有同名文件或生成代码,给模型上下文时大家会怎么标记真正要看的那一份?这部分感觉比选择工具更容易出错。
可以补一个仓库阅读检查表:当前分支、运行入口、测试命令、不可修改目录。把这些前置条件写清楚,AI 参与代码阅读会安全很多。
还没有这篇文章的讨论。