程序员如何高效使用 Claude Code

Claude Code 是 Anthropic 推出的 CLI 编程助手,能直接在终端中理解你的代码仓库、执行命令、编辑文件、管理 Git——简单说,它就是一个住在你终端里的高级程序员搭档。但和所有强大工具一样,会用和用好之间隔着一道鸿沟

本文综合了 Claude Code 创始人 Boris Cherny、Vue.js 作者尤雨溪、Google Chrome 工程负责人 Addy Osmani 等大咖的实战经验,以及 Anthropic 黑客松冠军 Affaan Mustafa 的两篇深度指南(The Shorthand GuideThe Longform Guide)的精华,以及社区优秀开源项目 everything-claude-code(50K+ Stars)和 awesome-claude-skills(38K+ Stars)的核心内容,帮你从”能用”进阶到”用好”。


一、理解核心约束:200K 上下文窗口

在学任何技巧之前,先理解这一点:Claude Code 的 200K token 上下文窗口是你最稀缺的资源

一个 200 文件的中型项目全部加载需要约 800K token,是可用容量的 4 倍。高强度工作 30 分钟内就能把上下文填满。一旦上下文接近满载,Claude 会开始”遗忘”早期指令,输出质量急剧下降。

所以,所有最佳实践的核心都围绕一件事:上下文管理

关键操作

操作 用途
/clear 在不相关任务之间清空上下文(最常被推荐的技巧
/compact <描述> 手动压缩上下文,在 70-80% 容量时执行
/context 审计 token 使用情况
/statusline 自定义状态栏,实时监控上下文占用百分比

黄金法则:在上下文使用率达到 70-80% 时手动执行 /compact,不要等到 95% 的自动压缩——那时已经太晚了。禁用自动压缩,在逻辑断点手动操作。


二、CLAUDE.md — 最重要的配置文件

CLAUDE.md 是 Claude Code 在每次会话开始时自动加载的指令文件,相当于给你的 AI 搭档写一份”入职手册”。

该写什么

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 项目构建
- 构建: `pnpm build`
- 测试: `pnpm test`
- lint: `pnpm lint:fix`

# 代码规范
- 使用 TypeScript 严格模式
- 组件使用 PascalCase 命名
- 禁止使用 any 类型,必须显式声明类型
- 错误处理统一使用自定义 AppError 类

# Git 规范
- 提交信息格式: `feat/fix/docs(scope): description`
- 分支命名: `feature/xxx``fix/xxx`

# IMPORTANT: 压缩时保留
当压缩上下文时,必须保留完整的已修改文件列表和所有测试命令。

不该写什么

  • Claude 自己能推断出来的(标准语言规范)
  • 频繁变动的信息
  • 文件逐个说明(太冗长)
  • “写出干净的代码”这种废话
  • 详细的 API 文档(改用链接)

关键原则

  1. 控制在 50-100 行以内(约 2500 token)。太长的 CLAUDE.md 会导致规则被忽略——Boris Cherny 称之为”规则失忆症”
  2. 每条规则要有必要性:问自己”删掉这条 Claude 会犯错吗?”如果不会,就删掉
  3. 用强调语气标注关键规则:例如 IMPORTANT:你必须
  4. 提交到 Git:让团队共同维护,Boris 的团队每周更新多次
  5. Claude 每犯一次错,就加一条规则:这是 Boris 的日常做法
  6. @path/to/import 语法引用额外文件,不要把所有内容堆在一个文件里

文件层级

1
2
3
4
~/.claude/CLAUDE.md          # 全局配置(所有项目生效)
./CLAUDE.md # 项目配置(团队共享)
./CLAUDE.local.md # 本地覆盖(.gitignore)
./src/CLAUDE.md # 子目录配置(monorepo)

Rules 目录 — 模块化替代方案

对于大型项目,用 .claude/rules/ 目录按关注点拆分规则:

1
2
3
4
5
6
7
~/.claude/rules/
security.md # 不允许硬编码密钥,必须验证输入
coding-style.md # 不可变性,文件大小限制
testing.md # TDD 工作流,80% 覆盖率
git-workflow.md # 常规提交格式
agents.md # 何时委派给子代理
performance.md # 模型选择策略

三、Subagent(子代理)— 上下文保护的利器

子代理是 Claude Code 最强大的特性之一。每个子代理在独立的上下文窗口中运行,不会污染你的主会话。

尤雨溪的核心建议

“开一批 subagent,一个一个 fix,不要在一个 session 里面批量 fix,容易因为上下文不足产生幻觉。”
— 尤雨溪 (@yuxiyou)

这条建议揭示了一个关键原则:宁可开多个子代理逐一处理,也不要在一个会话里塞太多任务。每个子代理有自己的上下文窗口,不会互相干扰,也不会因为上下文过长而产生幻觉。

推荐的子代理架构

.claude/agents/ 目录下创建 Markdown 文件,社区推荐配置 13 个专业子代理

规划与设计类

  • planner.md — 复杂功能和重构蓝图
  • architect.md — 系统设计和架构决策

代码质量类

  • code-reviewer.md — 实现后质量审计
  • tdd-guide.md — 测试驱动开发执行
  • security-reviewer.md — 漏洞识别(提交前使用)

语言专用类

  • go-reviewer.mdpython-reviewer.mdjava-reviewer.md

错误处理类

  • build-error-resolver.md — 编译问题诊断
  • e2e-runner.md — Playwright 端到端测试

维护类

  • refactor-cleaner.md — 代码优化和清理
  • doc-updater.md — 文档和代码库映射

子代理定义示例

1
2
3
4
5
6
7
8
9
10
11
12
# .claude/agents/code-reviewer.md
---
name: code-reviewer
description: 对实现完成的代码进行质量审查
tools: Read, Grep, Glob
model: opus
---
你是一位高级代码审查工程师。审查要点:
- 边界条件和错误处理
- 性能问题和内存泄漏
- 安全漏洞(注入、XSS 等)
- 代码可读性和维护性

迭代检索模式

子代理返回摘要以节省上下文,但主代理拥有子代理缺乏的语义上下文(主代理理解目的,子代理只知道字面查询)。因此:

  1. 主代理评估每个子代理的返回
  2. 在接受前提出澄清性的后续问题
  3. 子代理回到源头寻找答案
  4. 循环直到充分(最多 3 个周期

关键:传递目标上下文,而不仅仅是查询。

Writer/Reviewer 模式

这是社区公认的高质量工作流:

  1. Session A(Writer):实现功能代码
  2. Session B(Reviewer):用全新的上下文审查代码,没有”自己写的代码一定没问题”的偏见

四、Hooks — 确定性的自动化

CLAUDE.md 的指令是”建议性”的,Claude 可能遵守也可能忽略。而 Hooks 是确定性的——它们每次都会执行,没有例外。

六种 Hook 事件

事件 触发时机 用途示例
PreToolUse 工具执行前 阻止危险命令、tmux 提醒
PostToolUse 工具执行后 自动格式化、TypeScript 类型检查
UserPromptSubmit 发送消息时 拦截用户输入
Stop Claude 结束响应时 保存会话状态、console.log 检测
PreCompact 上下文压缩前 保存关键上下文
Notification 权限请求时 系统通知

实战 Hooks 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATH || true"
}]
},
{
"matcher": "Edit && .ts/.tsx",
"hooks": [{
"type": "command",
"command": "npx tsc --noEmit || true"
}]
}
],
"PreToolUse": [
{
"matcher": "Bash && (npm|pnpm|yarn|cargo|pytest)",
"hooks": [{
"type": "command",
"command": "if [ -z \"$TMUX\" ]; then echo '[Hook] 建议在 tmux 中运行长命令' >&2; fi"
}]
},
{
"matcher": "Write && .md",
"hooks": [{
"type": "command",
"command": "node .claude/hooks/block-non-readme-md.js"
}]
}
],
"Stop": [
{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "node .claude/hooks/check-console-log.js"
}]
}
]
}
}

Pro tip:用 Stop hook(会话结束时执行一次)来持久化学习成果,而不是 UserPromptSubmit(每条消息都执行,影响延迟)。

更 Pro 的 tip:用 hookify 插件对话式创建 Hook,运行 /hookify 然后描述你想要的行为。


五、上下文与记忆管理 — 跨会话持久化

跨会话记忆文件

创建 .tmp 文件在 .claude/ 目录中追踪会话进度:

1
2
3
4
5
6
7
8
9
10
11
12
13
# .claude/session-state.tmp

## 已验证有效的方案
- 用 Vite 替代 Webpack 后构建时间从 45s → 8s(已验证)
- API 鉴权使用 JWT + refresh token 方案(已通过安全审查)

## 已尝试但失败的方案
- esbuild 直接打包——不支持 CSS Modules(放弃)
- 尝试用 Redis 缓存——引入了竞态条件(回退)

## 尚未尝试
- 服务端渲染优化
- 数据库查询索引优化

动态系统提示注入

不要把所有内容都塞进 CLAUDE.md,用 CLI 标志动态注入上下文:

1
claude --system-prompt "$(cat memory.md)"

系统提示的权威性高于用户消息,用户消息又高于工具结果。这给了你精确控制加载内容的能力。

实用别名设置

1
2
3
alias claude-dev='claude --system-prompt "$(cat ~/.claude/contexts/dev.md)"'
alias claude-review='claude --system-prompt "$(cat ~/.claude/contexts/review.md)"'
alias claude-research='claude --system-prompt "$(cat ~/.claude/contexts/research.md)"'

记忆持久化 Hooks

三个被低估的 Hook 实现记忆管理:

  1. PreCompact Hook — 在上下文压缩前保存关键状态
  2. Stop Hook — 会话结束时持久化学习成果
  3. SessionStart Hook — 新会话自动加载之前的上下文

持续学习系统

当 Claude 发现非平凡的洞见(调试技巧、变通方案、项目特定模式)时,将其捕获为新的 Skill。后续类似问题会自动加载该 Skill,避免重复浪费 token。


六、Token 优化 — 省钱又提效

模型选择框架

不要总是用最贵的模型,90% 的编码任务 Sonnet 就够了:

任务类型 推荐模型 理由
探索/搜索文件 Haiku 速度和成本优势
简单编辑 Haiku 单文件变更,指令明确
多文件实现 Sonnet 编码工作的最佳平衡
PR 审查 Sonnet 上下文理解 + 细微检测
文档编写 Haiku 结构化输出简单
复杂架构 Opus 需要深度推理
安全分析 Opus 不能遗漏漏洞
调试系统性问题 Opus 需要持有整个系统上下文

升级到 Opus 的信号:Sonnet 首次尝试失败、任务涉及 5+ 文件、架构决策、安全关键代码。

/model sonnet 切换默认模型,需要时再 /model opus

推荐配置

1
2
3
4
5
{
"model": "sonnet",
"MAX_THINKING_TOKENS": "10000",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50"
}
  • 默认 Sonnet 可节省约 60% 成本
  • 限制思考 token 为 10,000(默认 31,999)
  • 在 50% 容量时自动压缩

工具优化

  • mgrep 替代 grep/ripgrep,token 消耗减少约 50%
  • 保持文件在数百行而非数千行,改善 token 成本和首次成功率
  • --lines 选项限制文件读取范围,一个 400 行文件节省约 70% token

MCP 替换策略

许多 MCP 只是包装了现有 CLI 工具。虽然方便,但消耗上下文空间。建议:

  • /gh-pr 命令包装 gh pr create 替代 GitHub MCP
  • 用 Supabase CLI 直接通过 Skill 操作替代 Supabase MCP
  • 每个不启用的 MCP 都在为你节省上下文空间

七、工作流最佳实践

四阶段工作流(官方推荐)

1
探索 → 规划 → 实现 → 验证
  1. 探索:进入 Plan Mode(Shift+Tab),让 Claude 阅读代码、回答问题,不做修改
  2. 规划:要求 Claude 创建详细的实现计划,用 Ctrl+G 在编辑器中审查
  3. 实现:切换回 Normal Mode,Claude 按计划编码并自我验证
  4. 验证:要求 Claude 运行测试、构建、lint,确认一切正常

使用 Plan Mode 进行多文件修改时,架构错误减少约 45%。

验证循环 — 单一最高杠杆率实践

所有来源一致同意:给 Claude 一种验证自身工作的方式,可以将最终结果的质量提升 2-3 倍。

验证方式包括:

  • 运行测试套件
  • 执行构建和类型检查
  • lint 和格式化检查
  • 截图对比(UI 工作)
  • 端到端测试
1
2
# 在 CLAUDE.md 中添加验证指令
每次修改代码后,必须运行 `pnpm test``pnpm build` 验证无错误。

验证评估指标

1
2
3
4
5
pass@k: 至少 k 次尝试中有一次成功
k=1: 70% k=3: 91% k=5: 97%

pass^k: 全部 k 次尝试都必须成功
k=1: 70% k=3: 34% k=5: 17%

需要工作一次时用 pass@k,需要一致性时用 pass^k

五阶段顺序架构(复杂任务)

1
2
3
4
5
阶段 1:研究 (Explore agent)           → research-summary.md
阶段 2:规划 (Planner agent) → plan.md
阶段 3:实现 (TDD-guide agent) → 代码变更
阶段 4:审查 (Code-reviewer agent) → review-comments.md
阶段 5:验证 (Build-error-resolver) → 完成或循环

关键规则

  1. 每个代理接收一个明确输入,产出一个明确输出
  2. 输出成为下一阶段的输入
  3. 绝不跳过阶段
  4. 阶段间用 /clear 清理上下文
  5. 将中间输出存储在文件中

八、并行工作 — 成倍提升吞吐量

Boris Cherny 的工作设置

Claude Code 创始人 Boris Cherny 的日常工作方式:

  • 5 个本地终端会话(编号 1-5)
  • 5-10 个额外的 claude.ai/code 网页会话
  • 每个本地会话使用独立的 Git checkout(不是分支或 worktree)
  • 系统通知提醒何时 Claude 需要输入
  • --teleport 在本地和网页会话之间交接
  • 每天早上从手机上启动会话

并行策略

/fork — 为不重叠的任务创建分支会话。主聊天处理代码修改,fork 处理代码库问题、状态查询或外部服务研究。

Git Worktree — 为重叠的并行任务创建独立工作树:

1
2
3
4
git worktree add ../project-feature-a feature-a
git worktree add ../project-feature-b feature-b

cd ../project-feature-a && claude

Cascade 方法

  1. 在新标签页中打开新任务(向右)
  2. 从左到右依次处理(最旧到最新)
  3. 上限 3-4 个并行任务

指导哲学:用最少的必要并行化完成最大的工作量。

两实例启动模式(项目初始化)

空仓库用两个 Claude 实例并行启动:

实例 1(脚手架代理):建立项目结构、创建配置(CLAUDE.md、rules、agents)

实例 2(深度研究代理):连接服务和网络搜索、开发详细 PRD、创建架构图(Mermaid 格式)、编译参考文档


九、Skills 和 Commands — 可复用的工作流

Skills vs Commands

  • Skills~/.claude/skills/ — 更广泛的工作流定义,Claude 根据任务自动激活
  • Commands~/.claude/commands/ — 通过斜杠命令快速执行的提示
1
2
3
4
5
6
7
8
9
10
11
# 目录结构示例
~/.claude/skills/
pmx-guidelines.md # 项目特定模式
coding-standards.md # 语言最佳实践
tdd-workflow/ # 多文件 Skill
security-review/ # 检查清单 Skill

~/.claude/commands/
commit-push-pr.md # Boris 每天用几十次的命令
refactor-clean.md # 长会话后清理死代码
deploy-check.md # 部署前检查

Skills 中的 Codemap

Skills 可以包含 codemap——让 Claude 快速导航代码库而不必消耗大量上下文进行探索:

1
2
3
4
5
6
7
# .claude/skills/project-map.md
## 代码地图
- `src/api/` — 所有 REST API 端点
- `src/services/` — 业务逻辑层
- `src/models/` — 数据库模型
- `src/middleware/` — Express 中间件(auth、error handling)
- `tests/` — 测试文件,镜像 src 结构

社区精选 Skills(awesome-claude-skills)

awesome-claude-skills 仓库收录了 150+ 个技能:

分类 数量 示例
开发工具 19 代码质量分析、Playwright 自动化、MCP 服务器构建
文档处理 5 Word/PDF/PPT/Excel 操作
数据分析 4 CSV 汇总、PostgreSQL 查询、根因分析
安全 4 数字取证、威胁狩猎、元数据提取
创意媒体 6 Canvas 设计、图像增强、GIF 创建
效率工具 8 文件整理、发票管理、简历定制
应用自动化 78+ 通过 Composio 集成 HubSpot、Jira、Slack、GitHub 等 1000+ 应用

安装使用

1
2
3
4
5
6
7
8
# Claude Code 安装
mkdir -p ~/.config/claude-code/skills/
# 将 skill 文件夹复制到该目录
# 启动 Claude Code,Skills 自动激活

# 插件方式安装
/plugin marketplace add affaan-m/everything-claude-code
/plugin install everything-claude-code@everything-claude-code

十、MCP 服务器 — 扩展 Claude 的能力边界

MCP(Model Context Protocol)让 Claude Code 能连接外部工具和服务。它不是 API 的替代品,而是围绕 API 的提示驱动包装器。

推荐 MCP 配置

1
2
3
4
5
6
7
8
9
{
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] },
"firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"] },
"supabase": { "command": "npx", "args": ["-y", "@supabase/mcp-server-supabase@latest"] },
"memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] },
"sequential-thinking": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"] },
"vercel": { "type": "http", "url": "https://mcp.vercel.com" },
"context7": { "command": "npx", "args": ["-y", "@context7/mcp-server"] }
}

关键警告

“你的 200K 上下文窗口可能因为启用了太多工具而只剩 70K。”

  • 可以配置 20-30 个 MCP,但同时启用的不要超过 10 个 / 80 个工具
  • 每个 MCP 的工具描述都会消耗上下文 token
  • /mcp 查看和切换 MCP 状态
  • 如果底层服务有 CLI(如 ghsupabasevercel),优先用 CLI 技能替代 MCP

十一、Plugins — 打包好的工具集

插件将工具打包以便安装,避免繁琐的手动设置。一个插件可以是 Skill + MCP 的组合,或者 Hooks/工具的捆绑。

推荐插件

1
2
3
4
# 安装插件市场
claude plugin marketplace add https://github.com/mixedbread-ai/mgrep

# 在 Claude 中运行 /plugins 管理
插件 用途
typescript-lsp TypeScript 智能补全(编辑器外运行时必备)
pyright-lsp Python 类型检查
hookify 对话式创建 Hooks
mgrep 比 ripgrep 更好的搜索,节省约 50% token
frontend-design UI/UX 模式
commit-commands Git 工作流自动化
context7 实时文档查询

和 MCP 一样的警告:只启用 4-5 个插件,监控你的上下文窗口。

LSP 插件的价值

如果你经常在编辑器之外运行 Claude Code,LSP 插件尤其有用。Language Server Protocol 让 Claude 获得实时类型检查、跳转定义和智能补全,无需 IDE。


十二、编辑器搭配建议

Zed(社区推荐)

Rust 编写,启动极快,巨型代码库也不卡顿,资源占用极低:

  • 速度:Claude 快速编辑文件时编辑器跟得上
  • Agent Panel:实时追踪 Claude 的文件变更
  • CMD+Shift+R:快速访问所有自定义斜杠命令
  • 低资源占用:不会和 Claude 竞争 RAM/CPU(运行 Opus 时很重要)

编辑器通用技巧

  1. 分屏:一侧终端运行 Claude Code,另一侧编辑器
  2. Ctrl+G:在编辑器中打开 Claude 当前工作的文件
  3. 开启自动保存:确保 Claude 读取的文件始终是最新的
  4. 文件监听:确认编辑器自动重新加载被修改的文件

语音输入

用语音转录代替打字——对大多数人来说更快。工具:superwhisper(Mac)、MacWhisper(Mac)。Claude 即使有转录错误也能理解意图。


十三、常见陷阱及避免方法

1. “厨房水槽”式会话

从一个任务开始,中途问一个无关的问题,再回到原来的任务。上下文被无关信息填满。

解决/clear 在不相关任务之间。完成一个功能要去修一个 Bug?先 /clear

2. 反复纠正

Claude 做错了,你纠正它,还是错的,你再纠正。上下文充满了失败的尝试。

解决两次纠正失败后,/clear 然后重写一个更好的初始提示,把你学到的教训融入进去。

3. CLAUDE.md 过度膨胀

写了 500 行的 CLAUDE.md,Claude 忽略了一半。重要规则淹没在噪音中。

解决:无情精简。如果 Claude 在没有某条指令的情况下就能做对,就删掉它或者转成 Hook。

4. 全量加载项目

把 200 个文件的项目全部喂给 Claude——消耗约 800K token,是窗口的 4 倍。

解决:精准定位 3-5 个目标文件,效果远好于批量加载 50 个文件。

5. 跳过规划

让 Claude 直接开始写代码,结果解决了错误的问题。

解决:涉及 3 个以上文件的修改,一律使用 Plan Mode。

6. 无限探索

让 Claude “调查一下”但不限定范围,它读了几百个文件把上下文填满。

解决:严格限定调查范围,或使用子代理进行探索。

7. 草率开启 bypass 模式

23% 经历过破坏性执行的用户启用了 --dangerously-skip-permissions

解决:用 /permissions 白名单安全命令。只在没有网络访问的容器中使用 skip permissions。


十四、快捷键与实用命令速查表

快捷键

快捷键 功能
Ctrl+U 删除整行(比退格快得多)
Shift+Enter 多行输入
Shift+Tab 切换思考模式
Esc Esc 中断 Claude / 恢复代码
@ 搜索文件
/ 触发斜杠命令
! 快速执行 bash 命令
Ctrl+G 在编辑器中编辑
Tab 切换思考显示

常用命令

命令 用途
/clear 清空上下文(最常用)
/compact 手动压缩上下文
/context 审计 token 使用
/fork 分支会话
/model 切换模型
/rewind 回退到之前的状态
/checkpoints 文件级撤销点
/statusline 自定义状态栏
/mcp 管理 MCP 服务器
/plugins 管理插件
/rename 标记聊天便于管理

终端别名

1
2
alias c='claude'
alias cc='claude --continue' # 继续上次会话

十五、科研场景:用 Claude Code 驱动 AI 研究全流程

Claude Code 不只是写业务代码的工具。结合 Hugging Face Skills 插件,它可以覆盖从数据准备到论文发表的完整 AI 科研工作流

安装 Hugging Face Skills

1
2
3
4
/plugin marketplace add huggingface/skills
/plugin install hugging-face-model-trainer@huggingface/skills
/plugin install hugging-face-trackio@huggingface/skills
# 按需安装其他 skill

9 个 Skills 覆盖完整研究流程

Skill 用途 科研价值
Model Trainer 用 TRL 训练/微调语言模型(SFT、DPO、GRPO、奖励建模) 可复现的训练流程,支持硬件选择和成本估算,GGUF 转换支持本地部署
Trackio 实时训练指标追踪和可视化仪表盘 实验追踪和消融研究,团队协作共享仪表盘到 HF Spaces
Evaluation 模型评估和基准测试管理 导入 Artificial Analysis API 基准分数,用 vLLM/lighteval 框架运行自定义评估
Datasets 创建和管理 HF Hub 上的数据集 创建基准数据集、训练语料,SQL 查询和数据转换
Paper Publisher 在 HF Hub 发布和管理研究论文 论文-模型-数据集-代码一站式关联,提升可发现性和可复现性
Gradio 构建交互式 Web UI 和演示 为论文构建可交互 Demo,让审稿人/读者直接体验模型
Jobs 在 HF 基础设施上执行云端计算任务 无需自有 GPU,支持大规模训练和评估
HF CLI Hub 命令行操作(上传/下载模型和数据集) 简化数据流水线和模型分发
Tool Builder 创建可复用的 API 自动化脚本 构建可复现的数据预处理流水线

典型科研工作流示例

用自然语言驱动整个流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
第 1 步:数据准备
> "用 HF Datasets skill 创建一个指令微调数据集,基于我 data/ 目录下的 jsonl 文件"

第 2 步:模型微调
> "用 Model Trainer skill 对 Qwen2.5-7B 进行 SFT 微调,
使用刚创建的数据集,估算 A100 的成本"

第 3 步:实验追踪
> "用 Trackio 监控训练过程,记录 loss、learning rate 和 eval metrics,
同步仪表盘到我的 HF Space"

第 4 步:模型评估
> "用 Evaluation skill 在 MMLU、HumanEval 和我的自定义基准上评估模型,
和 baseline 对比生成评估表格"

第 5 步:构建 Demo
> "用 Gradio 为微调后的模型创建一个对话式 Demo,部署到 HF Spaces"

第 6 步:发布论文
> "用 Paper Publisher 在 HF Hub 上创建论文页面,
关联训练好的模型、数据集和 Demo"

为什么科研人员应该关注

  1. 可复现性:所有 Skill 输出可版本控制的代码和配置,论文审稿人可以一键复现
  2. 开放科学:论文、模型、数据集、代码在 HF Hub 上形成完整的工件链
  3. 零硬件门槛:通过 HF Jobs 在云端训练大模型,内置成本估算
  4. 团队协作:Trackio 实时仪表盘支持多人同时查看实验进展
  5. 跨平台:这些 Skill 同时支持 Claude Code、Cursor、Codex CLI 和 Gemini CLI

一个完整的 AI 研究项目——从数据集构建到论文发表——现在可以在 Claude Code 终端中用自然语言指令驱动完成,所有代码自动生成且可复现。


十六、安全最佳实践

核心原则

“每个集成都创建了一个潜在的入侵点。”

沙箱与访问控制

  • 通过 allowedTools 限制工具为仅必要功能
  • 实施拒绝列表阻止敏感目录:~/.ssh~/.aws、凭据文件
  • 不受信任的仓库在 --network=none 的 Docker 容器中运行

数据保护

  • LLM 读取的一切内容实际上都是可执行上下文——验证所有外部内容
  • 审计配置和 Skills 中的所有外部链接
  • 内联外部文档而不是链接到可能被篡改的源

记忆投毒预防

定期审计持久化文件——恶意片段可能跨会话积累。

AgentShield

使用 npx ecc-agentshield scan 进行自动漏洞扫描,覆盖 102 条安全规则


总结

Claude Code 不仅仅是一个代码补全工具,它是一个需要管理的高级协作者。像管理一个极其聪明但记忆有限的团队成员一样来使用它:

实践 影响
给 Claude 验证手段(测试、截图、构建) 质量提升 2-3 倍
/clear 在不相关任务之间 防止上下文污染
使用 Plan Mode 进行多文件修改 架构错误减少约 45%
CLAUDE.md 控制在 100 行以内 防止规则失忆
用子代理做研究 保护主上下文窗口
在 70-80% 容量时 /compact 避免性能下降
并行会话用独立 Git checkout 成倍提升吞吐量
PostToolUse Hook 自动格式化 零例外的一致性
禁用未使用的 MCP 回收上下文空间
两次纠正失败后 /clear 重写 比累积修复更干净

“早期我花时间构建可复用的工作流和模式。构建过程很繁琐,但随着模型和代理工具的改进,这产生了疯狂的复利效应。” — Affaan Mustafa

掌握这些原则,你就能把 Claude Code 从一个”偶尔有用的工具”变成”不可或缺的编程搭档”。


参考资源