加载失败
本文源于一篇倡导理性接纳编码类 LLM 的博文与随之而来的评论大串。讨论把焦点从“模型能不能写代码”转向“如何用、在哪用、以及用后的代价”:评论里既有用 Claude Code/Opus 4.5 等工具在手机上快速搭出工具与 runtime(如小型 WASM/JS 运行时)的成功经验,也有在遗留企业系统、C++/嵌入式和安全领域里反复重写 AI 输出的挫败案例。评论者把争论延展到工程实践(spec→test→code、red/green TDD)、版权与许可证(开源训练数据的合规性)、算力与集中化风险(大型模型需要巨额算力)以及职业身份与社会影响(失业、薪酬与不平等等)。这些讨论建立在对具体模型、agent 工具与工程流程的实际操作经验之上,而非单纯的意识形态对立。
一部分开发者分享了用 coding agents(例如 Claude Code / Opus 4.5 等)在短时间内完成原型、工具和实用库的真实案例,称其把重复性、样板化工作从数天缩短到数小时。评论中有多位作者列举了自己用 AI 生成完整项目、测试套件、或把文档/提示存档到仓库的工作流,强调掌握提示、上下文管理和测试能把收益放大。他们把 AI 看作 "力倍增器":把人从机械敲代码中解放出来,转而聚焦架构、设计与验证等增值环节。
另一大批评论指出 AI 生成代码常常只达到“能跑”的 80–99%,但剩下的 1–20% 是最昂贵的:隐蔽的边界情况、架构不合、风格混乱与安全漏洞,需要人工大量重写或加测试。有人直接说自己每次都要重写约 70% 的 AI 输出,并举出 C++、嵌入式与遗留系统中 AI 容易犯的低级但危险错误。结论是:把 AI 作为起点或助理可以,但若未经深度复核就合并到主分支,会把长期维护成本和技术负债推高。
多位评论建议把 AI 纳入严密的工程闭环:先形成详细 spec,再让模型生成测试(red/green TDD),把测试作为判定质量的可执行“皮肤”。实践细节包括:把需求/设计存为文件以保持上下文、让 agent git clone 源码到 /tmp 以避免网页摘要丢失细节、并把生成的文档和提示保存在仓库以便未来复现。对安全关键系统的评论者强调:无论模型多强,人类仍需负责设计、形式化或用 TLA+ 等手段证明关键性质——测试与规格是把随机输出变得可控的主要手段。
有大量情绪化的讨论把反 AI 的核心归结为职业身份危机:编程不仅是谋生技能,还是许多人认同与成就感的来源。当工具把“建造”过程高度抽象化后,一些人感觉自己被剥夺了价值与自我认同。评论里既有对失业、薪酬结构与财富集中(高阶公司与资本获益)的深切担忧,也有关于代际不平等、再培训可行性以及社会保障(如 UBI)是否足够的激烈讨论。
很多人担心开源代码、文档与艺术被大模型当作训练数据后,既被用于商业闭源服务又不给创作者回报。讨论涉及 GPL/AGPL 等许可证在面对训练/生成场景时的适用性争议、对 Tailwind 等案例的商业冲击,以及法律、执法与跨境规制的难题。总体情绪是:即便技术有益,训练与部署的商业模式、合规性与赔偿框架仍然严重滞后且令人不安。
不少评论把视角从工程转向生态:大型模型背后的算力与数据集中在少数寡头手中,会放大政治与经济权力,带来审查、监控与垄断风险。还有人把数据中心能耗、环境代价与模型训练的长期可持续性列为重要问题;同时担心若本地推理无法普及,开发将被变成付费服务以至于“编程即订阅”。这些论点强调治理、监管与开源或本地化算力的必要性。
关于“编程乐趣”的讨论高度分裂:一部分开发者表示与 AI 协作破坏了他们的 flow 状态,把创作变成审核他人成果的枯燥活;另一部分则觉得把重复工作交给模型,自己能做更有趣、更高阶的设计和产品工作,甚至能在业余时间实现长期想做的项目。评论提醒这不是技术对错,而是个体偏好与岗位性质的差异——不同人会有不同“火”的来源。
Claude Code: Claude Code(Anthropic 提供的 agentic coding harness)——把模型、子代理和代码运行/测试环结合起来以实现自动化编码与迭代的工具链。
Opus 4.5: Opus 4.5(Anthropic 的一个模型版本)——在讨论中被多次提及为近期能够显著改善编码代理表现的模型代号。
agentic coding / agents: agentic coding 指用多个自治子代理(agents)协作完成软件任务的工作流:代理会读代码、运行测试、修改实现并相互调用,形成闭环自动化。
vibe coding: vibe coding(或 "vibecoding")——用户大量依赖 LLM 一次性生成大量代码并以最少监督合并的做法,强调速度与快速产出而非逐行手写与深度理解。
red/green TDD: red/green TDD(测试先行的红/绿循环)——先生成失败的测试(red),再实现功能使测试通过(green),评论中被用作把 LLM 输出约束到可验证行为的实践。
RAG(retrieval-augmented generation): RAG(retrieval-augmented generation)——把外部文档检索结果注入模型上下文以获得基于真实资料的生成,常用于让模型访问代码库、文档或公司内部资料以提高准确性。