我以前最烦的事情之一是盯着 jenkins 发呆。构建部署要跑 8 分钟我就坐在那里刷手机每隔 30 秒看一眼终端。后来我发现Claude Code 最强的能力根本不是写代码。而是处理那些人类不想盯着看的脏活累活。接下来我们就讲讲如何真正把 Claude Code 融入你的工作流。第一部分上下文管理技巧 1主动压缩上下文别等 Claude 自动压缩因为 Claude Code 的上下文窗口是 200k tokens但系统提示就占了 18k。步骤第 1 步让 Claude 写 handoff 文档把当前进度写入 handoff.md包括 1. 已完成的工作 2. 尝试过但失败的方案 3. 下一步要做什么 4. 重要的上下文信息第 2 步Claude 生成文档# Handoff Document ## 已完成 - 实现了用户注册 API - 添加了密码加密bcrypt - 配置了 JWT token 生成 ## 尝试过但失败 - 尝试用 Passport.js但配置太复杂改用 jsonwebtoken ## 下一步 - 实现登录验证中间件 - 添加 token 刷新机制 - 写单元测试 ## 重要上下文 - 使用 Express.js 框架 - 数据库是 PostgreSQL - JWT secret 存在 .env 文件第 3 步开新对话只加载 handoff 文档# 新对话 读取 handoff.md继续完成剩余工作为什么这样做新对话 新鲜的 Claude 更好的性能。很多人以为上下文是 AI 的记忆。会玩的人已经开始主动管理 AI 的记忆了。我的建议关闭自动压缩/config → 关闭 auto-compact每次压缩前让 Claude 更新 handoff 文档在后续对话中继续更新这个文档技巧 2懒加载 MCP 工具按需加载如果你配置了多个 MCP servers它们的工具定义会在每次对话开始时全部加载。解决方案启用懒加载。配置{ env: { ENABLE_TOOL_SEARCH: true } }MCP 工具只在被调用时加载节省初始上下文。技巧 3搜索历史对话快速找到之前的方案上周写的代码现在想不起来怎么实现的所有对话存储位置~/.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(.typeuser) | .message.content或者直接问 Claude搜索我的历史对话找到关于 Reddit 的讨论第二部分高级工作流技巧 1Git Worktrees 多分支并行工作需要同时开发多个功能但切换分支很麻烦什么是 Worktree一个 worktree 一个分支 一个目录可以同时在多个分支工作不用来回切换使用方法# 让 Claude 创建 worktree 创建一个 git worktree 用于 feature-x # Claude 会执行 git worktree add .claude/worktrees/feature-x -b feature-x cd .claude/worktrees/feature-x适用场景同时开发多个功能测试不同方案紧急修 bug 不想打断当前工作技巧 2多标签页工作流用多标签页方式管理多个任务。我的方法Tab 1: 语音转录系统常驻 Tab 2: Docker 容器配置 Tab 3: 检查磁盘空间 Tab 4: 工程项目 Tab 5: 写教程 ← 当前原则新任务开在最右边从左到右扫描老任务 → 新任务最多同时 3-4 个任务完成的任务关闭标签为什么这样做方向一致不会乱。容易追踪进度。技巧 3手动指数退避等待长时间任务解决方案让 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 watchgh run watch 输出太多浪费 Token。手动退避更节省。第三部分实战场景很多人觉得 AI 最适合写代码。我现在反而觉得它最适合处理那些人类不想盯着看的东西。技巧 1PR 审查助手需要审查一个复杂的 PR工作流程第 1 步获取 PR 信息获取 PR #123 并显示摘要第 2 步逐文件审查逐文件审查变更重点关注 1. 潜在 bug 2. 安全问题 3. 性能问题 4. 代码风格第 3 步交互式讨论为什么这里用 Promise.all 而不是顺序执行 这个 SQL 查询有注入风险吗 这个函数可以优化吗技巧 2DevOps 工程师GitHub Actions CI 失败了需要排查原因。工作流程第 1 步查看失败的 run调查最新 commit 的 GitHub Actions 为什么失败第 2 步分析日志分析错误日志找出根本原因第 3 步定位问题 commit这是某个特定 commit 导致的吗如果需要可以用 git bisect第 4 步创建修复 PR创建一个 draft PR 来修复这个问题技巧 3完整的 write-test 循环如果想让 Claude 自主工作必须给它验证结果的方法。示例用 git bisect 找 bug问题/compact 命令突然报 400 错误不知道哪个 commit 导致的。解决方案让 Claude 用 git bisect 自动定位。步骤 1写测试脚本# 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步骤 2让 Claude 运行 bisect用 git bisect 找出哪个 commit 破坏了 /compact。 用 test-compact.sh 验证每个 commit。为什么这样做Claude 可以自主验证结果不需要你手动测试每个 commit。第四部分避坑指南技巧 1CLAUDE.md 保持简洁错误做法# CLAUDE.md (500 行) ## 项目介绍 这是一个用户认证系统...100 行 ## 代码规范 ...200 行 ## 架构说明 ...200 行正确做法# CLAUDE.md (50 行) ## 核心规则 - 使用 Bun不用 npm - 提交前运行 bun test - 当前 sprintauth refactor ## 常见问题 - 数据库连接字符串在 .env - API 文档在 docs/api.md原则只写重复出现的规则保持 60 行详细文档放在单独文件。技巧 2验证 Claude 的输出错误做法Claude: 完成了 你: 好的 ← 直接信了正确做法Claude: 完成了 你: 让我验证一下... 验证方法 1. 让 Claude 写测试并运行 2. 用 GitHub Desktop 查看 diff 3. 创建 draft PR 审查 4. 让 Claude 自己 double-check我最喜欢的 prompt“仔细检查你写的所有代码验证每一处逻辑最后做一个表格列出你能验证的内容总结上下文管理技巧 1-3主动压缩上下文懒加载 MCP 工具搜索历史对话高级工作流技巧 1-3Git Worktrees 并行工作多标签页管理手动指数退避实战场景技巧 1-3PR 审查助手DevOps 工程师write-test 循环避坑指南技巧 1-2CLAUDE.md 保持简洁验证输出