Zed Blog 团队 · 2025-08-17

为什么大语言模型无法真正构建软件

摘要

本文基于作者丰富的软件工程师面试经验,深入分析了大语言模型在软件开发领域的现状与局限。虽然LLM在代码生成方面表现出色,但缺乏人类工程师最核心的能力——构建和维护清晰的心智模型。这使得LLM在面对复杂、非线性的问题时,难以像人类一样有效地迭代和解决问题。

内容框架与概述

文章首先阐述了软件工程师的核心工作循环,即从理解需求、编写代码、构建代码行为的心智模型,到识别差异并持续修正的完整过程。作者强调,优秀工程师的关键在于能够持续维护清晰的心智模型,并在测试失败时做出合理判断。

接着,文章分析了LLM的能力与局限。虽然LLM能够生成代码、运行测试、使用调试工具,但它们无法维护清晰的心智模型。当测试失败时,LLM往往无法判断是代码还是测试有问题,只能猜测如何修复,甚至会选择推倒重来而非有针对性地调整。

最后,作者探讨了LLM未来的可能性。人类在解决问题时能够灵活管理上下文,在全局与局部之间自由切换,而当前LLM存在新近性偏见和幻觉等问题。虽然业界正在尝试为模型增加记忆能力,但LLM仍无法真正理解全局,也无法像人类一样判断是该修改代码还是需求。

核心概念及解读

心智模型:这是软件工程师最核心的能力,包括对需求的理解和对代码实际行为的把握。工程师通过不断构建和维护清晰的心智模型,能够在复杂系统中准确判断问题所在并做出合理调整。LLM缺乏这种能力,容易混淆自己生成的代码与实际需求。

需求-实现-验证-修正循环:这是软件工程师的核心工作流程。从理解需求、编写代码、构建对代码行为的心智模型,到识别差异并持续修正,这是一个不断迭代的非线性过程。LLM在这个循环中只能完成部分环节,缺乏对全局的理解和判断能力。

上下文管理:人类在解决问题时能够灵活管理上下文,可以暂时搁置细节专注于当前问题,也能在全局与局部之间自由切换。而当前LLM存在新近性偏见,更关注最近输入的信息,容易忽略前文重要内容,也无法像人类一样避免信息过载。

新近性偏见与幻觉:这是LLM面临的两个主要问题。新近性偏见使模型更关注最近输入的信息,幻觉则让模型凭空编造不存在的细节。这些问题限制了LLM在复杂任务中的表现,使其难以准确维护足够的上下文。

人机协作:尽管LLM存在局限,但它们在快速生成代码片段、合成文档、处理简单明确需求等方面仍然很有价值。现阶段,工程师必须承担起确保需求清晰、代码正确的责任,主导权仍掌握在工程师手中。


原文信息

字段内容
原文Why LLMs Can’t Really Build Software
作者Zed Blog 团队
发表日期2024年

此文档由 AI 自动整理