PostsMapsLinks
Software Engineering

技艺学习的认识论

技能习得、专家思维与学习的哲学反思

知识不是信息,而是转化

在 AI 能够生成完美代码的时代,我们为什么还需要学习?

Tim Schilling 的答案是:知识不是信息,而是转化;理解不是拥有,而是成为。

学习的过程就是成为的过程——剥离这个过程,我们就剥离了人性本身。 这不是关于是否使用 LLM 的问题,而是关于是否仍然理解所贡献内容的问题。

信息的幻觉:

现代技术制造了"信息即知识"的幻觉:

  • 搜索引擎提供无限的信息访问
  • LLM 生成流畅的答案和代码
  • 但信息不会自动转化为理解

理解的获得需要时间、困惑、反复试验和真实的挣扎。 这些"低效"的过程恰恰是学习不可或缺的组成部分。

转化需要什么:

  1. 时间的投入:没有压缩的捷径
  2. 脆弱性的承担:承认不理解、犯错、需要帮助
  3. 身体性的实践:知识必须嵌入肌肉记忆和直觉
  4. 社会性的互动:与他者真实的承认关系

见: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 的观点

Copyright © 2024 Lionad - CC-BY-NC-CD-4.0