AI Coding 核心知识(实战导向)

聚焦 Vibe Coding + Claude Code 实战流程,教你如何高效控制 AI 写代码


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
锁定技术栈, 编码风格, 基本要求
my-project/
├── specs/
│ ├── PRD.md # 产品需求文档
│ ├── SPEC.md # 技术规范
│ ├── ARCHITECTURE.md # 架构设计
│ └── API.md # API 接口文档
├── src/ # 源代码
├── CLAUDE.md # 给Claude Code的项目说明
└── package.json

几个现实场景:
AI乱改公共工具类,只加一个新函数却重写了整个文件, 还git 提交 别人的项目运行不了
每次新会话,AI都忘记项目技术栈和代码风格
错误信息污染上下文,AI陷入错误方向死循环
AI偷偷读取.env和.ssh目录,安全风险
Git“血流成河”, 错误代码提交, 代码写错了回滚不回来
垃圾产物 加日志 加文档 加测试代码
你说的需求ai不理解,需求做偏

一、AI Coding 的核心认知

1. 什么是 AI 辅助编程

  • 传统编程:你一行一行写代码,关注“怎么做”(How),被很多人吐槽为:古法编程
  • AI 编程:你用自然语言描述需求,AI 负责实现,你关注“做什么”和“为什么”(What & Why)
  • 你的角色从打字员变为指挥官/产品经理

2. AI 编程的发展阶段

阶段 代表 特点
① 智能补全 GitHub Copilot 补全一行或几行代码,仍需你手写大部分
② 对话式编程 ChatGPT、Claude.ai 问答式生成代码,但需手动复制粘贴,AI 不了解项目全貌
③ 智能体编程🚩 Claude Code、Cursor Agent AI 自主读文件、写代码、运行命令、自我纠错——全自动任务执行
④ 协作工程(正在形成) 多 Agent 协作 多个 AI 分工(设计、编码、测试、审查),你当“项目总监”

我们现在处于阶段③,以 Claude Code 举例。

《Claude Code 企业级实战手册》

核心理念:AI 编程不是“全自动无人驾驶”,而是“战斗机飞行员模式”。你是机长,Claude Code 是副驾驶——航线由你定,危险时刻你接管,落地后你检查跑道。


第一章:起飞前的“机库检查”(全局配置)

在打开第一个对话前,必须把全局环境锁死。这能避免 AI 在不同项目中“精神分裂”。

1. 全局 settings.json(网络与模型路由)

如果你使用代理或第三方 API 网关,需在 ~/.claude/settings.json 中固定路由,防止因网络波动导致任务中断:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "PROXY_MANAGED",
"ANTHROPIC_BASE_URL": "http://127.0.0.1:15721", // 你的网关地址
// 模型映射(将官方模型映射到你的实际可用模型)
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5",
"ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-8",
"ANTHROPIC_DEFAULT_OPUS_MODEL_NAME": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_SONNET_MODEL_NAME": "deepseek-v4-pro",
// 关键参数:让 AI 思考更充分
"CLAUDE_CODE_EFFORT_LEVEL": "max",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash"
},
"theme": "dark"
}

2. 全局 CLAUDE.md(个人通用“宪法”)

放在 ~/.claude/CLAUDE.md,用于定义你个人的语言偏好、编码风格和底线规则(项目级配置会覆盖它):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 个人全局 CLAUDE.md 配置

## 👤 个人偏好
- **沟通语言**:全程使用中文回复,方案要简洁直接,别废话。
- **代码注释**:优先用中文写注释,关键逻辑(如鉴权、加密)必须解释清楚。
- **包管理器**:优先级 `pnpm` > `yarn` > `npm`。
- **时区**:Asia/Shanghai (UTC+8)。

## 🧹 编码铁律
- **类型安全**:TypeScript 必须 strict 模式,Python 必须 type hints,禁止使用 `any`。
- **可读性优先**:清晰 > 炫技,拒绝过度设计。
- **不可变性**:优先 `const` / `readonly`,减少副作用。

## 🔒 安全红线
- **禁止提交**:API Key、密码、Token 等敏感信息。
- **危险操作**:任何涉及生产数据的删除/修改,必须先向我确认。

第二章:新项目“立项”(初始化与规范锁定)

空项目启动时,千万不要上来就让 AI 写代码。先做“需求对齐”。

第一步:Plan 模式聊需求

使用 /plan 进入规划模式(此时 AI 不能改代码),与 AI 讨论:

  • 业务目标(做什么)。
  • 技术选型(用什么框架、数据库、ORM)。
  • 目录结构(怎么组织代码)。

第二步:生成并锁定“合同文档”

将讨论结果沉淀到项目根目录的 specs/ 文件夹下(手动塞给 AI,或让 AI 生成初版):

1
2
3
4
5
6
7
8
9
10
my-project/
├── specs/
│ ├── PRD.md # 产品需求(用户故事)
│ ├── SPEC.md # 技术规范(数据库设计、API 定义)
│ ├── ARCHITECTURE.md # 架构图与分层逻辑
│ └── API.md # 接口契约
├── .claude/
│ └── settings.json # 项目级权限配置
├── CLAUDE.md # 项目级说明(覆盖全局)
└── package.json

第三步:项目级 settings.json(打开权限笼子)

在项目根目录创建 .claude/settings.json,授权常用命令,但锁死自杀指令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"permissions": {
"allow": [
"Read",
"Write",
"Bash(npm *)",
"Bash(git *)",
"Bash(node *)",
"Bash(pnpm *)"
],
"deny": [
"Bash(rm -rf *)" // 绝对禁区
]
},
"model": "sonnet",
"autoCompactThreshold": 80 // 上下文超过 80% 自动压缩
}

第四步:项目级 CLAUDE.md(专属本地规则)

在项目根目录写 CLAUDE.md,明确告知 AI 本项目的技术栈与怪癖。同时执行 /init 命令,让 AI 自动扫描分析整个项目结构并补充理解。


第三章:核心工作流(最小单元 + 即时反馈)

这是你经验中最精华的部分。切忌“甩手掌柜”模式,你的角色是监督者/架构师。

开发节奏(循环迭代)

  1. 拆分大任务:将需求拆解为“独立功能单元”(例如:不叫“做登录”,而叫“建 User 表 -> 写注册 API -> 写登录 API -> 加 JWT 中间件”)。
  2. 讨论方案(先脑后手):针对当前最小单元,先和 AI 讨论技术细节,确认修改涉及哪些文件。
  3. 提交保护点(黄金刹车):**让 AI 或自己先执行 git commit -m "改前存档"**。这是你最重要的后悔药。
  4. 执行开发:让 AI 动手编码。
  5. 即时验收:
    • 成功:自测通过后,立即 git commit 并推送到远程仓库。
    • 失败/死循环:如果遇到问题长时间(如超过 5-10 分钟)无法解决,不要恋战,立即 git checkout . 回滚代码,然后换个思路或开新会话。
  6. 处理冲突:整体功能完成后,及时拉取远程主分支代码,有冲突立即解,不要堆积到最后(避免“冲突地狱”)。

第四章:过程控制的“潜规则”(易忽略但致命)

1. 不要污染上下文(垃圾屏蔽)

  • ❌ 禁止:“顺便帮我生成个 API 文档”或“加几个测试用例”。
  • ✅ 原则:除了必要的功能性修改,禁止 AI 胡乱添加日志、文档和测试代码,这些会迅速占满上下文窗口,导致 AI 变笨。

2. 善用“记忆”减少重复劳动

如果你发现某个操作习惯(比如“我喜欢用 Zod 校验所有输入”)每个会话都要说一遍,直接告诉 Claude:“请记住:所有 API 输入必须用 Zod 校验”。它会写入 Memory,下次新会话自动 Recall。

3. 需求变更一定要改文档

当业务逻辑发生重大变化,必须回头修改 specs/ 下的对应文档。代码是 AI 写的,但架构蓝图必须由你维护。文档不改,下次 AI 一定会写回旧逻辑。


第五章:写给管理者和新手的“定位总结”

过去的角色 现在的角色 核心变化
开发者(手写每一行) 产品架构师 / 监督者 关注“做什么”和“为什么”,而非“怎么敲”
执行者(听从指令写代码) 指挥官(下达清晰任务) 任务描述越精准,产出质量越高
被动调试(看报错改代码) 质量闸门(审核方案、验收结果) 代码错了可以回滚,方向错了成本巨大

坦诚面对现状:目前的 AI 编程(包括 Claude Code)依然处于“摸索上升期”。在企业级项目中,绝对不要完全放纵 AI 肆意编程。控制流程、审查代码、及时回滚,这“三把斧”是保证项目生命线的基石。


最终口诀

1
2
3
4
5
6
7
先聊需求后锁版(Plan模式锁定技术栈)
全局项目两层配(settings & CLAUDE.md)
最小单元拆得细(功能切碎)
动手之前先提交(Git存档防崩掉)
测过即推不过滚(Git回滚是救命稻草)
文档随变及时改(保持蓝图最新)
自己不当甩手掌柜(监督过程,把控方向)