正确的方式来 vibe 代码,使其真正有效
Source: Dev.to
抱歉,我需要您提供要翻译的具体文本内容(文章正文),才能为您进行简体中文翻译。请将文章的文字部分粘贴在这里,我会保持原有的格式、Markdown 语法以及技术术语不变,只翻译正文内容。谢谢!
📍 工程的当前状况
你可能已经听过很多次了:软件工程师将被 AI 系统、代理和工具取代。
我们对此不做过多评论——目前还没有定论。但行业中已经出现了一些预测和趋势:
1️⃣ 小团队正变得极其高效且富有生产力。
2️⃣ 拥有主动性和意图的人比仅仅技术娴熟或聪明的人更受青睐。
3️⃣ 公司将比以往更快地前进。
4️⃣ 软件正在自我构建。
😳 示例
- Claude Code 正在使用 Claude 构建。
- Traycer 正在使用 Traycer AI 构建。
❓ 你应该使用 AI 吗?
真正的问题不是 是否 应该使用 AI,而是 如何 使用它。
很多人不知道自己是在进行 vibe coding 还是 AI‑assisted coding。两者之间有巨大的差别。
📍 常规 Vibe 编码方式
Vibe‑coding 工作流通常是这样的:
- 你使用具备代理功能的 IDE(例如 Cursor、Windsurf)或 CLI 代理(例如 Claude Code、Gemini CLI)。
- 在聊天窗口中输入提示。
- 你的代理读取提示、制定计划,然后开始生成代码。
这种方法适用于非常小的功能或从零开始的情况,因为:
- 使用全新的上下文/实例的代理在一段时间内是有效的。
- 随着你不断生成代码,代理会逐渐偏离最初的意图。
- 小而简单的功能可以由大多数 LLM(Claude、Grok 等)实现。

📍 当事情真的出错时
当有人开始处理更大的代码库、复杂的功能或端到端的产品时,代理会遇到以下困难:
- 它们会偏离人类给出的提示或意图。
- 随着上下文窗口被填满,它们的性能会下降。
- 它们自信地产生幻觉,缺乏验证循环。
👉 因此,用户会生成成千上万行代码,却发现根本无法运行。对这样的代码库进行重构变得繁琐且需要多次迭代。
这导致一种 伪生产力提升——大量的迭代和头疼。
那么,我们该如何 Vibe‑Code?

不,这张图 并没有 展示你应该如何编码 🤪。
编码依然是一种根本的问题解决方法,结构至关重要,即使在强大的代码生成 LLM 面前也是如此。按照第一性原理,过程如下:
- 编写 PRD(产品/功能需求文档)。
- 将 PRD 拆分为 规格。
- 创建 技术文档,随后生成 子任务。
- 将子任务分配给你的团队(或内部循环的 LLM)。
- 验证实现结果。
内部循环(代码生成)解决了问题的一部分,但仍有缺失……
📍 外部循环
阻碍大型语言模型(LLM)完整处理编码的缺失环节包括:
1️⃣ 编写产品需求文档(PRD)。
2️⃣ 将 PRD 拆分为规格说明。
3️⃣ 编写技术文档和子任务。
⚠️ 将子任务分配给团队(或内部循环的 LLM)。
4️⃣ 验证实现情况。
这正是新兴领域 规范驱动开发(Spec‑Driven Development) 大放异彩的地方。
多个产品致力于通过生成 PRD、做好规划、验证每个代理的代码步骤以及防止偏离用户意图来实现规范驱动开发。值得关注的例子有:
- Traycer
- Kiro
- Spec‑kit
我的朋友们尤其痴迷 Traycer,因为它直观的 EPIC 模式。
Traycer 解决的问题
- 从简短提示中捕获人类意图。
- 防止代理偏离该意图。
- 消耗更少的 token,避免上下文膨胀。
- 验证每一次改动,确保不会自信地发布幻觉代码。
预览:Traycer AI EPIC 模式

为什么 Traycer AI 成为我如今的伙伴
- 从一个简单提示开始。
- 采访你关于问题陈述、技术栈、边缘案例以及其他高层次问题。
- 生成 PRD、规格说明、技术流程、线框图、时序图和用户流程图。
- 将计划拆分为更小的工单,便于交给任何 AI 代理(Claude、Grok、Cursor IDE 等)。
- 验证每一段生成的代码。
有了稳固的外部循环(规范驱动开发)和可靠的内部循环(AI 辅助代码生成),你终于可以在没有漂移、幻觉和无尽重构的情况下驾驭 AI。
# Updates & Recent Shipments
Each and every change helps prevent our agents from drifting or deviating in the wrong direction.
📍 最近发布的产品
- 构建你自己的 Redis
- 构建我自己的 WhatsApp – 支持跨消息的语义搜索
- 以及我们在 EPIC 模式下构建并热爱的更多项目 ❤️