如何正确开始氛围编程

规格习惯、80/20之墙和5项目进阶——安装前后你需要知道的一切

如何正确开始氛围编程
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署
AI模型价格对比 | AI工具导航 | ONNX模型库 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

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

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

或者你还没开始。你读了三篇"初学者指南",它们都说了同样的话(选择CursorLovable,写清楚的提示词,迭代)——我在同一个规格上测试了所有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:要不要终端?

不要终端: 从浏览器构建器开始。LovableBoltv0ReplitBase44都有免费层级。你注册,描述你想要什么,它在浏览器窗口中构建东西。没有安装,没有命令行,没有需要设置的东西。

天花板是真实的。浏览器构建器对于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

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