尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记 📅 2026/6/17 9:26:43 第三部分Claude Code 深度使用与进阶技巧学习目标在掌握安装与基础配置后深入掌握 Claude Code 的全部用法与进阶技巧让 AI 真正成为你的高效编程搭档 完成标志能熟练使用 Claude Code 完成完整开发流程并掌握高阶配置、最佳实践与进阶能力完成标志能熟练使用 Claude Code 完成完整开发流程并掌握高阶配置、最佳实践与进阶能力好到这里你已经能把 Claude Code 跑起来了。前面两部分你完成了第零部分准备好了开发环境Node.js、Git、VS Code 等第二部分了解了 AI 编程工具生态安装并配置好了 Claude Code也理解了不同模型的特点与选型策略但很多人就停在了这一步 —— 会用但用得不顺手。用久了你会发现三个问题它怎么把文件改坏了 → 你得学会管住它用着用着怎么变笨了 → 你得学会管理上下文它对每个人都一样怎么让它懂我 → 你得学会个性化配置本部分就是解决这三个问题的。先了解全局框架再逐个深入。Claude Code 的能力可以按7 层扩展Harness来理解。Anthropic 官方在 2026 年 5 月的企业级指南中总结了这个框架CLAUDE.md— 项目说明书每次会话自动加载Hooks— 事件触发器在特定时机自动执行Skills— 专业知识库AI 按需加载Plugins— 把 Skills Hooks MCP 打包分发LSP— 给 AI 装上 IDE 级的代码导航MCP— 连接外部工具和数据源子 Agent— 独立上下文并行干活前 3 层是基础配置后 4 层是高级扩展。本部分和第四部分会逐个展开。官方反复强调一个观点模型能力是地板配置质量才是天花板。花时间把配置做好比追最新模型版本更有实际收益。3.1 模型选择与切换配置好 API 后你可能会问“这么多模型我该用哪个” 这一节帮你解答。模型速度代码质量推理能力成本推荐场景Claude Haiku 4.5极快良好中等$ 较低简单代码补全、格式化、小修改Claude Sonnet 4.6快优秀强$$ 适中日常开发、功能实现默认推荐Claude Opus 4.7中等顶级极强$$$ 较高复杂架构设计、疑难 Bug、算法难题成本估算参考2026-05-18 核对模型输入费用输出费用一次普通编程对话费用Claude Haiku 4.5$1 / 百万 Token$5 / 百万 Token低成本批量处理Claude Sonnet 4.6$3 / 百万 Token$15 / 百万 Token日常开发主力Claude Opus 4.7$5 / 百万 Token$25 / 百万 Token复杂问题少量使用日常开发使用Sonnet就足够了。只在遇到特别复杂的问题时才切换到 Opus。Haiku 适合大批量处理简单的任务。在 Claude Code 中切换模型四种方式Claude Code 提供了四种模型切换方式按优先级从高到低排列方法一启动时指定临时使用# 使用模型别名推荐自动指向最新版本$ claude --model opus # 最强推理$ claude --model sonnet # 日常编码默认$ claude --model haiku # 快速轻量# 使用具体模型名时请以当前服务商官方文档为准$ claude --model opus$ claude --model deepseek-v4-pro[1m]方法二运行中切换使用斜杠命令在 Claude Code 对话中直接输入 /model # 打开模型选择器交互式 /model sonnet # 直接切换到 Sonnet /model opus # 直接切换到 Opus方法三环境变量持久设置# 设置默认使用的模型支持别名或具体名称export ANTHROPIC_MODELsonnet方法四配置文件持久设置推荐在settings.json中设置 model 字段重启即生效// ~/.claude/settings.json全局生效{ model: sonnet }// 项目/.claude/settings.json仅该项目生效{ model: opus }可以通过cc-switch查看配置文件层级说明配置文件位置作用范围是否提交 Git优先级~/.claude/settings.json全局所有项目否低项目 /.claude/settings.json当前项目团队共享是中项目 /.claude/settings.local.json当前项目个人私有否gitignore高不同模型的使用建议场景推荐模型理由日常功能开发Claude Sonnet速度和质量的最佳平衡简单代码修改 / 格式化Claude Haiku足够胜任成本最低复杂架构设计Claude Opus最强推理值得多花钱Bug 调试简单Claude Sonnet通常够用Bug 调试复杂Claude Opus 或 DeepSeek V4 Pro需要深度推理中文项目文档Claude Sonnet / 通义千问中文能力出色预算紧张DeepSeek API / GLM / Kimi按当前价格选择性价比方案离线 / 隐私敏感本地 Ollama 模型完全本地免费3.2 核心配置详解Claude Code 有多层配置体系从全局到项目级层层覆盖。配置层级全局配置影响所有项目~/.claude/settings.json项目级配置只影响当前项目项目根目录 /.claude/settings.json项目上下文文件告诉 AI 项目背景信息项目根目录 /CLAUDE.md← 最重要3.2.1 settings.json 配置文件Claude Code 的配置文件位于~/.claude/settings.json全局或项目目录下的.claude/settings.json项目级。复制到文件时把注释删掉。{ // 允许 Claude Code 执行的操作不再需要每次确认 permissions: { allow: [ Read, // 读取文件 Write, // 写入文件 Bash(npm *), // 执行 npm 命令 Bash(git *), // 执行 git 命令 Bash(node *) // 执行 node 命令 ], deny: [ Bash(rm -rf *) // 禁止执行危险的删除命令 ] }, // 默认使用的模型 model: sonnet, // 自动紧凑阈值上下文使用超过此比例时自动压缩 autoCompactThreshold: 80}注意权限设置要谨慎。过于宽松的权限可能导致 AI 执行你不期望的操作。建议初学者保持默认设置让Claude Code 在执行每个操作前都询问你确认。Setting.json 相关总结在用户自己的 setting.json 中配置 env 不对外暴露使用CCSwitch管理 env 不对外在工作目录里面创建.claude/setting.json或者.claude/setting.local.json添加允许的操作和禁止的操作3.2.2 CLAUDE.md你的项目 说明书CLAUDE.md是 Claude Code 中最重要的配置文件之一。它就像你给新来的实习生写的 项目入职手册—— 告诉 AI 这个项目的背景、技术栈、编码规范和当前进度。为什么 CLAUDE.md 如此重要没有 CLAUDE.md 时Claude Code 每次开始工作都要花时间 重新认识 你的项目。有了 CLAUDE.md它一启动就知道项目的全部背景效率大幅提升。CLAUDE.md 文件模板## 项目名称## 项目概述一句话描述这个项目做什么。## 技术栈- 前端Next.js 14 TypeScript Tailwind CSS- 后端Next.js API Routes- 数据库Prisma SQLite- 部署Vercel## 项目结构textsrc/├── app/ # Next.js App Router 页面│ ├── api/ # API 路由│ ├── layout.tsx # 全局布局│ └── page.tsx # 首页├── components/ # React 组件│ ├── ui/ # 通用UI组件│ └── features/ # 业务组件├── lib/ # 工具函数和配置├── prisma/ # 数据库 schema 和迁移└── types/ # TypeScript 类型定义## 编码规范- 使用函数式组件 React Hooks- 组件文件使用 PascalCase 命名如 BookmarkCard.tsx- 工具函数使用 camelCase 命名- API 路由返回统一格式{ success: boolean, data?: any, error?: string }- 所有数据库操作通过 Prisma Client 执行## 当前开发状态- 项目初始化完成- 数据库 Schema 设计完成- 书签 CRUD API 开发中- 前端页面待开发- 搜索功能待开发## 注意事项- SQLite 数据库文件在 prisma/dev.db不要提交到 Git- 环境变量在 .env 文件中不要提交到 Git- 所有新功能先创建 Git 分支再开发对于claude非常重要但是不一定要手写可以通过AI生成。CLAUDE.md 的三个层级由顶向下叠加生效很多人只知道 CLAUDE.md 可以放在项目根目录其实官方设计了 3 个层级的 CLAUDE.md它们会同时生效、不冲突层级路径作用范围适合写什么全局级~/.claude/CLAUDE.md所有项目都会读个人习惯、身份、翻译偏好如 “永远用中文回答”、“我是 xx、从事 xx”项目级项目根目录/CLAUDE.md仅本项目项目技术栈、架构、规范、进度可提交 Git团队共享文件夹级子目录/CLAUDE.md仅该子目录模块专属约定如src/payment/CLAUDE.md写支付模块踩过的坑三层叠加生效不冲突。优先级文件夹级 项目级 全局级。全局配置的claude.md模板参看## 沟通方式- 默认中文回复代码、命令、变量名、文件路径保持英文- 结论先行简洁直接不先铺垫背景- 不谄媚不夸“这是个很好的问题”不以“当然可以”开头- 给真实判断——方案有问题直接指出发现更好做法主动说明## Git- 不自动 git commit 或 git push除非我明确要求- 提交前先展示将要提交的变更摘要- commit message 使用简洁英文## 红线操作以下操作即使在 auto-accept 模式下也必须先问我- 删除文件、目录或 git 历史- 修改 .env、密钥、token、证书、CI/CD 配置- git push、git rebase、git reset --hard、强制推送- 公开发布npm publish、生产部署等两个官方推荐的创建姿势/init创建项目级在项目根目录下运行 claude 后输入/initCC 会自动扫描项目并生成一份 CLAUDE.md 初稿你再调整。官方建议项目有一定规模再/init效果更好太空它扫不出什么东西。/memory编辑全局级在 CC 会话里输入/memory选择 “全局 CLAUDE.md”会用默认编辑器打开该文件供你修改。修改全局后需重启 CC 才生效。最佳实践保持更新项目级 CLAUDE.md 应该是动态的 —— 项目加了功能、踩了坑就同步更新足够具体技术栈写明具体版本号目录结构要与实际一致写明禁忌把 “不要做什么” 也写清楚如 “不要修改数据库迁移文件”适度简洁不要写成论文AI 需要的是关键信息而非赘述只放 “顶层不变原则”随着实践你会发现CLAUDE.md 不该塞太多。卡帕西发布的「claude.skills」几百行通用规则就能拿 10 万 的 Star—— 写点 “顶层、不变、须严守” 的东西就够了。大牛的github路径https://github.com/multica-ai/andrej-karpathy-skills3.2.3 第二层记忆Auto Memory (cc 自己的笔记本)如果说CLAUDE.md是你主动立下的规矩那Auto Memory就是 cc 在干活过程中默默记下的设计笔记。你没显式写进 CLAUDE.md 的习惯、反馈、项目踩坑会被一个后台 agent 静静记录。如何启用在 cc 会话中输入/memory在弹出的菜单里选第一个选项「启用 Auto Memory」启用后菜单里会多出「打开自动记忆文件夹」选项Auto Memory 会记录的内容分类类型含义举例user关于你本人你的角色、偏好如 “不喜欢深色 UI”feedback你给出的操作反馈“不要这样做”、“就这样”project项目相关信息项目进度、技术决策、技术选型reference外部资源索引“某份设计文档在 docs/design.md”使用手感重要作用范围限制仅在当前项目生效记忆文件保存在项目目录切换项目后需要重新积累记忆。Token 占用优化逻辑启用后 CC 不会一次性加载全部记忆到上下文仅读取memory.md索引文件只有处理对应业务问题时才加载匹配的子记忆文件大幅减少 Token 消耗。记忆查看快捷键会话内按下CtrlO可直接查看本次对话实际调取过的记忆内容。错误记忆清理方式直接用自然语言指令删除错误记录示例指令忘掉刚刚说的不喜欢深色主题工具会自动删除对应记忆条目。提示CLAUDE.md 与 Auto Memory 核心区分一句话总结两者定位CLAUDE.md属于第一优先级、全量注入的显性规则Auto Memory属于第二优先级、按需加载的隐性记忆。两者搭配使用CC 会持续适配你的个人开发习惯。3.2.4 第三层记忆自建参考文档渐进式披露除了 CLAUDE.md、Auto Memory 两层记忆还可以仿照 Skill 的「渐进式披露」机制手动为 CC 搭建专项外部参考文档。应用场景部分规范内容篇幅过长、专业性强不适合全部写入 CLAUDE.md但 CC 处理对应业务时必须读取查阅例如产品开发场景拆分如下品牌视觉规范颜色、字体、间距→docs/brand-visual.md产品文本风格语调、统一术语表→docs/copywriting-style.mdAPI 交互约定请求响应格式、错误码定义→docs/api-conventions.mdCLAUDE.md 内配置指引模板## 外部参考文档- 修改前端视觉、调整颜色 / 间距时必读 docs/brand-visual.md- 撰写产品文案、按钮文字、页面提示语时必读 docs/copywriting-style.md- 编写 API、定义接口返回格式时必读 docs/api-conventions.md个人理解一个项目有一个整体的CLAUDE.md文档针对一个项目的各个功能流程可以不断补充自建参考文档并在 CLAUDE.md 中引入当后续需要修改该功能的时候CC 就会读取指定的功能自建文档并不断优化扩展该文档让 CC 更了解。我们就不用写代码只要不断优化该文档即可。核心优势CC 仅在处理对应业务需求时才加载完整外部文档既能保证输出规范准确又不会占用多余上下文 Token。3.2.5 三层记忆总览Claude Code 三层记忆体系流程 第一层CLAUDE.md手动编写会话全量加载→ 第二层Auto MemoryCC 自动记录按需读取→ 第三层自建参考文档手动编写匹配任务时读取层位置优先级加载方式维护方1CLAUDE.md三级目录高会话启动全量加载手动维护2Auto Memory中先读取索引按需加载对应子文件CC 自动生成人工校对修改3自建参考文档按需CC 触发对应任务才读取手动维护本质认知Agent 全部记忆机制的底层逻辑在合适时机向大模型注入压缩后的上下文。简单来说三层记忆本质属于提示词工程只是由 CC 完成分层、结构化管理。3.2.6 .claudeignore 文件功能说明作用类似.gitignore用于配置过滤规则告知 Claude Code 哪些文件、目录无需读取、扫描。基础配置示例# .claudeignore 示例node_modules/ # 依赖包目录体积庞大AI无需读取.next/ # Next.js 构建产物dist/ # 编译输出目录*.log # 所有日志文件.env # 环境变量文件包含密钥等敏感信息CC帮我优化后内容