claude code 不完全使用指南
安装和入门
开始使用
官方文档:Claude Code 概览
claude code 是 Anthropic 开发的代理编码工具,目前已经有了比较稳定的版本和生态,是提高程序员工作效率的利器,强烈推荐尽快掌握!
本质上claude code这个程序只是在调用LLM/VLM 的API 来处理任务,如果不能使用 Anthropic 提供的服务/ Anthropic价格太贵,可以有很多其他的替代选择,比如GLM Coding Plan,或者各种claude中转服务。设置的原理就是靠修改 ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN。
如果有多个供应商,你也可以使用 [[CC-Switch]] 来可视化管理这些API key,以及claude code 的skills。
# 多平台安装指令
curl -fsSL https://claude.ai/install.sh | bash
## Claude Code 配置 GLM Coding Plan
curl -O "https://cdn.bigmodel.cn/install/claude_code_env.sh" && bash ./claude_code_env.sh
## 手动配置Claude-code
export ANTHROPIC_BASE_URL="https://codeyy.top"
export ANTHROPIC_AUTH_TOKEN="my_ANTHROPIC_AUTH_TOKEN"
export ANTHROPIC_BASE_URL="https://open.bigmodel.cn/api/anthropic"
export ANTHROPIC_AUTH_TOKEN="my_ANTHROPIC_AUTH_TOKEN"
进一步的,还有claude-code-router这种项目,可以帮助把 OpenAI 格式的 API 转换成 Anthropic 格式的 API, 以实现 claude code 理论上可以接入任何API格式的供应商。 另外,还有类似的产品/应用程序,比如codex、 Gemini CLI,使用逻辑上也比较相似。
目前我使用的是 claude code+GLM Coding Plan, 已经能满足需求,暂时没有尝试更加先进的模型。
配置
类似 VS Code 的配置生效策略,claude code 也设计了多层配置:
| 作用域 | 位置 | 影响范围 | 与团队共享? |
|---|---|---|---|
| Managed | 系统级 managed-settings.json |
机器上的所有用户 | 是(由 IT 部署) |
| User | ~/.claude/ 目录 |
您,跨所有项目 | 否 |
| Project | 存储库中的 .claude/ |
此存储库上的所有协作者 | 是(提交到 git) |
| Local | .claude/*.local.* 文件 |
您,仅在此存储库中 | 否(gitignored) |
具体参考官方文档: claude code 配置
[[我的claude code 配置]],主要可以配置指令权限、读写文件夹权限、沙箱模式。
Memory
使用大模型很重要的一点是上下文,claude code中可以通过 Manage Claude's memory 来管理,实现更加智能化的编程体验。
Claude Code 在分层结构中提供四个内存位置,每个位置都有不同的用途:
| 内存类型 | 位置 | 用途 | 用例示例 | 共享对象 |
|---|---|---|---|---|
| 企业策略 | • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md • Linux: /etc/claude-code/CLAUDE.md • Windows: C:\Program Files\ClaudeCode\CLAUDE.md |
由 IT/DevOps 管理的组织范围内的说明 | 公司编码标准、安全策略、合规要求 | 组织中的所有用户 |
| 项目内存 | ./CLAUDE.md 或 ./.claude/CLAUDE.md |
项目的团队共享说明 | 项目架构、编码标准、常见工作流 | 通过源代码控制的团队成员 |
| 项目规则 | ./.claude/rules/*.md |
模块化、特定主题的项目说明 | 特定于语言的指南、测试约定、API 标准 | 通过源代码控制的团队成员 |
| 用户内存 | ~/.claude/CLAUDE.md |
所有项目的个人偏好设置 | 代码样式偏好、个人工具快捷方式 | 仅您(所有项目) |
| 项目内存(本地) | ./CLAUDE.local.md |
个人的项目特定偏好设置 | 您的沙箱 URL、首选测试数据 | 仅您(当前项目) |
Claude Code 会从当前工作目录开始, 向上递归(但不包括根目录/)并读取它找到的任何 CLAUDE.md 或 CLAUDE.local.md 文件。
核心概念
详细介绍: Claude Code 架构深度解析:Commands、Skills、Agents、Plugins 一文说清
1. Commands(手动快捷键)
- 本质:斜杠命令(如
/review),用户手动触发,主动权在用户 - 创建:项目或全局目录下的Markdown文件,文件名即命令名,支持
$1等参数 - 适用:高频、确定性任务(代码审查、格式化、测试运行等)
2. Skills(AI自动技能包)
- 本质:按需加载的能力模块,AI根据对话自动判断激活
- 核心机制:懒加载(启动仅加载元数据,需用时才加载完整内容)
- 创建:含
SKILL.md(功能说明)、执行脚本等文件的目录 - 适用:模糊指令、智能化任务(PDF处理、代码翻译、数据分析等)
3. Agents(独立工作分身)
- 本质:拥有独立上下文和专属系统提示词的Claude实例
- 核心优势:上下文隔离,避免污染主对话记忆
- 创建:通过
/agents交互式创建或配置文件定义(含角色、权限、提示词) - 适用:复杂、耗时、多步骤任务(批量翻译、深度安全审计、项目级代码审查等)
4. Plugins(打包分发容器)
- 本质:整合Commands、Skills、Agents的分发工具,非功能本身
- 价值:统一安装、版本管理、团队协作、生态共享(支持官方插件市场)
- 用法:打包后通过
claude plugin install一键安装 - 推荐安装:``
| 特性 | Command | Skill | Agent | Plugin |
|---|---|---|---|---|
| 触发方式 | 手动/cmd |
AI自动判断 | AI自动/手动 | - |
| 上下文 | 主对话 | 主对话 | 独立隔离 | - |
| 加载时机 | 调用时 | 懒加载 | 需要时 | 安装时 |
| 适用场景 | 高频确定性 | 模糊指令 | 复杂批量 | 打包分发 |
如何选择使用哪个功能?
- 需手动精确触发→Command
- 无需手动触发:
- 任务复杂、会污染主对话→Agent
- 单次简单任务→Skill
- 需分享/团队使用→Plugin打包
注意最小权限原则:按需求分配工具权限(如审查类Agent仅只读权限)
提示词技巧
一、基础技巧:精准提问,减少无效沟通
1. 明确上下文和约束条件
Claude Code 无法默认知晓你的项目环境、技术栈和业务规则,提问时必须明确说明,避免反复修正。
反面示例:
帮我写一个用户登录接口
正面示例:
帮我用 Python + FastAPI 写一个用户登录接口,要求:
- 接收用户名和密码参数,使用 POST 请求
- 密码需用 bcrypt 加密验证
- 验证通过后返回 JWT 令牌,过期时间 24 小时
- 包含参数校验和异常处理,返回统一的 JSON 格式响应
2. 限定输出格式和风格
根据你的使用场景(如直接运行、文档嵌入、学习参考)指定输出要求:
- 指定代码风格:
遵循 PEP8 规范、使用 Google 代码注释风格 - 指定输出结构:
只输出代码,不写解释、先写核心代码,再逐行解释 - 指定兼容性:
兼容 Python 3.8+、适配 MySQL 8.0
3. 分阶段提问,避免一次性提复杂需求
对于大型功能(如电商订单系统),拆分小模块逐个提问:
- 先问「订单数据模型设计(Python + SQLAlchemy)」
- 再问「订单创建接口实现」
- 最后问「订单状态更新和异常处理」
二、进阶技巧:场景化交互,提升代码质量
1. 代码生成:从「需求」到「可运行代码」
-
提供输入输出示例:让 Claude 更贴合你的业务逻辑
帮我写一个 Python 函数,输入是包含手机号的字符串列表(如 ["13800138000", "abc123", "13900139000"]),输出是过滤后的有效手机号列表,需符合中国大陆手机号规则,且去重。
-
要求添加鲁棒性设计:主动要求异常处理、边界条件考虑
帮我写一个计算两数相除的函数,要求处理除数为 0、非数字输入的情况,返回友好的错误提示,而不是直接抛出异常。
2. 代码优化:从「能用」到「好用」
-
指定优化目标:性能、可读性、内存占用、安全性等
优化这段 Python 代码,目标是提升大数据量下的运行速度,同时保证代码可读性:
[粘贴你的代码] -
要求解释优化思路:不仅要结果,还要理解原理
优化这段代码后,详细说明你做了哪些修改,以及每个修改的原因和带来的收益。
3. 代码调试:精准定位并修复问题
-
完整提供报错信息:包括错误类型、报错行、运行环境、输入数据
这段代码运行时报错「IndexError: list index out of range」,运行环境是 Python 3.9,输入数据是 [1,2,3],帮我定位问题并修复,同时说明错误原因:
[粘贴你的代码] -
要求复现和验证:确保修复方案有效
修复后,请提供一个可复现的测试用例,包括输入、预期输出、实际输出,验证修复效果。
4. 代码解释:从「看懂」到「理解本质」
-
指定解释深度:适合新手/进阶/专家
用新手能理解的方式解释这段代码的核心逻辑,逐行说明每个步骤的作用,避免使用专业术语,必要时用比喻解释。
-
要求关联知识点:举一反三
解释这段代码后,补充说明涉及的核心编程知识点(如闭包、异步IO),以及这些知识点在实际开发中的常见应用场景。
三、高级技巧:最大化 Claude Code 的价值
1. 利用「上下文记忆」进行连续交互
Claude 支持长上下文对话,可基于历史对话持续深入:
基于上一轮你写的用户登录接口,现在我需要添加「密码重置」功能,要求:
- 验证用户手机号和验证码
- 重置密码时更新加密后的密码
- 与原有接口复用相同的数据库模型
2. 生成配套文档/测试用例
- 生成注释/文档字符串:
为这段代码添加详细的文档字符串(docstring)和关键行注释,符合 Sphinx 文档生成规范。
- 生成单元测试:
为这段函数生成完整的单元测试用例(使用 pytest),覆盖正常场景、边界场景、异常场景。
3. 跨语言/框架迁移代码
- 明确迁移目标和约束:
将这段 JavaScript + Express 的接口代码迁移到 Go + Gin 框架,要求保持业务逻辑不变,适配 Go 的语法和最佳实践,同时说明两种框架的核心差异。
4. 安全审查:识别潜在漏洞
审查这段用户注册接口代码,找出可能的安全漏洞(如 SQL 注入、XSS、密码明文存储等),并提供修复方案,说明每个漏洞的风险和修复依据。
浙公网安备 33010602011771号