> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 如何正确开始氛围编程
- URL: https://www.hubwiz.com/blog/how-to-start-vibe-coding-the-right-way/
- Published: 2026-05-16T21:24:26.000Z
- Updated: 2026-10-13T14:44:17.000Z
- Description: 规格习惯、80/20之墙和5项目进阶——安装前后你需要知道的一切
- Author: admin
- Tags: VIBE CODING, #Import 2026-10-14 14:41

大多数氛围编程指南都在解释安装哪个工具。真正的障碍不同：大多数初学者在完成80%和发布之间的某个地方放弃了，卡在"几乎能用"的循环中没有脱离的框架。本指南是安装前后的完整路线图——让项目真正完成的规格习惯、第一次会话的真实样貌、80/20之墙的来源，以及从第一个循环到自动化系统的5项目进阶之路。

你可能已经看过了工具列表。也许你已经安装了什么。也许你运行了第一个提示词，得到了一个看起来差不多但不太对的结果，而你不知道接下来该做什么。

或者你还没开始。你读了三篇"初学者指南"，它们都说了同样的话（选择**Cursor**或**Lovable**，写清楚的提示词，迭代）——我在同一个规格上测试了所有8个主要工具，看看哪些在演示之后仍然可靠。而你仍然不知道第一次真正的会话应该是什么样子。

无论哪种情况，缺少的不是更好的工具推荐。而是地图。

氛围编程有一个形状。有一个第一次会话断裂的地方，那是正常的。有一堵墙在大约每个首次构建的80%处出现。几乎每个初学者都会碰到它，几乎没有人知道它会来。有一系列构建，每一个都教会你下一个所需的东西。还有一个你实际需要带来的最低要求，比大多数指南承认的更窄、更具体。

我在八个月的时间里从ChatGPT到Cursor到Claude Code，才理解了那个形状。不是因为工具令人困惑。而是因为没有人告诉我路是什么样的。

这就是那张地图。

## 1、先写规格

在打开任何AI工具之前，在安装任何东西之前，在输入第一个提示词之前：用普通句子回答三个问题：

1. **谁在使用这个？** 不是"所有人"。一个人。通常是你自己。
2. **它需要做的一件事是什么？** 不是你最终想要的所有功能。单一核心操作。
3. **成功是什么样子？** 不是"它能用"。具体来说：当我做X时，工具以Z格式做Y。

这就是规格。它需要五分钟。它改变一切。

我是从惨痛经历中学到的。我的第二个真正的氛围编程项目：我输入 "给我构建一个\[每日AI摘要应用\]"，得到了一个能运行的东西。它获取内容。它生成摘要。它看起来像是我想要的80%。

然后我仔细一看。没有去重。同一篇文章出现了五次。数据库模式不符合我实际需要的。错误处理缺失。应用运行了，但它没有做我想让它做的事情，因为我没有定义那是什么。

问题不是Claude Code生成了不好的代码。我没有给它足够的方向。而Claude用它的最佳猜测填补了我留下的每一个空白。

AI就是做这个的。它填补空白。你的规格就是你在空白变成问题之前关闭它们的方式。

## 2、规格实际上是什么样的

不是一个文档。不是一个需求列表。只是在开始之前，用书面文字回答三个问题。

对于一个个人时间追踪器：

谁：就我自己。一个操作：记录我在做什么以及做了多久。完成：当我输入"report"时，我看到今天按项目划分的小时数。

对于一个发票生成器：

谁：我，为客户。一个操作：从客户名、项目、小时数和费率创建PDF发票。完成：PDF保存到本地，记录进入数据库。

就这样。每个两句话。Claude Code现在知道它在构建什么了。

对于你将在多个会话中处理的项目，那个规格会成为项目文件夹根目录中的一个`CLAUDE.md`文件。Claude Code在每个会话开始时自动读取它。无需重新解释。没有上下文崩溃。

```
# My Invoice Generator

A CLI tool that creates PDF invoices and logs them to a SQLite database.

## What's working
- Invoice creation from command line input
- PDF generation
- SQLite database logging

## In progress
- Email delivery of generated invoices

## Don't change
- The database schema (clients + invoices tables) — stable
- The PDF template — customized, don't touch

```

第一个项目不需要这个。但当你进行到同一个构建的第四个会话，Claude开始做出与你已有的东西相矛盾的建议时，这个文件就是为什么你不会发疯的原因。

在开始之前定义完成。其他一切都随之而来。

## 3、从哪个工具开始

两个决定。其他一切都可以等。

### 决定1：要不要终端？

**不要终端：** 从浏览器构建器开始。**Lovable**、**Bolt**、**v0**、**Replit**和**Base44**都有免费层级。你注册，描述你想要什么，它在浏览器窗口中构建东西。没有安装，没有命令行，没有需要设置的东西。

天花板是真实的。浏览器构建器对于UI原型和简单应用很快。一旦你想要做真正工作的东西（连接外部数据、按计划运行、处理复杂逻辑），你会比预期更快地触及限制。但对于第一个项目或视觉原型，它们工作得很好。

**要终端：** 从Claude Code开始。通过Claude Pro每月花费20美元。你需要一个终端。交换条件：Claude Code有完整的文件系统访问权限。它读取和写入你的实际项目文件，安装依赖项，运行命令，并在整个项目中维护上下文。这就是使二级和三级构建成为可能的原因。

### 决定2：Claude Code还是Cursor？

Cursor是内置AI的VS Code。如果你已经在代码编辑器中工作并且有一些开发背景，它很出色。如果你能评估AI建议，它们会非常强大。

如果你没有开发背景要从零开始构建，Claude Code是你想要的。终端界面不太熟悉，但对于非技术构建者来说，能力差距是真实的。

如果你不确定哪个描述你：如果你从未在生命中打开过VS Code，从Claude Code开始。

### 如何安装Claude Code

**Mac或Linux：**

```
curl -fsSL https://claude.ai/install.sh | bash

```

**Windows（PowerShell）：**

```
irm https://claude.ai/install.ps1 | iex

```

**使用Homebrew的Mac：**

```
brew install --cask claude-code

```

安装后，运行`claude --version`确认它工作了。然后运行`claude`开始。它会打开一个浏览器窗口来用你的Claude账户认证。登录，批准，返回终端。你进来了。

如果安装后`claude`给出"command not found"：关闭终端，打开一个新的。安装更新了你的PATH，但只在新会话中。

一条规则：选一个工具，坚持三个项目。在理解任何工具之前切换工具，最终会导致你对工具了解很多但发布不了任何东西。

一个工具。三个项目。其他一切都可以等。

## 3、你的第一次会话——实际发生了什么

大多数初学者带入氛围编程的心智模型：自动售货机。

投入请求，得到能工作的东西。当东西不能工作时，得出结论要么AI坏了，要么你做错了什么。

那个模型是错误的。如果你把它带进每个会话，它会让你付出几个月的代价。

Claude Code更像和一个有能力的承包商合作。一个能构建你描述的任何东西的承包商——但需要你描述"完成"是什么样子，标记什么最重要，并具体告诉他们什么不工作。输出质量直接追踪到你的方向质量。

## 4、真正的反馈循环

这就是循环。每个氛围编程会话都是这个循环的某种版本：

1. 用你的规格描述你想要构建什么
2. Claude构建一些东西
3. 你运行它
4. 你发现什么坏了或不符合预期
5. 你向Claude具体描述问题
6. Claude修复它
7. 回到步骤3

大多数初学者在步骤4放弃。他们运行了东西，它不能正常工作，他们得出结论他们失败了。

他们没有。步骤4正是他们应该在的地方。那是循环在工作。

## 5、"实现完成"不等于完成

当一半函数有TODO注释时，Claude会告诉你"实现完成"。当某个功能在它测试的特定情况下能工作，而在你真正关心的四种情况下不能工作时，它会告诉你一个功能"正常工作了"。

这不是bug。这就是AI编码智能体的工作方式。它们生成到从其上下文看起来完整的程度。你的工作是亲自运行它，找到边界情况，并具体地反馈回来。

"它不能工作"不是有用的反馈。

"当我点击提交，字段为空时，页面崩溃而不是显示错误信息"是有用的反馈。

从第一个到第二个的转变是核心技能。不是语法。不是计算机科学。是描述一个具体的损坏行为的能力。

## 6、第一次会话

预算30到60分钟。使用你在上一节中的规格。第一次会话通常是这样的：

- 你描述项目（规格）
- Claude构建一个第一版本，比你预期的快
- 你运行它并发现一些不能工作的东西
- 你具体描述问题
- Claude修复它，有时引入一个不同的问题
- 你发现那个问题
- 你修复那个

在这中间的某个地方，某些东西能工作了。不是所有东西。某些东西。那就是进步。

人们描述的魔法不是第一个提示词完美工作。是循环运行的复合效应。第一次会话你完成两到三次迭代。三个会话后，你运行十次。六个项目后，你已经培养了对什么该在规格中、什么该先测试、以及如何描述问题使Claude第一次就修复的感觉。

第一次会话就是调试。这不是一个坏信号。这就是开始的地方。

大多数初学者在步骤4放弃。步骤4正是他们应该在的地方。

## 7、80/20之墙

它会来的。可能在项目1或2。

80/20之墙是AI已经让你达到了一个可工作的构建的大约80%，而最后20%停滞不前的时刻。那最后的20%：边界情况、认证、部署、集成——使它在现实世界中真正工作的东西。恰恰是工具承诺你可以跳过的那些东西。

它没有撒谎。你可以跳过写代码。你不能跳过定义代码应该做什么。

有两种卡住的方式，它们需要不同的动作。

## 8、几乎能用的循环

**什么样：** 应用运行了但做了一些略微错误的事情。你描述问题。Claude修复了一个东西又破坏了另一个。你描述那个问题。Claude修复它，别的什么又坏了。一个小时后，你还在80%，你开始怀疑你是不是在让它变得更糟。

这是最令人沮丧的一种卡住，因为"几乎能用"一直在拉你前进。感觉你离成功就差一次修复。通常不是。

**怎么做：** 停止提示。

打开你在开始时写的规格。找到那一个真正坏了的东西。不是所有东西。那一个最重要的东西。用最大的具体性来描述它。

不是：*"表单还是不能工作。"*

而是：*"当我用一个有效的邮箱地址提交表单时，我得到一个500错误。控制台显示：\[粘贴精确的错误文本\]。提交按钮的处理函数在app.js第47行。"*

具体性就是那个动作。你给问题描述添加的每一个词都是Claude不需要猜测的一个词。

## 9、上下文崩溃

**什么样：** 你在一个项目上工作了几个会话。Claude开始做出与你之前构建的东西相矛盾的改变。它建议重写一个本来正常工作的函数。它似乎忘记了你决定了什么。

它没有忘记。它从来没有像人类协作者那样记住过。上下文窗口在长时间会话中会填满，对话的早期部分会掉出去。

**怎么做：** 开始一个新会话。在顶部，粘贴你的`CLAUDE.md`或写一段简短的总结：

*"我有一个Python脚本做X。我已经构建了Y和Z，它们正常工作。我现在试图修复的问题是..."*

那一段话重置了上下文。Claude现在知道什么存在以及具体问题是什么。

结构性修复：如果你在跨多个会话处理某个东西，上一节的`CLAUDE.md`文件不是可选的。它是让第四个会话与第一个会话保持一致的东西。

在你决定一个构建完成之前，用你关心的每种情况来运行它，不仅仅是正常路径。

80/20之墙不是一个失败状态。它是项目变得真实的地方。每个你认识的能发布东西的构建者都曾经卡在这里。他们有时仍然卡在这里。区别是他们已经学会了这两个动作，他们不会螺旋式下滑。

## 10、5项目进阶

一次穿过那堵墙是运气。五次穿过它就是一个系统。进阶的意义就在于此。

不是一个想法列表。一个学习进阶。

顺序很重要，因为每个构建都教会下一个所需的东西。

### 第一级：学习循环（项目1-2）

本地构建。不部署。不连接API。不需要在任何地方有账户或信用卡的任何东西。

第一级的唯一目标：在不放弃的情况下完成反馈循环三次。描述、构建、运行、发现什么坏了、描述问题、修复。在一个项目上做那个循环三次。就这样。

**项目1：个人时间追踪器**

```
Build a command-line tool that logs what I'm working on with a start/stop timer.
Store everything in a CSV file. Show today's total time by project when I type "report".

```

这教会什么：如何足够具体地描述某样东西使它被构建，以及当某些东西坏了时如何给出有用的反馈。

**项目2：文件整理器**

```
Write a Python script that looks at my Downloads folder and moves files into
subfolders by type: Images, PDFs, Spreadsheets, Other. Ask me before moving anything.

```

这教会什么：处理真实的文件系统状态。你的下载文件夹比Claude写的任何测试用例都混乱。脚本会在意想不到的东西上崩溃。那就是教训：如何描述什么坏了并让它被修复。

两个第一级构建之后，你已经完成了足够的循环，它开始感觉像一个方法，而不是一个意外。

### 第二级：学习连接（项目3-4）

这些构建与外部世界对话：API、数据库、真实数据源。构建本身不如你跨过的门槛重要。

一旦你把Claude Code连接到一个真实数据源（Gmail、数据库、实时API），它就不再是一个脚本工具。它变成了基础设施。那个转变改变了你认为可能的事情。

**项目3：邮件分类机器人**

```
Build a script that reads my Gmail inbox, summarizes unread emails from the
last 24 hours, and flags anything that looks like it needs a reply.
Use the Gmail API.

```

这需要Gmail API凭据（免费的，大约需要10分钟设置）。Claude Code会引导你完成设置。

这教会什么：与外部API合作，处理认证，以及处理不像测试数据的真实数据。

**项目4：研究聚合器**

```
Build a tool that takes a list of URLs, fetches the content from each,
summarizes each one in 3 sentences, and outputs a structured markdown report.

```

这教会什么：提示词链。脚本多次调用Claude，每个URL一次，你开始看到如何构建多步骤工作流，而不仅仅是单提示词脚本。

### 第三级：构建基础设施（项目5+）

不是一个工具。不是一个应用。是某个按计划运行并在你睡觉时做工作的东西。

项目和系统之间的区别：项目在你运行它时运行。系统自动运行，监视变化，并在没有你的情况下采取行动。

我的内容引擎是一个第三级系统。它每周运行研究摘要，拉取GSC数据，生成文章简报，并将一切提交到仓库，自动地，按计划。我完全通过氛围编程构建了它。它的代码并不令人印象深刻。它是实用的基础设施。

你不会在项目2达到第三级。但第一级和第二级中的每个构建都在教你使第三级成为可能的技能：如何规格化一个系统，如何处理失败，如何以输入和输出而不是按钮和屏幕来思考。

项目1教你循环。项目5给你惊喜。

## 11、第一周什么会出错（以及如何恢复）

每个氛围编程者都会碰到这四种模式。提前知道它们看起来像什么意味着你恢复得更快。

### 模式1：自动售货机墙

**什么样：** 你给Claude一个宽泛的请求。它构建了一些东西。你尝试运行它，它不工作，或者它能工作但做了错误的事情。你不知道接下来该说什么。

**怎么做：** 缩小下一个请求的范围。不要说"修复它"。具体说明什么坏了：*"当我运行脚本时，我得到这个错误：\[粘贴错误\]。错误发生在CSV写入步骤。"* 你越具体，Claude修复得越快。具体性就是技能。

### 模式2：上下文崩溃

**什么样：** 你在一个项目上工作了几个小时。Claude开始做出破坏你之前构建的东西的改变。它似乎忘记了你已经做了什么。

**怎么做：** Claude Code有一个上下文窗口。它只能保持这么多的对话历史，然后早期部分就会超出范围。当会话变长时，开始一个新会话并重新描述项目状态。

更好的长期修复：把你的项目描述放在项目文件夹根目录的`CLAUDE.md`文件中。

### 模式3：设置摩擦（终端墙）

**什么样：** 你无法通过安装步骤。某些东西无声地失败了，或者你得到一个你不理解的错误，你不确定是继续尝试还是重新开始。

**怎么做：** 把确切的错误消息粘贴到一个新的Claude对话中（不是你的项目会话）并说：*"我试图在\[Mac/Windows/Linux\]上安装Claude Code并得到了这个错误。这是什么意思以及我如何修复它？"* Claude非常擅长诊断安装错误。这是少数几个在尝试其他东西之前使用Claude进行故障排除可以节省时间的情况之一。

### 模式4：安全盲点

**什么样：** Claude构建了一些能工作的东西。你发布了它。后来你意识到它以明文存储了密码，或者在代码中暴露了API密钥，或者在一个接受用户数据的表单上没有输入验证。

AI生成的代码只有10.5%的时间能独立通过安全审查。这不是反对氛围编程的论据。它是关于知道该问什么的论据。

**怎么做：** 每次构建后，把这粘贴给Claude：*"审查这段代码的安全问题。重点关注：凭据和密码是如何存储的，是否有任何密钥被硬编码在代码中，用户输入是否在使用前被验证，以及文件路径是否被清理了。"* 你不需要理解修复方法。让Claude解释它发现的每个问题并修复它。

## 12、你真正需要的最低要求

氛围编程生态系统中存在两个错误答案。

"不需要编码"——技术上正确，实际上误导。它建立了自动售货机心智模型：投入请求，得到能工作的产品。然后当产品不能工作时，你得出你做错了什么。

"先学编码"——令人沮丧且不必要。旧的学习路径。在你发布了任何东西之前的八个月课程。

真正的答案更窄、更具体。

你实际需要什么：

**1\. 足够读取错误信息**

不是自己修复它。只是准确地描述它。

当某些东西坏了，Claude Code打印一个错误。复制整个错误。粘贴到对话中。说你当时在做什么。就这样。Claude Code在给出完整文本时非常擅长诊断错误。

技能：不要转述错误。不要说"它给出了关于什么的错误"。粘贴确切的文本。具体的错误信息是你能给Claude最有用的东西。

**2\. 足够识别什么时候某些东西坏了**

打开那个东西。点击按钮。尝试做它应该做的事情。它做了吗？它做了什么意想不到的吗？它崩溃了吗？

描述你观察到的。不是你的解释。你观察到的。

**3\. 一个安全习惯**

AI生成的代码只有10.5%的时间能独立通过安全审查。这不是反对氛围编程的论据。它是关于知道该问什么的论据。

我构建了一个图像查找应用，它以明文存储用户密码。我抓住了它，因为我知道那是错的。大多数初学者没有那个安全网。

在你与另一个人分享你构建的任何东西之前，或者把它放到服务器上之前：

```
Review this code for security issues. Focus on: how credentials and passwords
are stored, whether any secrets are hardcoded in the code, whether user input
is validated before being processed, and whether file paths are sanitized.

```

你不需要理解修复方法。让Claude解释它发现的每个问题并修复它。那次审查需要五分钟。跳过它就是你把真实的人的数据置于风险之中的方式。

技能是准确地描述一个问题。其他一切Claude处理。

## 13、下一步

### 如果你还没开始

现在就写你的规格。三个问题，五分钟：谁、一个什么操作、完成是什么样子。然后打开Claude Code或浏览器构建器并运行它。

不要选择完美的项目。选择你实际需要的一个项目。最好的第一个构建是一个解决你今天面临的问题的工具。

### 构建了一两个东西，想走得更远

进入第二级。邮件分类机器人（项目3）是大多数人报告改变了他们日常工作流程的一个。本周选一个第二级构建。

如果你在同一个构建上已经花了两周还没有发布：精简它。找到那一个能工作的功能并发布它。你可以稍后添加其余的。

### 定期发布，想深入

第三级是一个不同类型的挑战。一个没有你也能运行的系统不是一个你完成的项目。它是你维护的基础设施。规划纪律是不同的。

---

原文链接: [How to Start Vibe Coding: The Roadmap Nobody Gave You](https://buildtolaunch.substack.com/p/how-to-start-vibe-coding)

汇智网翻译整理，转载请标明出处

> **这是「AI 编程 / Vibe Coding」专题的一部分。**完整地图见：[AI 编程 / Vibe Coding 完全指南](https://www.hubwiz.com/blog/vibe-coding-stack/)