第 2 章

AI 使用说明书

掌握 AI 编程的经济学原理,建立标准工作流,配置高效开发环境,让 AI 更好地为你工作。

AI 编程的经济学

核心原则:Token 就是钱

每次你让 AI 读取项目文件、搜索代码、生成回答,都在消耗真实的费用。上下文越大,花费越高。读取整个项目 vs 只读一个文件,差异是数量级的。

但更重要的是——精准的上下文不仅省钱,还能让输出更准确。 优化提示词不是"打磨话术",而是减少 AI 需要读取的上下文范围。

精准上下文策略

❌ 模糊描述

"帮我看看项目有什么问题"

→ AI 需要读取整个项目,消耗大量 Token

✅ 精准指定

"检查 `src/utils/auth.ts` 中的登录逻辑"

→ AI 只读取相关文件,Token 消耗减少 90%

优化技巧

  • 指定文件路径:比模糊描述更好
  • 指明功能范围:比笼统说"项目有问题"更聚焦
  • 删除客套话:不设定专家角色,直接说任务
  • 使用摘要:长文档用摘要而非全文
  • 监控使用:定期检查 Token 使用统计,识别浪费

成本优化示例

读取整个项目(100+ 文件)~50,000 Tokens
只读取相关文件(3-5 个文件)~5,000 Tokens
💡 精准上下文可以节省 90% 的成本,同时提高输出准确性

VibeCoding 工作流

核心洞察:Vibecoding 的核心是 Workflow 而不是 Prompt

你之前是想到哪里做到哪里,让 AI 直接开写,但这样往往会导致返工。 真正的高手不是靠配置,而是靠说话的艺术标准流程

给 AI 一个"出口"

AI 有时候不知道答案,但会强行编造一个。告诉它:"如果不确定,就明确说出来,等待我的确认,而不是强行编造。"

示例 Prompt:
"如果你不确定某个实现细节,请明确标注 [需要确认],
并说明你的假设,等待我的确认后再继续。"

五步标准流程

1

探索项目结构

先了解项目结构,避免写到一半才发现文件已经写过了

2

规划实现步骤

列出实现步骤,让 AI 按计划执行,而不是想到哪里写哪里

3

编码实现

按照规划逐步实现功能,每完成一步就验证

4

测试验证

验证功能是否正常工作,检查边界情况和错误处理

5

提交代码

每完成一个独立功能就提交代码,建立版本记录

避免返工的方法

  • 先探索再编码:了解项目结构后再开始写代码
  • 规划实现步骤:列出步骤让 AI 按计划执行
  • 阶段性验证:每完成一步就验证,不要等到最后
  • 及时提交:每完成一个功能就提交,方便回退

拓展:多代理系统

当你熟练掌握核心工作流后,可以探索多代理系统:让多个 AI 协同工作, 一个写代码,另一个审查;一个写测试,另一个写文档。它们可以并行处理提高效率,或串行处理保证质量。

版本控制 Git

AI 编程非常激进,必须建立安全网

AI 可能为了修一个 Bug 而破坏三个旧功能。所以必须配置好 Git, 建立高频的本地版本记录

高频提交策略

每当你完成一个独立功能的开发,或修复完一个 Bug 并验证通过后,请自动运行 git commit 提交代码。

标准流程:
1. AI 写完功能 → 验证通过
2. 运行 `git add .`
3. 运行 `git commit -m "feat: 添加用户登录功能"`
4. 继续下一个功能

Commit Message 规范

使用简洁的中文 commit message,清晰描述本次提交的内容。

✅ 好的示例
feat: 添加用户登录功能
fix: 修复登录页面的样式问题
refactor: 重构用户认证逻辑
❌ 不好的示例
更新代码
fix bug
changes

随时可以回退

一旦代码搞崩了,随时可以回退到上一个稳定版本。

回退命令:
# 查看提交历史
git log --oneline
# 回退到上一个提交
git reset --hard HEAD~1
# 回退到指定提交
git reset --hard <commit-hash>

配置技巧

除了选对工具,还有三招让 AI 更加好用的技巧,解决 AI 记性差、瞎胡写的问题。 不同工具有不同的配置方法,下面我们按工具分类介绍。

4.1 Cursor 配置

项目规则 (.cursorrules)

在项目根目录创建 .cursorrules 文件,定义项目规范。

示例 .cursorrules:
# 代码规范
- 禁止使用 `any` 类型
- 强制使用 `pnpm` 作为包管理器
- 所有组件必须使用 TypeScript
- 遵循 ESLint 和 Prettier 配置
- 使用函数式组件和 Hooks
- 所有 API 调用必须包含错误处理

创建 Skills

Skills 存储在 .cursor/skills/ 目录下,使用 Markdown 格式。

创建步骤:
  1. 创建 .cursor/skills/ 目录
  2. 创建 skill-name.md 文件
  3. 编写 Skill 描述和指令
  4. 在 Cursor 中调用 Skill
示例 Skill:
# 代码审查 Skill ## 用途 自动审查代码质量 ## 指令 检查代码是否符合团队规范: - TypeScript 类型安全 - 错误处理完整性 - 代码可读性

MCP 服务器配置

.cursor/mcp.json 中配置 MCP 服务器。

.cursor/mcp.json:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem"],
      "env": {
        "ALLOWED_DIRECTORIES": ["/path/to/allowed"]
      }
    }
  }
}

Agent 模式使用

在 Cursor 中按 Cmd/Ctrl + K 打开 Agent 模式, 或使用 Cmd/Ctrl + L 打开 Chat 模式。

  • Agent 模式:AI 可以自动执行多步骤任务,修改多个文件
  • Chat 模式:与 AI 对话,获取建议和代码片段
  • Composer:组合多个操作,批量处理任务

4.2 Claude Code 配置

MCP 服务器配置

Claude Code 的 MCP 配置在 ~/.claude/mcp.json 或项目目录的 .claude/mcp.json

~/.claude/mcp.json:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token"
      }
    },
    "sequential-thinking": {
      "command": "node",
      "args": ["path/to/sequential-thinking-server.js"]
    }
  }
}

创建 Skills

Claude Code Skills 存储在 ~/.claude/skills/ 目录下。

创建步骤:
  1. 创建 ~/.claude/skills/ 目录
  2. 创建 skill-name.md 文件
  3. 编写 Skill 描述(Markdown 格式)
  4. 在终端中使用 @skill-name 调用

4.3 Codex CLI 配置

项目规则 (.codexrules)

在项目根目录创建 .codexrules 文件,或使用 /init 命令自动生成。

使用 /init 命令:
codex /init
→ 自动分析项目结构
→ 生成 .codexrules 文件
手动创建:
# .codexrules 项目使用 TypeScript + React 使用 pnpm 作为包管理器 遵循 Airbnb ESLint 配置

Monorepo 分析配置

Codex CLI 可以分析大型 Monorepo 项目,需要配置工作区信息。

  • 自动检测:Codex 会自动检测 Monorepo 结构
  • 工作区配置:在 .codexrules 中指定工作区路径
  • 上下文管理:只加载相关工作区的代码

4.4 其他工具配置

Windsurf

  • Fast Context:自动配置,无需手动设置
  • Cascade Agent:在设置中启用
  • 项目规则:使用 .windsurfrules 文件

GitHub Copilot

  • 项目规则:使用 .github/copilot-instructions.md
  • 相关文件:自动识别相关文件上下文
  • 代码补全:在设置中配置补全行为

Continue.dev

  • 配置文件.continue/config.json
  • 自定义模型:配置本地模型(Ollama)
  • 上下文提供者:配置代码库上下文

Fabric

  • Patterns:存储在 ~/.config/fabric/patterns/
  • 自定义 Pattern:创建 pattern-name.md
  • API Key:在环境变量中配置

高效调试心法

有了 AI,遇到错误不要慌

但要让 AI 帮你,你得学会正确的求助方式

第一:提供完整报错日志

新手看到满屏红色报错往往害怕,只复制最后一行。但 AI 就像医生,需要看到完整的症状才能准确诊断。

❌ 错误做法
Error: Cannot read property 'x' of undefined

→ 信息不足,AI 无法诊断

✅ 正确做法
Error: Cannot read property 'x' of undefined at UserService.getUser (src/services/user.ts:45:12) at UserComponent.handleClick (src/components/User.tsx:23:5) ...完整堆栈信息...

→ 完整信息,AI 可以精确定位

💡 操作建议:把那些看起来最长、最复杂的红色错误信息—— 原封不动地全选、复制、发送给 AI。

第二:循环修复模式

如果 AI 第一次没修好,不要放弃。描述你尝试后的结果,让 AI 持续尝试。

循环修复流程:
  1. AI 给出修复方案
  2. 你按照方案修改代码
  3. 如果出现新错误,描述结果:"我按你的方法改了,但现在出现了新的错误..."
  4. AI 根据新信息继续修复
  5. 重复 2-4 步,直到问题解决

💡 经验:大多数 Bug 都需要 2-3 轮迭代才能解决。 不要期望 AI 一次就能修好所有问题。

常见错误类型和处理

类型错误
TypeScript 类型不匹配
💡 提供类型定义和错误信息
运行时错误
代码执行时崩溃
💡 提供完整堆栈信息和相关代码
逻辑错误
功能不符合预期
💡 描述期望行为和实际行为
依赖错误
包安装或导入失败
💡 提供 package.json 和错误信息

学习成果

完成本章后,你将:

  • 1掌握 Token 成本优化策略,精准控制上下文范围,节省 90% 的成本
  • 2建立标准 VibeCoding 工作流,掌握五步开发流程,避免返工
  • 3配置项目规则和 Skills,让 AI 记住项目规范,提升代码质量
  • 4掌握高效调试方法,学会正确的求助方式,快速解决问题
  • 5建立高频 Git 提交习惯,随时可以回退,建立安全网