Insights·2026-07-07

在氛围编程中遇到的文件格式,该如何区分?

非开发者在氛围编程(vibe coding)中遇到的数十种文件格式,其实只分三类:装数据的容器(CSV、JSON、XML)、在屏幕上呈现的东西(HTML、Markdown),以及设置与机密(YAML、.env)。你不必逐一背下每个扩展名。遇到陌生文件时,只要判断「这是数据、画面,还是设置」,入门门槛就消失了一半。

为什么在代码之前先卡在扩展名上

学习氛围编程的人,会在代码之前先卡住的地方,是文件扩展名。当 .json、.yaml、.env、.md 这类陌生扩展名扑面而来时,他们便以「果然我不是开发者」放弃了。然而这数十种格式只分三类。

装数据的容器、在屏幕上呈现的东西、设置与机密。只要抓住这三条分支,即使是从没见过的扩展名,也能大致感觉到它属于哪个盒子。下表就是那张地图。

格式全称分类一句话定义
CSVComma-Separated Values(逗号分隔值)数据去掉一切格式的电子表格
JSONJavaScript Object Notation(JavaScript 对象表示法)数据贴了标签的盒子(应用与 AI 的通用语)
XMLeXtensible Markup Language(可扩展标记语言)数据用标签包裹的旧式数据
HTMLHyperText Markup Language(超文本标记语言)画面网页的骨架
Markdown (.md)并非缩写 · 源自 markup 的谐名画面用几个符号排版的文字
YAMLYAML Ain't Markup Language(指向自身的递归缩写)设置用缩进整理的设置
.envenvironment(环境变量)机密存放 API 密钥与密码的保险箱
TXTtext(纯文本)其他毫无规则的纯字符

装数据的格式:CSV、JSON、XML

CSV 是去掉所有颜色与格式、用逗号分隔各列的纯表格。第一行是列名,从下一行起是数据。从商城下载的订单记录或问卷结果通常就是 CSV,直接交给 AI 分析也很方便。

JSON 是当今程序之间交换数据的事实标准。每个值都带着标签,还能在盒子里再套盒子。AI API 的响应、应用的设置、数据库的结果几乎都是 JSON,所以氛围编程时最常遇到它。

XML 是把同样的数据用一开一合的标签包裹起来的旧方式。政府机关和银行的老系统里仍在使用,有趣的是,把 Excel 文件(.xlsx)拆开来看,里面就是 XML。新做项目时,人们通常会选更轻的 JSON。

把三种格式用同一笔订单并排放在一起,样貌一眼就能看清。

orders.csv
order_id,name,price,qty,status
1001,Americano,4500,2,paid
1002,Cafe Latte,5000,1,paid
1003,Cold Brew,5500,3,pending
1004,Espresso,4000,1,cancelled
response.json
{
  "customer": { "id": "sh", "name": "SH Consulting", "vip": true },
  "orders": [
    { "item": "Americano", "price": 4500, "qty": 2 },
    { "item": "Cold Brew", "price": 5500, "qty": 3 }
  ],
  "total": 25500,
  "paid": true
}
order.xml
<order id="1001" status="paid">
  <customer>SH Consulting</customer>
  <items>
    <item qty="2">
      <name>Americano</name>
      <price>4500</price>
    </item>
    <item qty="3">
      <name>Cold Brew</name>
      <price>5500</price>
    </item>
  </items>
  <total>25500</total>
</order>

呈现的格式:HTML、Markdown

HTML 是浏览器绘制画面的蓝图。标签指定「这是什么」——<h1> 是标题、<p> 是段落、<button> 是按钮。用氛围编程做出的网站或邮件通讯全是 HTML,骨架(HTML)、装饰(CSS)、动作(JavaScript)作为一套一起运作。

Markdown (.md) 是用 # 或 - 这类简单符号来表现排版的文字。学习只需五分钟,带着符号也能读懂,渲染后就成为整洁的文档。GitHub 的 README、AI 聊天机器人的回答、Notion 备忘录大多是 Markdown。

index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>SH Consulting</title>
  </head>
  <body>
    <h1>Hello</h1>
    <p>We help teams adopt AI.</p>
    <ul>
      <li>Corporate training</li>
      <li>Vibe coding</li>
    </ul>
    <button>Contact us</button>
  </body>
</html>
README.md
# Project Title

A short intro paragraph goes here.

## Install

- npm install
- npm run dev

## Features

- First feature
- Second feature
- Third feature

> A blockquote looks like this.

**Bold**, *italic*, and a [link](https://sh.consulting).

设置与机密:YAML、.env

YAML 是与 JSON 相同的数据,用缩进代替括号来整理。它对人类友好,因此常用于部署设置和应用环境配置。只是要当心:错一个空格就会整体崩坏,务必留意缩进。

.env 是把 API 密钥、密码等敏感值与代码分离存放的文件。接入 AI 服务时,密钥就放在这里。有一条铁律:绝不能把 .env 推送到公开仓库。那等于把整把钥匙交给陌生人。因此通常用 .gitignore 将其排除。

config.yaml
app:
  name: my-app
  port: 3000
  debug: false

database:
  host: localhost
  port: 5432
  name: shdb

features:
  - login
  - search
  - export

users:
  - name: sh
    role: admin
  - name: guest
    role: viewer
.env
# Server
PORT=3000
NODE_ENV=production

# AI / external API keys
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
AZURE_OPENAI_ENDPOINT=https://example.openai.azure.com

# Database
DATABASE_URL=postgres://user:pass@localhost:5432/shdb

只看扩展名就能有感觉的方法

核心直觉很简单。CSV、JSON、XML、YAML 是数据,即内容物。HTML、Markdown 是呈现的文字与画面。.env 是机密。只要一看扩展名就有「这是数据、这是画面、这是设置」的感觉,就足够了。

从 AX(AI 转型)的角度看,这种直觉比想象中重要。非开发者用 AI 做东西时,真正的障碍往往不是代码语法,而是对陌生文件的模糊恐惧。当你握住把扩展名分成三类的地图,陌生文件便不再可怕。氛围编程,正是从那一刻真正开始。