让 AI 自己上班:Claude Code 从聊天工具到自动化员工的完整指南
你打开终端,输入一行指令,AI 回复了一段代码。你说“格式化一下”,它照做了。你说“跑个测试”,它也照做了。
一个月后,你还在重复同样的对话。
问题不在 AI,在于你不知道它能自己干这些事。
很多人以为自己是在用 AI 编程,其实只是在聊天。真正会玩的人,已经开始让 AI 自己上班了。
这篇文章不教你安装(网上一搜一大把),只教你如何让 Claude Code 从聊天工具变成能自动处理脏活累活的员工。
第一部分:基础配置(但大部分人不知道)
1. 自定义状态栏:别再稀里糊涂烧 Token 了
你可能遇到过这个场景:和 Claude 聊了三小时代码,突然终端跳出一行 Error: Context window exceeded。这时你才发现 200k tokens 已经用完了。
默认状态栏什么都不显示,你根本不知道自己用了多少 Token,直到突然爆掉。
解决办法是配置自定义状态栏。配置后的效果大致是这样:
Opus 4.7 | 📁myproject | 🔀main | █░░░░░░░░░ 12% of 200k tokens 💬 Last: "How do I configure hooks..."
有了这个,你可以实时监控 Token 消耗,在多标签页工作时不会搞混,也知道什么时候该开新对话。
2. 语音输入:打字的人已经输在起跑线了
说话比打字快三倍。这不是夸张。
用语音转文字工具(macOS 自带的听写功能就可以),直接对着 Claude Code 说话。你可能担心转录不准确怎么办?在办公室说话不尴尬吗?
真实情况是:你说“ExcelElanishMark advast settings”,Claude 能理解成“exclamation mark advanced settings”。即使有错别字,AI 也能理解。在办公室?用耳机小声说,没人注意。
很多人不用这个功能,只是因为他们不知道它存在。
3. 拆解大问题:AI 不是魔法,是工具
错误的做法是:
“帮我实现一个完整的用户认证系统”
然后 AI 给你写了一堆代码,你发现密码没加密、Token 没验证、测试没写。
正确的做法是把大问题拆成小步骤:
-
创建一个用户注册的 API endpoint -
添加 bcrypt 密码加密 -
实现 JWT token 生成 -
添加登录验证中间件 -
写单元测试
很多人以为 AI 越强就越能“一步到位”。实际上,对话越长,Claude 的表现越差。就像一个熬夜三天的实习生,反应变慢,开始重复自己,忘记早期的指令。你的软件工程能力依然重要。
4. 终端别名:每天节省 100 次输入
每次都要输入 claude,太慢了。在你的 ~/.zshrc 或 ~/.bashrc 里加上:
alias c='claude'
alias cc='claude -c' # 继续上次对话
alias cr='claude -r' # 选择历史对话
之后你只需要输入 cc 就能继续上次对话。
5. AI 上下文就像牛奶,越新鲜越好
很多人以为上下文越长 AI 越聪明。实际上:
-
反应变慢 -
开始重复自己 -
忘记早期的指令
最佳实践是:每个新任务开新对话,Token 使用超过 50% 就开新对话,不要在一个对话里从早聊到晚。就像牛奶,放久了会变质。
6. 获取输出的五种方法:别再手动复制了
想复制 Claude 的输出,但终端复制很麻烦。最简单的方法是在对话中输入 /copy,直接复制上一条回复到剪贴板。
其他方法还有:pbcopy(Mac/Linux)、写入文件加 VS Code 打开、打开 URL、GitHub Desktop。
一个实用技巧:如果要编辑 GitHub PR 描述,先让 Claude 写到本地文件,你审查后再复制到 GitHub。
7. 让 Claude 当你的 Git 助手
我已经懒得自己写 commit message 了。直接告诉 Claude:
“Review the changes and create a commit”
它会查看 git diff、分析改动、写一个清晰的 commit message、然后提交。为什么 Claude 写得更好?因为它会认真看每一行改动。你不会。
8. Cmd+A / Ctrl+A 是你的朋友
Claude 的 WebFetch 工具有限制,但你的复制粘贴没有限制。
场景一:打开一个 Reddit 帖子,Cmd+A 全选,粘贴到 Claude Code,说“总结这个帖子的主要观点”。
场景二:打开公司内部文档,全选粘贴,说“根据这个文档写实现方案”。
场景三:运行命令得到一堆错误,全选终端输出,粘贴说“分析这个错误日志”。
这个方法适用于任何 AI,不只是 Claude Code。
第二部分:Hooks 系统——Claude Code 真正开始像员工的瞬间
9. 什么是 Hooks?
简单理解:Hooks 就是自动触发的脚本。
-
当 Claude 编辑文件 → 自动运行 Prettier 格式化 -
当 Claude 运行命令 → 自动记录到日志 -
当 Claude 完成任务 → 自动发送桌面通知
我第一次配置 Hook 的时候突然意识到:这东西已经不是 AI 聊天了。它开始像一个真的初级员工。
大部分人还在手动说“帮我格式化一下”“记得跑测试”“别动 .env”。会玩的人让 AI 自己记住这些规则。
10. 自动格式化代码
还在每次都说“记得格式化”?你其实是在当人肉中间件。
在 .claude/settings.json 添加:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
}
]
}
]
}
}
之后 Claude 编辑任何文件,Hook 都会自动运行 Prettier 格式化代码。
11. 保护敏感文件
创建一个保护脚本 .claude/hooks/protect-files.sh:
#!/bin/bash
INPUT=$(cat)
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')
PROTECTED_PATTERNS=(".env" "package-lock.json" ".git/")
for pattern in "${PROTECTED_PATTERNS[@]}"; do
if [[ "$FILE_PATH" == *"$pattern"* ]]; then
echo "Blocked: $FILE_PATH is protected" >&2
exit 2
fi
done
exit 0
然后在设置中注册这个 Hook:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/protect-files.sh"
}
]
}
]
}
}
之后 Claude 尝试编辑 .env 文件时,Hook 会阻止操作,Claude 收到反馈后会自动调整方案。
12. 桌面通知
我现在已经不盯着终端了。Claude 会主动叫我。macOS 配置如下:
{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}
Claude 等待你输入时会发送桌面通知。你可以切换到其他应用工作,收到通知再回来。
13. 自动运行测试
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npm test"
}
]
}
]
}
}
Claude 编辑代码后自动跑测试。如果测试失败,Claude 会看到错误并自动修复。
14. Git 操作审计
很多人直到 Git 出事故才想起来要审计。配置以下 Hook 可以自动记录所有 Git 操作:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.command' | grep '^git' >> ~/.claude/git-audit.log"
}
]
}
]
}
}
所有 Git 操作自动记录到 ~/.claude/git-audit.log。团队协作时追踪谁做了什么,出问题时快速定位。
15. Prompt-based Hooks:AI 监督 AI
有些时候需要 AI 自己判断是否继续,而不是简单的规则。比如检查任务是否完成:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "prompt",
"prompt": "Check if all tasks are complete. If not, respond with {\"ok\": false, \"reason\": \"what remains\"}."
}
]
}
]
}
}
Claude 说“完成了”,Hook 触发另一个模型判断,如果没完成就返回原因,Claude 继续工作。这就是 AI 监督 AI 的开始。
16. Agent-based Hooks:AI 验证代码
更进一步,让 Agent 来验证测试是否通过:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "agent",
"prompt": "Run the test suite and verify all tests pass.",
"timeout": 120
}
]
}
]
}
}
Prompt Hook 是单次判断,Agent Hook 可以执行命令、读文件、验证结果。这是 AI 开始自动接管重复劳动的瞬间。
第三部分:上下文管理——AI 也会累
17. 主动压缩上下文,别等 Claude 自动压缩
Claude Code 的上下文窗口是 200k tokens,但系统提示就占了 18k。很多人以为“对话越长越好”,实际上对话越长性能越差。自动压缩会丢失重要细节,手动压缩才能控制保留什么。
步骤一:让 Claude 写 handoff 文档
“把当前进度写入 handoff.md,包括:1. 已完成的工作 2. 尝试过但失败的方案 3. 下一步要做什么 4. 重要的上下文信息”
步骤二:Claude 生成类似这样的文档
# Handoff Document
## 已完成
- 实现了用户注册 API
- 添加了密码加密(bcrypt)
- 配置了 JWT token 生成
## 尝试过但失败
- 尝试用 Passport.js,但配置太复杂,改用 jsonwebtoken
## 下一步
- 实现登录验证中间件
- 添加 token 刷新机制
- 写单元测试
## 重要上下文
- 使用 Express.js 框架
- 数据库是 PostgreSQL
- JWT secret 存在 .env 文件
步骤三:开新对话,只加载 handoff 文档
“读取 handoff.md,继续完成剩余工作”
新对话等于新鲜的 Claude,性能更好。建议关闭自动压缩(/config → 关闭 auto-compact),每次压缩前让 Claude 更新 handoff 文档,并在后续对话中继续更新这个文档。
18. 瘦身系统提示,节省 7300 tokens
Claude Code 的系统提示占 18k tokens(9% 的上下文)。优化后可以降到 10k tokens(5%),节省 7300 tokens(41%)。
具体做法是下载 YK 的 patch 脚本,运行 patch 脚本,然后禁用自动更新。在配置中添加:
{
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}
优化后的体验感觉更 raw、更强大。
19. 懒加载 MCP 工具,按需加载
如果你配置了多个 MCP servers,它们的工具定义会在每次对话开始时全部加载。启用懒加载可以节省初始上下文:
{
"env": {
"ENABLE_TOOL_SEARCH": "true"
}
}
之后 MCP 工具只在被调用时加载。
20. 搜索历史对话,快速找到之前的方案
上周写的代码,现在想不起来怎么实现的?所有对话存储在 ~/.claude/projects/<project-path>/。
搜索示例:
# 搜索包含 "Reddit" 的对话
grep -l -i "reddit" ~/.claude/projects/*/*.jsonl
# 搜索今天的对话
find ~/.claude/projects/*/*.jsonl -mtime 0 -exec grep -l -i "keyword" {} \;
# 提取用户消息
cat conversation.jsonl | jq -r 'select(.type=="user") | .message.content'
或者直接问 Claude:“搜索我的历史对话,找到关于 Reddit 的讨论”。
第四部分:高级工作流
21. Git Worktrees:多分支并行工作
需要同时开发多个功能,但切换分支很麻烦?Git Worktree 让你可以在多个分支同时工作,不用来回切换。
一个 worktree 就是一个分支加一个目录。让 Claude 帮你创建:
“创建一个 git worktree 用于 feature-x”
Claude 会执行:
git worktree add .claude/worktrees/feature-x -b feature-x
cd .claude/worktrees/feature-x
适用场景:同时开发多个功能、测试不同方案、紧急修 bug 不想打断当前工作。
22. 多标签页工作流
用“瀑布流”方式管理多个任务。我的方法是这样安排标签页:
-
Tab 1:语音转录系统(常驻) -
Tab 2:Docker 容器配置 -
Tab 3:检查磁盘空间 -
Tab 4:工程项目 -
Tab 5:写教程(当前)
原则:新任务开在最右边,从左到右扫描(老任务到新任务),最多同时三到四个任务,完成的任务关闭标签。方向一致,不会乱,容易追踪进度。
23. 手动指数退避:等待长时间任务
我以前最烦的事情之一就是盯着 Docker build 发呆。构建要跑 8 分钟,我就坐在那里刷手机,每隔 30 秒看一眼终端。
解决方案是让 Claude 用指数退避检查状态。指令如下:
“检查 Docker build 状态,使用指数退避:1 分钟、2 分钟、4 分钟、8 分钟”
Claude 会生成类似这样的检查脚本:
# 第 1 次检查(1 分钟后)
sleep 60 && docker ps
# 第 2 次检查(2 分钟后)
sleep 120 && docker ps
# 第 3 次检查(4 分钟后)
sleep 240 && docker ps
# 直到构建完成
为什么不用 gh run watch?因为它的输出太多,浪费 Token。手动退避更节省。
第五部分:实战场景
很多人觉得 AI 最适合写代码。我现在反而觉得,它最适合处理那些人类不想盯着看的东西。
24. PR 审查助手
需要审查一个复杂的 PR?工作流程如下:
第一步,获取 PR 信息:
“获取 PR #123 并显示摘要”
第二步,逐文件审查:
“逐文件审查变更,重点关注:1. 潜在 bug 2. 安全问题 3. 性能问题 4. 代码风格”
第三步,交互式讨论。你可以直接问:
“为什么这里用 Promise.all 而不是顺序执行?”
“这个 SQL 查询有注入风险吗?”
“这个函数可以优化吗?”
为什么 Claude Code 比传统工具更好?因为这不是一次性审查,而是交互式对话,可以深入讨论具体问题。
25. DevOps 工程师
GitHub Actions CI 失败了,需要排查原因。工作流程:
第一步,查看失败的 run:
“调查最新 commit 的 GitHub Actions 为什么失败”
第二步,分析日志:
“分析错误日志,找出根本原因”
第三步,定位问题 commit:
“这是某个特定 commit 导致的吗?如果需要可以用 git bisect”
第四步,创建修复 PR:
“创建一个 draft PR 来修复这个问题”
Claude Code 在 DevOps 方面真的很强。它能处理那些我不想手动做的脏活累活。
26. 写作助手
写一篇技术博客。工作流程:
第一步,生成初稿:
“写一篇关于 Claude Code hooks 的博客文章”
第二步,逐段审查。终端在左,VS Code 在右,边看边改:
“这一段太技术了,改得更通俗一点”
“这个例子不够具体,加一个真实场景”
“这个标题不够吸引人,改一下”
第三步,优化和导出:
“检查全文,确保:1. 没有语法错误 2. 代码示例都能运行 3. 逻辑连贯 4. 然后导出到 Notion”
为什么用 Claude Code 写作?Markdown 原生支持,可以直接运行代码示例验证,还能用 Git 做版本控制。
27. 完整的 write-test 循环
如果想让 Claude 自主工作,必须给它验证结果的方法。举个例子:用 git bisect 找 bug。
假设 /compact 命令突然报 400 错误,你不知道哪个 commit 导致的。解决方案是让 Claude 用 git bisect 自动定位。
第一步,写一个测试脚本 test-compact.sh:
tmux kill-session -t test 2>/dev/null
tmux new-session -d -s test
tmux send-keys -t test 'claude' Enter
sleep 2
tmux send-keys -t test '/compact' Enter
sleep 1
tmux capture-pane -t test -p | grep -q "400" && exit 1 || exit 0
第二步,让 Claude 运行 bisect:
“用 git bisect 找出哪个 commit 破坏了 /compact。用 test-compact.sh 验证每个 commit。”
这样 Claude 就可以自主验证结果,不需要你手动测试每个 commit。
第六部分:避坑指南
28. CLAUDE.md 保持简洁
错误的做法是写一个 500 行的 CLAUDE.md,包含项目介绍、代码规范、架构说明……正确做法是只写核心规则,保持少于 60 行。
示例:
# CLAUDE.md (50 行)
## 核心规则
- 使用 Bun,不用 npm
- 提交前运行 bun test
- 当前 sprint:auth refactor
## 常见问题
- 数据库连接字符串在 .env
- API 文档在 docs/api.md
原则:只写重复出现的规则,详细文档放在单独文件里。
29. 验证 Claude 的输出
不要听到 Claude 说“完成了”就直接相信。正确做法是验证一下。
你可以:
-
让 Claude 写测试并运行 -
用 GitHub Desktop 查看 diff -
创建 draft PR 审查 -
让 Claude 自己 double-check
我最喜欢的一个 prompt 是:
“仔细检查你生成的所有内容,验证每一个声明,最后做一个表格列出你能验证的内容”
30. 选择正确的抽象层级
不是所有代码都需要深入审查。可以分成三个层级:
| 层级 | 适用场景 | 审查方式 |
|---|---|---|
| 高层(Vibe Coding) | 快速原型、一次性脚本、实验性代码 | 粗略浏览 |
| 中层(Review Code) | 大部分生产代码 | 查看文件结构、检查函数逻辑 |
| 底层(Deep Dive) | 关键功能、安全相关代码 | 逐行审查、检查依赖、验证边界条件 |
根据代码的重要程度选择合适的审查深度,能大幅提升效率。
常见问题解答
问:我刚开始用 Claude Code,应该从哪个技巧开始?
建议选三个最适合你当前痛点的:如果你经常忘记 Token 用量,先配置自定义状态栏(技巧 1);如果你打字慢,试试语音输入(技巧 2);如果你想自动化格式化,配置 Prettier Hook(技巧 10)。
问:Hooks 配置复杂吗?
不算复杂。你只需要在项目根目录创建 .claude/settings.json 文件,然后粘贴对应的配置代码。文中的代码块都可以直接复制使用。
问:Claude Code 会泄露我的代码吗?
这取决于你使用的服务条款。对于敏感项目,建议在本地部署或使用企业版。技巧 11 中的文件保护 Hook 可以防止 AI 意外修改或读取敏感文件。
问:上下文压缩多久做一次比较好?
建议 Token 使用超过 50% 时就考虑压缩。关闭自动压缩后,你可以根据 handoff 文档的质量决定什么时候开新对话。
问:这些技巧适用于其他 AI 编程工具吗?
部分适用。语音输入、Cmd+A 复制、拆解大问题这些方法适用于任何 AI 工具。Hooks 系统是 Claude Code 的特色功能,其他工具有类似的插件或扩展机制可以对照实现。
总结
从基础配置到 Hooks 自动化,再到上下文管理和高级工作流,这里一共涵盖了 30 个实用技巧:
基础配置(技巧 1-8):状态栏、语音输入、拆解问题、终端别名、新鲜上下文、获取输出、Git 助手、Cmd+A 复制
Hooks 自动化(技巧 9-16):自动格式化、保护文件、桌面通知、自动测试、Git 审计、Prompt Hooks、Agent Hooks
上下文管理(技巧 17-20):主动压缩、瘦身系统提示、懒加载 MCP、搜索历史对话
高级工作流(技巧 21-23):Git Worktrees、多标签页、指数退避
实战场景(技巧 24-27):PR 审查、DevOps、写作助手、write-test 循环
避坑指南(技巧 28-30):CLAUDE.md 简洁、验证输出、选择抽象层级
不要一次性学完所有技巧。选三个最适合你当前需求的,今天就用起来。一个月后,你会发现自己的工作方式已经完全不同了。

