技艺学习的认识论
知识不是信息,而是转化
在 AI 能够生成完美代码的时代,我们为什么还需要学习?
Tim Schilling 的答案是:知识不是信息,而是转化;理解不是拥有,而是成为。
学习的过程就是成为的过程——剥离这个过程,我们就剥离了人性本身。 这不是关于是否使用 LLM 的问题,而是关于是否仍然理解所贡献内容的问题。
信息的幻觉:
现代技术制造了"信息即知识"的幻觉:
- 搜索引擎提供无限的信息访问
- LLM 生成流畅的答案和代码
- 但信息不会自动转化为理解
理解的获得需要时间、困惑、反复试验和真实的挣扎。 这些"低效"的过程恰恰是学习不可或缺的组成部分。
转化需要什么:
- 时间的投入:没有压缩的捷径
- 脆弱性的承担:承认不理解、犯错、需要帮助
- 身体性的实践:知识必须嵌入肌肉记忆和直觉
- 社会性的互动:与他者真实的承认关系
见:Give Django your time and money, not your tokens
专家的直觉与新手的问题
Hubert Dreyfus 的五阶段技能习得模型揭示了从新手到专家的转变:
| 阶段 | 特征 |
|---|---|
| 新手 | 依赖规则,情境无关 |
| 高级新手 | 开始考虑情境因素 |
| 胜任者 | 能设定目标、制定计划 |
| 精通者 | 直觉与分析并重,全局把握 |
| 专家 | 凭直觉行动,把握本质 |
| 大师 | 超越规则,融入传统 |
专家的表现看起来"毫不费力",但这 effortless 背后是 years of effort。 试图用 AI 跳过这些阶段,得到的是 facade 而非真正的能力。
开源社区中的成长:
Schilling 强调:成为 Django 贡献者是一种荣誉,但从中获得的成长远比这个头衔更有价值。 社区的本质是集体协作的努力,剥离人性会让这项事业变得更加困难。
见:Hubert Dreyfus, Mind Over Machine (1986); 另见 _software/open-source/culture
机器没有夺走你的手艺,是你自己放弃了
编程工作最难的部分从来不是打字写出代码,而是理解系统、调试毫无头绪的问题、 设计不会在负载下崩溃的架构,以及做出能避免数月痛苦的长期决策。
LLM 可以在这些方面提供帮助,但它们本身无法解决这些核心难题。 它们不理解整个系统,脑海中不携带真实的上下文,更不知道一个决策究竟对还是错。
最重要的是——它们不做选择。 软件开发真正的价值,在于知道什么东西应该存在,以及为什么应该存在。
见:A quote from David Abram:Simon Willison 引用 David Abram 的观点