微信扫码
添加专属顾问
我要投稿
LLMs在代码生成上表现出色,但缺乏维持清晰思维模型的能力,难以真正构建复杂软件。 核心内容: 1. 优秀软件工程师的关键能力:构建和维护清晰思维模型 2. LLMs在软件开发中的局限性:无法同时维持多个心智模型 3. LLMs当前适合的应用场景与未来改进方向
我花了大量时间做的一件事就是面试软件工程师。这显然是项艰巨的任务,我并非声称有什么神奇解决方案;但这让我有时间去思考高效软件工程师实际在做些什么。
当你观察一个知道自己在做什么的人时,会发现他们在循环执行以下步骤:
实现这些目标有多种方式,但优秀工程师的关键区别在于他们构建和维护清晰思维模型的能力。
公平地说,LLMs 非常擅长编写代码。当你指出需要修复的问题时,它们也能较好地更新代码。它们还能完成真正软件工程师所做的所有工作:阅读代码、编写和运行测试、添加日志记录、(理论上)使用调试器。
但它们无法做到的是保持清晰的心智模型。
LLMs 会陷入无尽的困惑:它们假设自己编写的代码确实能运行;当测试失败时,它们只能猜测是修复代码还是修改测试;当遇到挫折时,它们干脆删除所有内容重新开始。
这完全与我的期望背道而驰。
软件工程师会边开发边测试。当测试失败时,他们能参照心智模型决定是修改代码还是调整测试用例,或是收集更多数据再做决断。遇到瓶颈时,他们可以通过讨论寻求帮助。虽然有时也会推倒重来,但此时他们对问题已有更清晰的认识。
随着模型能力提升,这种情况会改变吗?或许吧?但我认为这需要从根本上改变模型的构建和优化方式。软件工程需要的不仅是代码生成能力。
当人们遇到问题时,能够暂时存储完整上下文,专注于解决问题,然后恢复思维栈回到手头任务。他们还能跳出细节关注全局,让次要信息暂时隐去,只在必要时深入局部。我们不会无限制扩展认知窗口,那样只会让人崩溃。
即便不考虑信息过载问题,现有生成模型仍存在多个直接影响其维持清晰思维模型的缺陷:
这些问题应该并非无法克服,目前正在通过添加记忆功能让它们能像人类一样进行思维运作。但遗憾的是,现阶段它们还无法(超出一定复杂度后)真正理解正在发生的事情。
它们无法构建软件,因为它们无法同时维持两个相似的"心智模型",识别差异,并判断应该更新代码还是修改需求。
显然,LLMs 对软件工程师很有帮助。它们能快速生成代码,并且非常擅长综合需求与文档。对于某些任务来说这就足够了:需求足够明确,问题足够简单,它们可以一次性完成整个工作。
话虽如此,对于任何非琐碎的任务,它们都无法准确维持足够的上下文来迭代出一个可行的解决方案。作为软件工程师,你需要负责确保需求清晰,并且代码真正实现了它声称的功能。
在 Zed,我们相信一个人与智能体可以协作构建软件的世界。但我们坚信(至少目前)你才是掌控方向的人,而 LLM 只是工具箱中的另一个工具。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-08-19
大模型下半场,腾讯手里还有哪“三张牌”?
2025-08-19
把Claude Code StatusLine 玩出花来
2025-08-19
企业如何真正落地 AI:从愿景到实战的全流程指南
2025-08-19
如何真正落地一个AI项目?从灵感到执行的完整指南
2025-08-19
通用大模型基准测评「常见问题」解答
2025-08-19
程序员的“最强外挂”!用RAG + Qwen3 Coder打造专属代码问答系统
2025-08-19
如何将普通的HTTP API接口快速变成MCP Server
2025-08-19
7年了,OpenAI官方给出五代GPT对比,网友却怀念起「狂野」初代
2025-05-29
2025-05-23
2025-06-01
2025-06-21
2025-06-07
2025-06-12
2025-06-13
2025-06-19
2025-05-28
2025-07-29
2025-08-19
2025-08-18
2025-08-18
2025-08-18
2025-08-15
2025-08-14
2025-08-14
2025-08-13