用你的大脑:LLM时代的工程标准
随着LLM的普及,软件工程师面临“氛围编码”陷阱,沦为代码的“保管人”而非“所有者”。本文强调真正的代码所有权、清晰的工程实践和人工审查的必要性,避免技术债务失控。
在大型语言模型(LLM)时代,软件开发已不再是少数人的专属领域。任何人都能借助AI编写软件,这本身是好事。然而,我看到大量合格的软件工程师正陷入“氛围编码”(vibe-coding)的陷阱——他们放弃了设计、思考、实现的标准流程,转而快速生成大量质量可疑的代码。这种代码更像是普通用户的产物,而非专业工程师的作品。
速度陷阱
LLM能以极快速度生成代码,但这一优势需要正确的引导。当你的工具从个人脚本扩展到被他人使用时,问题便接踵而至。依赖LLM修复问题会导致对代码库失去控制。代码所有权这一概念值得深思:如果你无法独立解释代码原理并定位错误,那么这个代码库就不是你的。当AI每一条编辑都介入时,你不再管理软件,而是让AI操控你已无法理解的随机代码。
即使参与大型团队开发,追求速度也不应成为唯一目标。AI辅助开发时,对每次提交、潜在副作用、测试更新和最佳实践都需要格外谨慎。最终,即使代码由LLM生成,你也需要理解它的行为。如果只是简单地将LLM抛给任何未解决问题,而缺乏稳定的开发流程,代码库将迅速失控。
所有权 vs. 保管权
你是只想快速推进,还是希望构建可维护、可扩展、安全且真正属于自己的系统?纯粹的“牛仔”只关心最快完成任务,将后续维护交给他人——这种模式不可扩展。继承代码的人会考虑重写,并责怪你(并非真正属于你的)设计决策。成为牛仔意味着没有所有权,你只是保管人而非所有者。所有者与AI的关系更健康:他们将LLM视为生产力加速器,每次输出都经过审查,提交的代码可以逐行解释。遇到bug时,所有者能迅速定位问题区域,知晓如何修复及其影响。
然而,组织和项目正向开发者施加“快速”的压力,使其悄悄从所有者降级为保管人。他们以为更快,实际上正将系统控制权交给AI,直到技术债务反噬。
正确利用AI:基础设施与新网络礼仪
无论个人还是公司,都应回归基础,建立严格的工程规范与护栏。理想的环境应具备:共享目标、真正的代码所有权、人与代理无缝协作且确保代码质量、安全及长期可维护性。基本规则包括:定义人员与AI的角色与责任;设定遵循的标准;配置支持开发者和代理遵守规则的工具;通过CI/CD强制执行一切。人与人之间的沟通不可替代,AI辅助编码需确保所有权,代理生成的代码必须经过人工审查,禁止直接以AI输出响应人工编写的问题。
这听起来像是80年代互联网早期“网络礼仪”(netiquette)的复兴——当有人花时间写下一段内容,你应仔细阅读并写出恰当的回应,而非甩出一段AI生成的套话。用你的大脑。
至于工具,建议强化CI/CD:使用linter、格式化工具、pre-commit,确保测试套件由人工审查且正确。此外,利用AI定制化:编写明确的AGENTS.md文件设定护栏,再配合少量人工编写的技能(skills),引导代理的思考与工具使用流程。
结论
AI是生产力助推器,是放大器。良好工程习惯经放大后带来质量与速度的双赢,确保代码库的真正所有权;而懒惰被放大只会用噪声填满你的仓库,使你迅速沦为毫无所有权的保管人。利用工具提速,但永远不要放弃你的工程判断。用你的大脑。