[{"data":1,"prerenderedAt":129},["ShallowReactive",2],{"post-learning_with_ai\u002Fmain":3},{"id":4,"title":5,"body":6,"cover":115,"date":116,"description":12,"draft":117,"extension":118,"meta":119,"navigation":120,"path":121,"seo":122,"stem":123,"summary":124,"tags":125,"__hash__":128},"posts\u002Fposts\u002Flearning_with_ai\u002Fmain.md","关于AI时代的学习",{"type":7,"value":8,"toc":107},"minimark",[9,13,16,20,23,26,29,32,35,43,46,49,52,55,58,61,64,67,70,73,80,86,93,96],[10,11,12],"p",{},"进入 AI 时代之后，很多原本需要上网狂暴搜索半天才能解决的问题，现在可能只要简单描述一下，十几秒就能得到一个看起来还不错的答案。比如报错信息看不懂、某个 API 不会用、想快速了解一个概念的背景，AI 往往都能给出比搜索引擎更直接的反馈。",[10,14,15],{},"但这并不意味着学习效率也会以同样夸张的幅度提升。信息获取变快了，不代表理解、内化和实践也会自动变快。很多时候，AI 能帮我们跨过“查资料”的门槛，却不能替我们完成“建立知识结构”和“形成经验”的过程。实际学习中，我们可能还会遇到下面这些困难。",[17,18,19],"h2",{"id":19},"不知道自己不知道什么",[10,21,22],{},"学习一个新领域时，最难的往往不是某个具体问题，而是不知道这个领域到底由哪些问题组成。如果对整体体系没有概念，就很难向 AI 提出有效的问题。",[10,24,25],{},"例如刚开始学 TypeScript 时，可能只会问“TypeScript 怎么学？”或者“interface 和 type 有什么区别？”。这些问题当然能得到答案，但很容易停留在零散知识点上。真正影响长期理解的内容可能包括类型推导、泛型、结构化类型系统、类型收窄、工程配置、和 JavaScript 运行时之间的边界等。如果一开始完全不知道这些主题的存在，就很难主动问到它们。",[10,27,28],{},"所以 AI 更像是一个很强的问答对象，而不是天然可靠的学习地图。我们仍然需要先让它帮忙梳理领域轮廓，比如让它列出学习路线、核心概念、常见误区，再基于这些内容逐步深入。",[17,30,31],{"id":31},"缺少实践",[10,33,34],{},"有些技能的掌握离不开实践，尤其是写代码。编程能力并不只是“知道某个语法怎么写”，还包括拆解问题、设计结构、定位 bug、理解报错、权衡取舍等一整套经验。",[10,36,37,38,42],{},"如果过于追求效率，把实现过程全部交给 AI，短期内确实可以更快得到一个能跑的结果，但自己的经验积累可能会被跳过。比如一个异步请求失败了，AI 可以直接告诉你要加 ",[39,40,41],"code",{},"await","、要处理异常、要检查接口返回值；但如果每次都只是复制修复方案，而没有自己观察现象、猜测原因、验证假设，那么下次遇到类似问题时，仍然很难独立判断。",[10,44,45],{},"更好的方式也许是把 AI 当成陪练：先自己尝试实现，遇到卡点时让 AI 提示思路；修好 bug 之后，再让它解释为什么这样改有效、还有没有其他写法。这样 AI 提供的是反馈和复盘，而不是直接替代练习。",[17,47,48],{"id":48},"知识的诅咒",[10,50,51],{},"AI 也可能会有某种“知识的诅咒”：它默认自己知道的东西你也大概知道，于是解释时跳过了关键前提，或是抛出大量“越级”概念；或者反过来，它不知道你的真实基础，又花很多篇幅讲解你已经熟悉的内容。",[10,53,54],{},"比如学习 TypeScript 时，如果我已经有一些 Python 异步开发经验，那么“异步函数会返回 Promise”“await 会等待异步结果”这类解释可能就不需要太多篇幅。真正需要补足的，可能是 TypeScript 如何描述 Promise 的类型、泛型在异步函数中的作用、前端框架里异步状态该如何建模。可是如果没有主动说明这些背景，AI 很可能按通用初学者教程来讲，导致信息密度不合适。",[10,56,57],{},"因此，和 AI 学习时，描述自己的背景很重要。比起直接问“给我讲讲 TypeScript”，更好的提问可能是：“我有 Python 基础，了解 async\u002Fawait，但不熟悉前端工程和 TypeScript 类型系统。请跳过基础编程概念，重点讲 TypeScript 相比 Python 类型标注最不一样的地方。”",[17,59,60],{"id":60},"个人尝试",[10,62,63],{},"前面几节都是“和 AI 学习时会遇到的坑”，这一节说说我自己正在试的解法。",[10,65,66],{},"先说个大背景：AI 出现后，新人入行其实变难了。以前新人靠给老登当实习生入门——老登招个黑奴把自己从基础流程里解放出来，新人也能在干活中慢慢上手。但现在 AI 太好用了，工程师能用 AI 快速实现想法，研究生博士能用 AI 写测评、整理实验、润色文章，根本没什么带实习生的动机。不过坏处里也藏着机会：AI 在“获取知识”这件事上同样强大。所以对新人来说，挑战就变成了一个新问题——怎么用 AI 把自己缺的能力快速补齐。",[10,68,69],{},"我个人有一定的 research 经验，但工程落地基本是空白，所以干脆拿“学项目开发”当试验场，探索更有效的 AI 学习方法。",[10,71,72],{},"核心思路是受 AI coding 启发的：开发复杂任务时，我通常不会一上来就让 AI 写代码，而是先讨论需求、澄清边界、拆分步骤，再进入具体实现。学复杂知识，也许可以套同样的流程。",[10,74,75,79],{},[76,77,78],"strong",{},"做法一：先规划，再开学。"," 学一个新领域前，先和 AI 一起根据自己的背景制定学习计划——我已经会什么、不熟悉什么、目标是能读懂项目还是能独立开发、每天大概投入多少时间。计划定下来后，再把学习过程拆成一个个小任务，每完成一部分就让 AI 帮忙检查理解是否到位，或者根据练习结果调整后续安排。",[10,81,82,85],{},[76,83,84],{},"做法二：渐进式实现项目。"," 对一个复杂项目，直接去磕源码，就算有 AI 也很容易被繁杂的依赖和设计绕晕。但一切设计都是有动机的，所以更好的方式也许是让 AI 手把手带着把一个简化版本实现一遍：从最核心的模块起步，逐步扩展，在扩展中自然遇到需求、引出设计。这样既能在实践中理解“设计为什么这么做”，也更有成就感。",[10,87,88,89,92],{},"配套还可以做一件事：像维护 ",[39,90,91],{},"CLAUDE.md"," 一样，维护一份“个人学习画像”——已有基础、常见误区、喜欢的解释方式、正在学的主题、已经完成的练习等。这样 AI 不用每次从零理解我是谁，也能更快进入合适的讲解深度。",[10,94,95],{},"我现在正在用这套方法学网站前后端开发和工业级 coding agent 搭建，也算是拿它本身做个实验，看看效果如何。",[10,97,98,99,106],{},"skill目前初步维护在",[100,101,105],"a",{"href":102,"rel":103},"https:\u002F\u002Fgithub.com\u002FSolus-sano\u002FAEsir_learning",[104],"nofollow","这里","，可以直接扔给coding agent装，后续也会逐步完善。",{"title":108,"searchDepth":109,"depth":109,"links":110},"",2,[111,112,113,114],{"id":19,"depth":109,"text":19},{"id":31,"depth":109,"text":31},{"id":48,"depth":109,"text":48},{"id":60,"depth":109,"text":60},"\u002Fimages\u002Fposts\u002Flearning_with_ai\u002Fcover.png","2026-05-27",false,"md",{},true,"\u002Fposts\u002Flearning_with_ai\u002Fmain",{"title":5,"description":12},"posts\u002Flearning_with_ai\u002Fmain","AI时代如何更高效地学习计算机？",[126,127],"杂谈","AI","HSGBk68dbo1hO72_JrTayr-J_b_npJu4gSwJtcZ0dMw",1782840071137]