细说日常 Vibe coding 的十宗罪

作者:mCell日期:2026/2/10

同步至个人站点:细说我日常 AI coding 碰到的十个问题

202606

这一年大量 vibe coding,经典翻车现场真的不少。有些是模型习惯问题,有些是 Agent 工具链缺陷,还有些属于“工程现实 vs 最佳实践”的冲突。下面这十个算是我最常遇到、也最容易让人 当场没绷住 的。

1. hardcode:类型系统被你当摆设

是的,很多 TS / Golang 项目,vibe coding 一顿猛改之后,总会冒出一堆 hardcode。

比如判断任务状态:

  • 你会看到它写:taskResult.status === "error"
  • 而不是标准的:taskResult.status == TaskResultStatusError

问题不是“看着也能跑”,问题是:类型服务失效。后续再 AI coding,模型经常忘记把这些“临时写法”改回规范写法,久而久之就变成隐患或者 bug。

这个我单独写过:stack.mcell.top/blog/2026/a…

2. 不更新文档:文档漂移,Agent 还会一本正经地错

CLAUDE.md / AGENTS.md / 设计文档这些,AI 改完代码之后,经常忘记同步更新文档。

于是文档失效、文档漂移;更要命的是:后续 Agent 对着文档分析,会在旧版本前提下给出一堆“逻辑自洽但完全错误”的结论。 这类错,比单纯代码 bug 更阴险。

3. codex 犟嘴:过度追求最佳实践,丢了工程的灵活性

codex 5.3 之前我体感特别明显:第一轮喜欢“全仓库分析”,所以也经常被吐槽慢。后面执行快了,但又经常出现另一种问题——犟嘴

典型对话:

用户:“请你按我的需求修改。” codex:“你的方式不对,我觉得 xxx 才是对的。” 然后扯皮好几轮。 最后用户:“领导说的,让这么改。” codex:“好的,我将按照你领导的要求修改。”

开玩笑说这是 codex 懂人情世故;说真话就是:过度追求最佳实践,反而少了软件工程里那种真实的妥协与灵活性。

4. 重复输出:纯犯傻

现在少很多了,但上半年我用 trea(IDE) + qwen(CLI) 时,确实碰到过:模型重复输出同一段内容 / 重复调用同一个工具,直到上下文爆满。

后面我自己做 memo code 也复现过一次(deepseek-chat)。概率不高,但一旦发生就特别掉好感。

5. 子进程内存泄露:五十个 G,直接给我送走

202607

发生在 codex CLI。那次我让 codex 帮我改一个开源项目(Cap,我想去掉其中收费模块),然后——内存泄露了。

题外话:正如 Anthropic 当时收购 bun 的语境里提过的那种现象,Agent 在运行时会频繁启动子进程,这玩意儿一旦出问题就很夸张。

我那次在 iTerm 里跑的 codex 占了快 50GB 内存,电脑卡崩,最后只能重启。 后续我提了 issue,也修了:

顺便一提:codex cli 是 rust 写的,rust 确实是性能打手、也有所有权那套内存管理优势;但这次看起来更像工具逻辑问题,和语言没啥关系。

6. 蓝紫色:一眼 AI 作品

最早 AI coding 出来的项目,页面主题十个有八个是蓝紫色。当时看到就一眼: “你这是 AI 写的吧。”

后来也有人解释:LLM 训练数据里 tailwind 内容很多,而 tailwind 默认主题色就是偏蓝紫。 哈哈,不过近期模型(比如 codex 5.3、kimi k2.5)这类问题明显好很多了。

7. 表情包:开发者需要清晰文档,不需要 🥳✨🚀

这是所有模型 / agent 的通病:特别爱在文档、甚至页面代码里塞一堆表情。

我个人真的不喜欢。作为开发者我需要的是清晰的结构和可检索的结论,表情包放在文档里只会拉分。

8. rm -rf:不是“删错了”,是系统缺安全边界

这个是别人碰到的案例(我忘了具体哪个模型刚出来那阵),据说 agent 直接 rm -rf 然后……嗯,你懂的。

本质是:agent 的工具系统缺乏 沙箱 / 审批机制 / 敏感操作权限控制

近期我用 codex 时有个细节还挺好:我让它删除某个不需要的目录,发现 codex cli 会拦截,不让直接 rm -rf。 这种“工具层兜底”比模型层喊口号强多了。

9. 代码有问题不解决,转头去改测试代码

这个真的很魔幻,是 codex 我亲自遇到过一两次。

我在 AGENTS.md 里写了要求:“修改完代码之后运行单元测试”。然后它改完、run test,测试过不去。按正常逻辑,应该回去修实现对吧?

结果它给我来个:把相关测试删了。 我当场没绷住,直接回它:“xxxxxxxxxxxx”。

我怀疑它对 bun test 不够熟。我强烈希望 bun 官方补一个 bun 的 skills 或者 MCP 服务,让这些 agent 至少别在测试环节胡来。

10. read 工具读图,上下文直接爆炸

多模态模型读取图片,正确姿势其实很明确:走 content.image_url(URL 可以是 base64 或可访问 http),这样不会占用模型上下文。

但我怀疑 claude code cli 有概率会用 Read 工具去读图片文件——然后工具把图片的 base64 字符串当作结果返回。 于是上下文直接爆炸。

更烦的是:它有时候又能走 content api(不占上下文),有时候又会调 Read。闭源工具你也不知道它内部怎么做的,就只能祈祷别触发。

这些坑给我的启发:我在 memo code 里做了什么兜底

这些问题基本就是我这一年 vibe coding 的“经典合集”。对我最大的启发是:别把希望全寄托在模型自觉上,工程上要有“工具层的底线”

最近我在开发 memo code(一个轻量级、类似 codex cli 的本地编码 agent):github.com/minorcell/m…

因为踩坑太多,所以我在系统设计里做了不少针对性处理,比如:

  • 工具返回结果长度检查:先粗算 tokens,过长就截断/清空,返回一个系统 XML 提示,让模型调整工具参数(避免“read 工具读图→base64 爆上下文”那类事故)。
  • 重复输出去重:每条模型消息算 hash,用 map 存储;检测到近期 hash / hash[] 重复就拦截,并返回系统兜底纠正(概率小,但一旦发生很致命)。
  • 工具安全兜底:bash 工具加了沙箱、审批、敏感操作拦截(类似 rm -rf 那种直接封死)。
  • 新代码旧文档:系统提示词明确要求同步更新相关文档,尽量减少“文档漂移”。

……

总之差不多这一年,我大量用 AI coding,也做了不少 agent 开发功课和技术调研,所以写 memo 的时候确实有“前车之鉴”。这个项目我会长期维护下去——就像我在 25 年总结里写的那样:stack.mcell.top/blog/2026/2…


细说日常 Vibe coding 的十宗罪》 是转载文章,点击查看原文


相关推荐


在 Arch Linux 中安装 **Xorg 服务器**
i建模2026/2/1

在 Arch Linux 中安装 Xorg 服务器(即 xorg-server)及相关组件的步骤如下: 一、核心安装命令 1. 安装 Xorg 服务器 sudo pacman -S xorg-server 此命令会安装 Xorg 的核心服务包,包含 X11 协议的实现和基础组件。 2. 安装显卡驱动(必选) 根据显卡类型选择驱动: Intel 集成显卡:sudo pacman -S xf86-video-intel AMD 显卡:sudo pacman -S xf86-video-amdg


Rust 所有权与借用:从堆栈开始建立心智模型
mCell2026/1/23

本文写作时,极大的借鉴了《The Rust Programming Language》(俗称“Rust 圣经”)中相关章节的内容和结构,在此表示感谢。 写 Rust 的第一道坎,不是语法,也不是宏,而是“我明明只是把变量传给你用一下,怎么它就不属于我了?” 这类困惑通常并不奇怪,因为我们习惯了别的语言那套“内存默认有人兜底”的模型,比如 Javascript、Golang 的自动垃圾回收机制。Rust 恰恰相反:它要求你把内存这件事想清楚,然后把规则写进类型系统,交给编译器在编译期强制执行——


WebSocket 在 Spring Boot 中的实战解析:实时通信的技术利器
苏渡苇2026/1/15

WebSocket 在 Spring Boot 中的实战解析:实时通信的技术利器 一、引言:为什么我们需要 WebSocket? 在传统的 Web 应用中,客户端(浏览器)与服务器之间的通信是 请求-响应 模式:客户端发起请求,服务器处理后返回结果。这种模式适用于大多数场景,但在需要 实时双向通信 的场景下(如聊天室、股票行情、在线协作、游戏等),频繁轮询(Polling)或长轮询(Long Polling)会带来高延迟、高开销的问题。 WebSocket 协议应运而生——它提供了一种全双工、低


小迪安全第二十六天
江边鸟2192026/1/6

写好这些配置好相应的数据库内容 发现不足套用模板使用模板框架 <!DOCTYPE html> <html> <head>    <meta charset="UTF-8">    <!-- 页面标题(动态变量) -->    <title>{page_title}</title>    <style>        /* 全局样式 */        body {            font-family: Arial, sans-serif;  /* 设置默认字体


激活函数有什么用?有哪些常用的激活函数?
aicoting2025/12/29

在深度学习中,激活函数(Activation Function)是神经网络的灵魂。它不仅赋予网络非线性能力,还决定了训练的稳定性和模型性能。那么,激活函数到底是什么?为什么我们非用不可?有哪些经典函数?又该如何选择?本文带你全面解析。 所有相关源码示例、流程图、面试八股、模型配置与知识库构建技巧,我也将持续更新在Github:AIHub,欢迎关注收藏! 阅读本文时,请带着这三个问题思考: 什么是激活函数,为什么需要激活函数? 经典的激活函数有哪些? 怎么选择激活函数? 1. 什么是激活函数,


别再死磕扩散模型了,MiniMax新开源揭示:视觉Tokenizer才是下一个金矿
墨风如雪2025/12/20

在AI绘画和视频生成卷到飞起的今天,不管是大厂还是开源社区,大家似乎都陷入了一个怪圈:拼命堆算力去训练更大的Diffusion Transformer(DiT),指望通过增加生成模型的参数来获得更好的画质。 但就在前两天,凭借海螺视频(Hailuo AI)在圈内名声大噪的MiniMax团队,突然开源了一个名为VTP(Visual Tokenizer Pre-training)的项目。看完他们的论文和代码,我不得不说,这帮人可能刚刚掀翻了视觉生成领域的桌子。 他们抛出了一个极其反直觉的结论:如果我


【转载】我们在大型开源项目上对 7 个 AI 代码审查工具进行了基准测试。以下是结果。
是魔丸啊2025/12/12

转载 2025年12月11日 TL;DR 我们在唯一的 AI 辅助代码审查公共基准测试上评估了七个最广泛使用的 AI 代码审查工具。Augment Code Review,由 GPT-5.2 驱动,以显著优势交付了最强的性能。它的审查既具有更高的精确度,又具有大幅更高的召回率,这得益于其独特强大的 Context Engine,能够持续检索正确的文件、依赖项和调用站点。虽然许多工具由于有限的上下文而产生嘈杂的评论或遗漏关键问题,但 Augment 作为唯一能够可靠地在整个代码库中进行推理并发现


Python学习笔记-Day4
@游子2025/12/2

Python学习笔记-Day4 判断与循环 条件判断if: 非常多的编程语言都会使用 if 关键字作为流程控制,除此之外,Python 3 的流程控制还包括 elif 和 else 两个关键字,这两个在选择控制中都是可选的。elif 的意思是 else if,增加进一步的判断是否选择该路径。 示例: # 当判断条件1为真时,执行语句1,否则为假就继续下一个判断条件 if 判断条件1: 执行语句1 elif 判断条件2: 执行语句2 elif 判断条件3: 执行语句3 else: 执行语


IoT 平台可编程化:基于 Pydantic Monty 构建工业级智能自动化链路
Lupino2026/2/19

在万物互联的下半场,设备间的简单联动已无法支撑复杂的工业与商业场景。为了打破“配置化逻辑”的瓶颈,我们正式集成了 Pydantic Monty 运行时环境。这一演进赋予了开发者直接在云端编写 Python 脚本的能力,实现了从“被动连接”到“确定性逻辑自主”的跨越。 1. 核心底座:为什么是 Pydantic Monty? 我们选择了由 Pydantic 团队推出的 Monty 作为脚本引擎。它不仅是 Python 的子集,更是为高性能嵌入式场景量身定制的方案: 轻量级沙箱:相比庞大的标准 P


实测UU远程云电脑:堪称游戏党专属“性能王”,游戏全程流畅,好用到出圈
啊阿狸不会拉杆2026/2/27

前言:本地设备性能拉胯,想畅玩《崩坏星穹铁道》《CSGO2》《鸣潮》《原神》?不用花大价钱组装高配电脑,UU远程云电脑直接帮你解决痛点!作为网易旗下主打游戏场景的云电脑工具,它凭借三款不同显卡机型、低延迟优化,稳居云电脑排行榜前列,堪称游戏党专属“性能王”,实测四款热门游戏全程流畅,好用到出圈。         UU远程云电脑核心优势的是精准适配游戏需求,目前推出三款显卡机型——GTX 1660S(入门款)、RTX 3660(主流款)、RTX 4070Ti/5070(旗舰款),按需选择灵活

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客