[Vibe Coder #5] 如何阅读错误信息,以及 AI 修不好 Bug、反复兜圈时的脱身方法
当红色错误信息铺满屏幕时,心里会猛地一沉。英文密密麻麻,满是从未见过的单词,看起来也没有告诉你到底哪里出了问题。因此,很多 vibe coder 不读错误信息就直接关掉,然后对 AI 说:“不行,帮我修好。”接着 AI 开始修改不相关的地方…
阅读文章AUTOMATE · 35 ARTICLES
按时间顺序浏览 AI 智能体 文章。
全部文章
当红色错误信息铺满屏幕时,心里会猛地一沉。英文密密麻麻,满是从未见过的单词,看起来也没有告诉你到底哪里出了问题。因此,很多 vibe coder 不读错误信息就直接关掉,然后对 AI 说:“不行,帮我修好。”接着 AI 开始修改不相关的地方…
阅读文章应用完成了。在我的电脑上运行得非常完美。我为了向朋友炫耀,复制地址栏中的 localhost:3000 发给他,朋友却回复:“打不开啊?”我鼓起勇气做了部署,结果这次原本在我电脑上运行正常的应用,在互联网上却开始报错。
阅读文章把工作交给 AI 编程代理的好处,是人不必一直守在座位旁。但真正离开座位后,马上会出现另一个问题。如果代理停在提问状态,整个任务就会一直等到你回来。最终反而形成无法离开笔记本电脑前的悖论…
阅读文章进行 Vibe coding 时,总会遇到这一天:你让 AI 给一款直到昨天还运行正常的应用添加一个功能,结果 AI 到处修改,最终整个应用都无法运行。即使你请求“恢复到刚才的状态”,AI 也无法准确还原。修改了 20 个地方,其中到底哪里…
阅读文章上一篇中,我把应用比作一家餐厅:大厅(前端)、厨房(后端)、仓库(DB)。这次要讲 Vibe Coding 中最容易出问题的话题:API,以及 API 密钥。大家都见过“绝对不要暴露密钥”的警告,但很少有人说明密钥是什么、在哪里,以及暴露后会发生什么。本文一次讲清楚。
阅读文章使用 AI 编程工具时,我们经常会重复相同的指令,比如“提交信息使用这种格式”或“部署前按这份检查清单执行”。
阅读文章使用多个 AI 编程代理时,有时确认“谁在什么分支上做什么”所花的时间,比编写代码还长。打开多个终端、切换分支并比较改动后,并行工作的优势很快就会被削弱。
阅读文章用语言指挥 AI 开发应用的人越来越多了。对 Cursor、Claude Code 或 v0 这类工具说一句“帮我做这样的服务”,真的就能得到一个能运行的应用。但做完后,大家都会遇到一个共同的障碍:应用能运行,却不知道 AI 到底做了什么……
阅读文章前几篇介绍了节省上下文的方法:在任务边界清空历史记录(第3篇),并将固定成本设计得简短(第4篇)。但仍有一些任务难以承受,例如“搞清楚这个代码库中的支付逻辑如何流转”。勤勉的代理会读取几十个文件,把所有内容都堆进上下文。调查完成时,反而没有上下文用来利用这些知识修改代码。
阅读文章系列最后一篇聊钱。如果你用 API 运行过代理,可能注意过账单上的异常:输入 token 费用远高于输出。回想第 1 篇的结构,这很自然。每一轮都要重新发送从系统提示词到完整对话历史的全部内容,所以一个 50 轮的代理会话,相当于同一份系统提示词被收费 50 次…
阅读文章如果你一直读到这里,应该已经看出一个共同模式:尽量减少放在上下文窗口中的内容。第 3 篇的“在 /clear 前将状态写入文件”、第 4 篇的“只放指针,不放正文”,以及第 5 篇的“把过程交给子智能体,只将结论交给主智能体”,全都指向同一个方向。不过,这些文件,也就是移到上下文之外的信息,究竟要放在哪里,我们还没有认真讨论。
阅读文章第 3 篇介绍了如何使用 /clear 清除对话历史。但在 /clear 后立即查看剩余上下文,会发现它并不是 100%。在 Claude Code 中执行 /context,原因就很清楚了:系统提示、工具定义、CLAUDE.md,以及 MCP 服务器注册的工具,早已占用数万个令牌…
阅读文章