程序员如何高效使用 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发送消息时拦截用户输入
StopClaude 结束响应时保存会话状态、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 服务器构建
文档处理5Word/PDF/PPT/Excel 操作
数据分析4CSV 汇总、PostgreSQL 查询、根因分析
安全4数字取证、威胁狩猎、元数据提取
创意媒体6Canvas 设计、图像增强、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-lspTypeScript 智能补全(编辑器外运行时必备)
pyright-lspPython 类型检查
hookify对话式创建 Hooks
mgrep比 ripgrep 更好的搜索,节省约 50% token
frontend-designUI/UX 模式
commit-commandsGit 工作流自动化
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 CLIHub 命令行操作(上传/下载模型和数据集)简化数据流水线和模型分发
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 从一个”偶尔有用的工具”变成”不可或缺的编程搭档”。


参考资源