加载失败
原文作者自述在长期以 vibecoding(低触式由 LLM 代理大量生成代码)的实践后回归手写代码,原因是代码库出现“局部合理但整体混乱”的痕迹。评论围绕三类问题展开:一是教学与入门者会否因此失去掌握基础的机会;二是 agent 生成代码的常见失误(重复、脆弱的架构、无意义或掩饰性测试、并发/边界缺陷);三是实践层面的对策与分化经验——在小型自洽项目、明确分任务和有良好测试示例时,工具能显著提速,但在跨服务、复杂并发和长期演化的场景下容易出问题。讨论同时涉及具体工具与实践(如 Claude Code、Opus 4.5、Cursor、claude.md/agents.md、pytest 及多模型审查等)和对教育/招聘策略的建议。
多个评论把问题放到计算机教育与入门学习上:教师担心学生用 LLM 代写会跳过必须的“动手”过程,失去对基础概念的直观理解,类比为用叉车代替举重或自动驾驶削弱驾驶基本功。面试实录显示应届生能背复杂概念却无法解释自己项目细节,有人直接承认“GenAI 做了大部分”。为应对建议包括:保留手写/纸笔编码或无网考试、口头答辩、使用能记录编辑轨迹的编辑器插件来核验代码演进,或将作业改为开放性研究题以防 AI 一键完成。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6]
评论里有大量可复制的实践经验:把给模型的 prompt 当作给初级工程师的任务书,先写清楚要求、接口与示例,然后分块迭代。让 AI 先写测试(或先写测试再让 AI 实现,被多次推荐),并在项目中提供现有测试风格的示例(有人直接建议 clone 特定项目以示范测试模式)。还提出配置项目级 agent 指令(如 claude.md/agents.md)、用 Beads/agent 工具管理任务、并用另一个模型或 agent 做审查以捕捉逻辑/实现层问题。具体技巧包括用 pytest 与 pytest-httpx 等现成测试库、把大问题拆成小任务、频繁提交并运用覆盖率工具来快速发现坏代码。
多人报告的核心失误是:agent 会产出在局部看起来合乎逻辑、语法与测试的改动,但缺乏对整体架构、一致抽象与邻近模式的尊重,久而久之代码库出现重复、碎片化与技术债。具体表现包括冗余实现不抽象、测试既冗余又无法覆盖核心语义(如只断言实现细节或把被测逻辑直接复制进测试),以及在有状态系统中引入微妙并发问题(评论中直接提到 Redis/ Postgres 的并发错配难以排查)。这种“看起来不错但整体混乱”的现象在项目变大后尤为致命。
讨论中反复出现“两个世界”的观察:有用户在小型或自洽项目上用 Opus 4.5、Claude Code、Cursor 等工具实现从原型到可运行产品的显著提速,也有人在大型或跨服务系统里遇到“缺陷工厂”式的输出。成功因素包括:明确可测的子任务、现有测试套件与良好示例、熟练的提示与循环;失败常见于跨服务边界、复杂并发、或需要长期演化的设计场景。结论是:工具不是万灵药,项目类型、模型/工具和使用者的 orchestration 技能共同决定回报。
多数讨论认为开发者角色在变化:除了传统的实现能力外,管理 agent、写可执行规范、设计测试与 prompt 工程成为新的必备技能。雇主与外部评审关注的是能否识别瓶颈、交付业务价值与判断何时不该过度抽象;而初级开发者在依赖 AI 时也可能在学习曲线早期被“卡住”,导致产能停滞。有人主张把教与评估方式调整到培养“用 AI 做事”的能力,而不是简单禁止 AI。
评论里对“vibecoding / vibe coding”的含义存在明显分歧:有人把它定义为不看 diff、完全依赖 agent 的极端低触工作流(原始含义),也有人松散地把任何 AI 辅助编码都称为 vibecoding。这个语义混乱导致交流效率低下和论证误配——例如把 autocomplete、逐函数提示和完全 agentic 三类不同实践混为一谈会得出相互矛盾的结论。多位评论建议用更精确的术语(如 AI-assisted programming、agent-assisted coding)来区分实践层级。
vibecoding / vibe coding: 一个流行术语,原意指用 LLM 代理在不细看代码差异的情况下直接生成并迭代大量代码;现在也被宽泛用于任何大量依赖模型生成代码的工作流。
coding agent / agentic coding: 指能跨多个步骤(规划、改写文件、运行/修复测试、提交变更)自治执行任务的 LLM 驱动器或工作流,典型实现见 Claude Code、Cursor 等。
Claude Code: Anthropic 提供的面向写码的 agent/编辑器功能集,支持多回合规划、文件级改动和任务分配,评论中常作 agentic 编码代表。
Opus 4.5: 评论中提及的一版高能力 LLM(模型代号/版本),部分用户报告其在生成可运行代码方面表现优于早期模型。
Cursor: 一个集成聊天与代码完成、支持 agent 模式的编辑器/工具,常被用来做端到端的 AI 辅助开发。
GitHub Copilot: GitHub(微软)推出的代码自动补全与助手产品,早期以行内补全为主,后来集成更多聊天/agent 功能,被多次拿来与其他 agent 工具比较。