微信扫码
添加专属顾问
我要投稿
LLMs在代码生成上表现出色,但缺乏维持清晰思维模型的能力,难以真正构建复杂软件。 核心内容: 1. 优秀软件工程师的关键能力:构建和维护清晰思维模型 2. LLMs在软件开发中的局限性:无法同时维持多个心智模型 3. LLMs当前适合的应用场景与未来改进方向
我花了大量时间做的一件事就是面试软件工程师。这显然是项艰巨的任务,我并非声称有什么神奇解决方案;但这让我有时间去思考高效软件工程师实际在做些什么。
当你观察一个知道自己在做什么的人时,会发现他们在循环执行以下步骤:
实现这些目标有多种方式,但优秀工程师的关键区别在于他们构建和维护清晰思维模型的能力。
公平地说,LLMs 非常擅长编写代码。当你指出需要修复的问题时,它们也能较好地更新代码。它们还能完成真正软件工程师所做的所有工作:阅读代码、编写和运行测试、添加日志记录、(理论上)使用调试器。
但它们无法做到的是保持清晰的心智模型。
LLMs 会陷入无尽的困惑:它们假设自己编写的代码确实能运行;当测试失败时,它们只能猜测是修复代码还是修改测试;当遇到挫折时,它们干脆删除所有内容重新开始。
这完全与我的期望背道而驰。
软件工程师会边开发边测试。当测试失败时,他们能参照心智模型决定是修改代码还是调整测试用例,或是收集更多数据再做决断。遇到瓶颈时,他们可以通过讨论寻求帮助。虽然有时也会推倒重来,但此时他们对问题已有更清晰的认识。
随着模型能力提升,这种情况会改变吗?或许吧?但我认为这需要从根本上改变模型的构建和优化方式。软件工程需要的不仅是代码生成能力。
当人们遇到问题时,能够暂时存储完整上下文,专注于解决问题,然后恢复思维栈回到手头任务。他们还能跳出细节关注全局,让次要信息暂时隐去,只在必要时深入局部。我们不会无限制扩展认知窗口,那样只会让人崩溃。
即便不考虑信息过载问题,现有生成模型仍存在多个直接影响其维持清晰思维模型的缺陷:
这些问题应该并非无法克服,目前正在通过添加记忆功能让它们能像人类一样进行思维运作。但遗憾的是,现阶段它们还无法(超出一定复杂度后)真正理解正在发生的事情。
它们无法构建软件,因为它们无法同时维持两个相似的"心智模型",识别差异,并判断应该更新代码还是修改需求。
显然,LLMs 对软件工程师很有帮助。它们能快速生成代码,并且非常擅长综合需求与文档。对于某些任务来说这就足够了:需求足够明确,问题足够简单,它们可以一次性完成整个工作。
话虽如此,对于任何非琐碎的任务,它们都无法准确维持足够的上下文来迭代出一个可行的解决方案。作为软件工程师,你需要负责确保需求清晰,并且代码真正实现了它声称的功能。
在 Zed,我们相信一个人与智能体可以协作构建软件的世界。但我们坚信(至少目前)你才是掌控方向的人,而 LLM 只是工具箱中的另一个工具。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-02-04
从“回答者”进化为“研究员”:全面解析 Deep Research
2026-02-04
刚刚,Xcode 史诗级更新:原生集成 Claude Agent SDK,苹果开发直接起飞!
2026-02-04
国产 Cowork 它来了!MCP、Skills和Expert Agents都支持,全部免费体验!
2026-02-04
混元研究博客上线姚顺雨团队最新成果:从 Context 探索语言模型的范式转变
2026-02-04
通俗讲解大模型短期记忆 vs 长期记忆
2026-02-04
谁动了我的电脑?谁应该抱怨?
2026-02-03
从 CLI 到桌面:Codex 把 coding agent 变成“任务指挥台”
2026-02-03
谷歌重大更新:国内手动开启 Gemini AI 侧边栏与 Auto Browse 自动浏览全攻略
2026-01-24
2026-01-10
2025-11-19
2025-11-13
2026-01-26
2026-01-01
2025-12-09
2025-11-12
2026-01-09
2025-12-21
2026-02-04
2026-02-03
2026-02-03
2026-02-02
2026-02-02
2026-02-02
2026-01-31
2026-01-30