一位对编程知之甚少的产品经理,在短短五天内借助大型语言模型“写”出了数万行代码,构建了多个可运行的系统原型。这看似效率的飞跃背后,却隐藏着代码质量、架构设计、安全性和调试的深层挑战,揭示了AI编程在加速创新的同时,也带来了新的“屎山”困境与对未来工作模式的深刻重塑。
大型语言模型(LLMs)正在以前所未有的速度改变各行各业,而其对软件开发领域的影响,或许是其中最引人注目也最具争议的焦点之一。近来,一位资深产品经理,松子(李博源),分享了他通过大模型在短短五天内“砌”出数万行代码的“翻车”经历。这并非简单的个人轶事,它深刻揭示了AI编程的巨大潜力、当前局限性以及对技术角色、团队协作乃至商业模式的颠覆性影响。1
从“万能车床”到“屎山雕花”:AI编程的幻象与现实
松子最初接触的是类似Anthropic公司提出的Model Context Protocol(MCP)——一种旨在定义应用程序与AI模型之间上下文信息交换的协议,被形象地比喻为“大模型的USB接口”。1 这种协议让AI能够自动发现并调用外部工具和服务,例如进行百度搜索或股票分析,极大地拓展了AI的能力边界。对于像松子这样缺乏编程背景的产品经理而言,这种“超能力”的感觉是革命性的。传统上需要数周甚至数月才能完成的“产品逻辑—设计—研发”流程,现在似乎可以在数小时内通过与AI的对话完成,直接产出高保真的交互原型乃至功能完备的产品演示。
这种效率的提升令人震惊:在一次大胆的尝试中,松子用大模型构建了一个知识库应用的可运行演示,其代码规模达到了惊人的数量:Python文件193个,31278行;JavaScript文件96个,9731行;HTML文件136个,23024行,甚至还包含了17个智能体。一个从未写过代码的人,竟能在五天内“生成”如此庞大的代码库,这无疑是AI辅助编程能力的有力证明。
然而,随之而来的却是对这些代码质量的深刻拷问。松子将这些由AI生成、看似庞大却内部混乱的代码比喻为“屎山”。这个形象的比喻道出了AI编程的甜蜜陷阱:
- 架构选择的困境:对于非工程师背景的用户,AI会提供专业但泛化的建议,却难以针对具体应用场景给出最优或最简化的架构方案。例如,对于一个简单的应用,AI可能推荐复杂的数据库或微服务架构,导致过度工程化(over-engineering)。1
- 版本管理的缺失:在“Vibe Coding”(凭感觉写代码)的模式下,缺乏版本控制导致重构和回滚变得异常困难。一旦方向错误,几乎没有退路,只能不断消耗AI token进行“打补丁”式的修改。1
- 安全性的盲区:AI生成代码在功能正确性的同时,常常忽视安全性。松子发现AI生成的API调用竟然以明文传输敏感信息,这在实际应用中是灾难性的安全漏洞。1 缺乏人工Code Review的代码,其安全性存在天然缺陷,可能被投毒者利用。
- 从“能跑”到“能用”的鸿沟:AI生成的代码往往存在大量重复功能、性能瓶颈(如每次请求都新建数据库连接、数据全部加载内存计算)和糟糕的用户体验。一个“能跑”的原型,距离“能用”的产品,依然隔着巨大的鸿沟。1
- 调试的噩梦:当系统出现bug时,链式反应的错误(前端报错、后端日志异常、用户页面白屏)让非技术背景的人难以定位。复制粘贴错误信息给AI,再照搬AI的解决方案,常常陷入“修复一个bug,引入新bug”的循环,极大地消耗时间和计算资源。1
从“屎山”中提炼的智慧:人与AI协作的新范式
尽管挑战重重,松子通过多次重构,从这些“屎山”中获得了宝贵的顿悟,并提出了与AI协作的新范式:
- 架构思维至关重要:AI善于执行,却缺乏高层次的架构思维。它能够产出符合语法的代码,却不懂得何时需要分层、何时需要解耦。产品经理必须在AI之上建立起宏观的架构认知,才能引导AI生成结构更合理、更易维护的代码。1
- 学会与AI协作:这包括从高层到低层逐步提示(先定目标再细化设计)、先写测试用例(以失败的测试驱动AI生成代码)、制定项目规则文件(统一技术栈、编码规范)以及使用工作空间让AI理解项目全貌。1 这意味着使用者不再是简单的“提示词工程师”,而是需要具备更高阶的系统设计和工程管理能力。
- 接受“屎山”的现实及其合理性:松子最终意识到,“屎山”可能是AI编程的必经之路。其核心价值在于快速试错。在产品早期,能够将想法在数小时内转化为可运行原型,迅速验证市场需求并收集用户反馈,这种速度远比代码质量本身更为重要。对于非技术背景的个体,学会AI编程的成本远低于传统编程,即使产出的是“屎山”,也能让他们更好地与技术团队沟通,理解技术复杂度。此外,“屎山”并非终点,而是起点,它提供了渐进式优化的基础,可以在后续阶段由专业开发者进行代码审查、重构。1
AI编程对社会和未来工作的影响
松子的经历不仅关乎个人效率,更折射出AI对更广泛社会层面的深远影响:
- 产品经理的能力边界拓展:传统产品经理的工作止步于需求文档(PRD),而现在,他们可以直接做出可交互、可演示的原型。这不仅提升了效率,更是一种思维方式的转变——当实现想法的门槛降低时,人们会更勇敢地去尝试和迭代。
- 团队协作方式的革新:AI编程改变了产品经理与技术团队的沟通模式。从“能否实现、需要多久”的模糊讨论,转变为基于“原型”的具体问题探讨,如“性能优化”和“技术实现细节”。这种可视化、可体验的沟通方式极大地提升了协作效率。1
- 商业价值的提升:对于ToB销售而言,“眼见为实”是关键。产品经理能够现场搭建并演示可运行的demo,将抽象的需求转化为具象的产品体验,这显著提升了客户的参与感和项目的签约率。从客户质疑“能否做出来”到讨论“还想要什么功能”,这是一种质的飞跃。1
- 对技术理解的深化:尽管代码质量不高,但亲身参与AI编程的过程,让非技术人员对技术实现的复杂性有了更深的理解,能够更好地判断某些需求“看起来简单,做起来复杂”的原因。
未来的产品经理将不仅仅是“写PRD交给研发”,而是可能成为“产品经理 + 设计师 + 初级开发者”的复合型人才。AI在其中扮演的角色,是搭建“想法”与“实现”之间更短桥梁的关键工具。这不意味着产品经理将取代工程师,而是强调专业分工中,跨领域能力的融合将带来更大的价值。正如松子所言,AI时代,编程正成为一种新的表达方式,就像PS降低了设计门槛一样,AI正在降低编程门槛。1
当然,我们仍需认识到AI在代码生成上的局限性,特别是在复杂架构、性能优化和安全性方面的不足。虽然“屎山”是当前AI编程的现实,但它也预示着一个迭代和进化的过程。或许在不久的将来,随着AI技术的飞速发展,它能够生成“完美代码”的那一天,这些“屎山”将不再成为我们通向未来的必经之路。