Appearance
Boris Cherny 作为 Claude Code 的创始人,将自己和团队的真实使用习惯系统分享出来:最大的生产力提升来自并行(5–10 个 Claude 同时运行)+ Plan Mode(让规划 1-shot 实现)+ CLAUDE.md 持续迭代(让 Claude 自己写规则)。本文将他跨越数月的多篇 Tips 线程整合成一份可直接参考的行动指南。
Boris Cherny 实战经验精选:Claude Code 核心使用技巧
背景
Boris Cherny(@bcherny)是 Claude Code 的创始人,在 2026 年 1 月至 4 月间通过多个 X 线程分享了 50+ 条使用技巧,涵盖个人设置、团队规范、并行化工作流、Hooks、Subagents、权限管理、新功能(Opus 4.7、Auto Mode、/loop)等主题。
他的核心态度:Claude Code 开箱即用表现已经很好,不需要大量定制。最重要的是掌握几个杠杆点,其余交给 Claude 自己。
一、并行化:最大的生产力杠杆
核心原则:同时运行多个 Claude,而不是串行等待。
┌────────────────────────────────────────────────┐
│ Terminal Tab 1 │ Terminal Tab 2 │ Tab 3... │
│ Claude #1 │ Claude #2 │ Claude #3 │
│ feature-A │ refactor-B │ fix-bug-C │
└────────────────────────────────────────────────┘
↕ 系统通知 ↕
需要输入时弹出通知本地并行
- 5 个终端标签,标记 1–5,启用系统通知,Claude 需要输入时自动弹出
- 配合 git worktree(
claude -w):每个 session 操作独立的工作目录,避免冲突 - 可以给 worktree 起别名(
2a、2b、2c),一键切换
Web 并行
- 在
claude.ai/code再运行 5–10 个 Claude,与本地并行 - 用
/teleport把本地 session 迁移到 Web,或/remote-control从手机/Web 控制本地 session - Boris 在
/config中开启了"Enable Remote Control for all sessions"
/batch 大规模并行
/batch
→ Claude 采访你了解需求
→ 自动 fan-out 到几十甚至几百个 worktree agent
→ 适用于大型代码迁移、批量格式化等可并行化的工作多上下文窗口的价值
"同一个 agent 引入的 bug,另一个独立上下文的 agent 更能发现它。"
使用独立上下文窗口不仅能并行加速,还能捕捉同一个模型在单一上下文中会忽略的问题。这是 Code Review 功能和 Subagents 的理论基础。
二、Plan Mode:让规划变成武器
使用 Plan Mode 是提升大型任务一次性成功率的最高杠杆。
操作路径:Shift+Tab(两次)→ 进入 Plan Mode
或:--permission-mode plan(CLI 启动参数)核心用法
- 每次复杂任务都从 Plan Mode 开始:把精力放在规划上,让 Claude 尽可能 1-shot 实现
- 用两个 Claude 相互审查:一个 Claude 写计划,另一个以 Staff Engineer 身份审查它
- 出问题时立即切回 Plan Mode:不要继续推进,先重新规划
- 验证步骤也用 Plan Mode:不只是构建阶段,验证阶段也值得先规划
典型工作流
Step 1: Plan Mode → 描述目标 → Claude 主动提问澄清
Step 2: 来回讨论直到计划满意
Step 3: 切换 auto-accept-edits 模式 → Claude 1-shot 实现三、CLAUDE.md:团队最重要的共享资产
.claude/
└── settings.json ← 权限、环境变量、团队设置
CLAUDE.md ← 项目规范、Claude 的行为规则投资策略
| 触发时机 | 操作 |
|---|---|
| Claude 犯了一个错误 | "更新你的 CLAUDE.md,确保以后不再犯这个错" |
| 每次 PR 代码审查 | tag @claude 让它把相关规则加到 CLAUDE.md |
| 每次更正后 | 结尾加:"更新你的 CLAUDE.md,让你不再犯这个错" |
Claude 很擅长为自己写规则。
维护原则
- 共享到 git,全团队每周贡献多次
- 不断精简:只保留真正降低 Claude 错误率的规则
- 让某个工程师维护
notes/目录,每次 PR 后更新,CLAUDE.md 指向这个目录
四、Slash Commands 与 Subagents:自动化日常工作流
任何一天内重复 3 次以上的操作,都值得变成 Command 或 Subagent。
Slash Commands(.claude/commands/)
/commit-push-pr ← 提交 + 推送 + 创建 PR
/techdebt ← 找出并消除重复代码
/go ← 端到端测试 + /simplify + 创建 PRCommands 检入 git,团队共享。
Subagents(.claude/agents/)
Boris 常用的几个 subagent:
| Subagent | 职责 |
|---|---|
code-simplifier | Claude 完成工作后自动简化代码 |
verify-app | 端到端验证 Claude Code 工作结果 |
进阶用法:
- 在任何请求后追加 "use subagents" → Claude 用更多计算资源处理
- 把个别子任务卸载给 subagent,保持主 agent 上下文窗口干净
- 通过 Hook 把权限请求路由给 Opus,让 Opus 扫描安全性并自动批准安全命令
五、/loop:把工作流变成自动循环
Boris 运行中的部分循环任务:
bash
/loop 5m /babysit # 自动处理代码审查、自动 rebase、把 PR 推进到生产
/loop 30m /slack-feedback # 每 30 分钟自动把 Slack 反馈做成 PR
/loop /post-merge-sweeper # 处理漏掉的代码审查评论
/loop 1h /pr-pruner # 关闭过期或不再需要的 PR使用姿势:把工作流做成 Skill,然后用 /loop 驱动它。强大之处在于这些任务在后台持续运行,不需要你的注意力。
六、Hooks:确定性自动化
Hooks 是比 Prompt 更可靠的自动化机制,因为它不需要 Claude 配合,直接在生命周期事件上执行。
Boris 的 PostToolUse 格式化 Hook
json
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "bun run format || true"
}
]
}
]这个 Hook 让 Claude 写完代码后立即格式化,避免 CI 格式检查失败。
其他实用 Hooks
| 生命周期 | 用途 |
|---|---|
SessionStart | 动态加载本次 session 需要的上下文 |
PreToolUse | 记录每次 bash 命令 / 拦截危险命令 |
PermissionRequest | 路由到 WhatsApp/Slack/Opus 审批 |
Stop | 任务结束时自动 poke Claude 继续 |
七、权限管理:不用 --dangerously-skip-permissions
不要用 --dangerously-skip-permissions。改用 /permissions 预批准安全命令。
bash
# 通配符语法示例
Bash(bun run *) ← 允许所有 bun run 命令
Edit(/docs/**) ← 允许编辑 docs 目录所有文件- 常用的安全命令预批准后检入
.claude/settings.json,团队共享 - 新功能:Auto Mode(Opus 4.7 新增)——用模型分类器自动审批安全命令,真正实现无人值守并行
Shift+Tab循环切换:Ask permissions → Plan mode → Auto mode
八、给 Claude 验证自己工作的途径
"最重要的一件事:给 Claude 一种验证自己工作的方式。有了这个反馈循环,最终结果质量会提升 2–3 倍。"
| 任务类型 | 验证方式 |
|---|---|
| 后端 | 运行服务器/服务,端到端测试 |
| 前端 | 使用 Chrome 扩展给 Claude 控制浏览器 |
| 桌面应用 | Computer Use |
Boris 的 /go skill 固化了这个循环:
- 端到端测试(bash/browser/computer use)
- 运行
/simplify - 创建 PR
他的提示词通常长这样:Claude do <task> /go
九、MCP:让 Claude 用上你所有的工具
Slack MCP → Claude 自动回复 Slack 问题、把 Slack bug 线程做成修复
BigQuery bq CLI → Claude 直接回答数据分析问题,Boris 6 个月没写过 SQL
Sentry → Claude 自动抓取错误日志
Chrome Extension → 前端工作必备,给 Claude 控制浏览器的能力Slack MCP 配置检入 .mcp.json,团队共享。
Bug 修复新工作流:开启 Slack MCP → 把 Slack bug 线程粘贴给 Claude → 说 "fix" → 零上下文切换。
十、PR 工作流:小而精、squash 合并
Boris 的 PR 数据(141 PRs,合计 45,032 行变更):
| 指标 | 数值 |
|---|---|
| p50(中位数) | 118 行 |
| p90 | 498 行 |
| p99 | 2,978 行 |
| 最小 | 2 行 |
核心原则:
- 总是 squash 合并:每个 PR = 一个 commit,便于 revert 和 git bisect
- 保持 PR 小:中位 118 行,绝大多数 PR 在 500 行以内
/techdebt每次 session 结束时运行:找出重复代码并消除
十一、终端与环境配置
| 项目 | 推荐设置 |
|---|---|
| 终端 | Ghostty(同步渲染、24 位色彩、unicode 支持) |
| 状态栏 | /statusline 显示上下文用量和当前 git branch |
| 标签页 | 颜色标记 + 命名,配合 tmux |
| 输入 | 语音输入(/voice 或 iOS 听写),比打字快 3 倍 |
| 会话分支 | /branch 或 claude --resume <id> --fork-session |
十二、Opus 4.7 新功能速览
| 功能 | 触发方式 | 说明 |
|---|---|---|
| Auto Mode | Shift+Tab 循环 | 安全命令自动批准,无需人工确认 |
| Recaps | 自动 | 长任务后显示"做了什么/下一步是什么"摘要 |
| Focus Mode | /focus | 只显示最终结果,隐藏中间步骤 |
| Effort 档位 | /model 滑块 | low → medium → high → xhigh → max |
/fewer-permission-prompts | Skill 调用 | 扫描 session 历史,推荐应预批准的命令 |
--bare 标志 | CLI 参数 | SDK 启动速度最高提升 10x |
--add-dir | CLI 参数 | 跨 repo 工作时添加额外目录 |
关键原则总结
- 并行 > 串行:5–10 个 Claude 同时运行,配合系统通知管理
- 规划 > 直接实现:Plan Mode 是每次复杂任务的入场券
- CLAUDE.md 是资产:出错即更新,让 Claude 自己写规则
- 验证是乘数:给 Claude 验证途径 = 输出质量 2–3x
- Hooks 比 Prompt 可靠:需要确定性行为时用 Hook,而不是祈祷 Prompt 管用
- 小 PR + squash:中位 118 行,总是 squash,历史干净可 revert
FAQ
Q: Boris 说自己的设置"surprisingly vanilla",那还需要定制吗?
A: "Vanilla"指的是他不做奇怪的 hack,而不是什么都不配置。他实际上有 commands、subagents、hooks、多个 MCP——只是这些配置是自然演化出来的,不是为了折腾而折腾。建议同样从需求出发:遇到重复 3 次以上的操作才做成 Command,遇到需要确定性时才加 Hook。
Q: 需要同时用 Opus 4.7 才能享受 Auto Mode 吗?
A: 是的,Auto Mode(以及 Recaps、Focus Mode)是 Opus 4.7 新增的功能,Max/Teams/Enterprise 用户可用。Sonnet 和 Haiku 不支持 Auto Mode。
Q: /loop 任务在 session 关闭后消失,怎么处理长期自动化?
A: 使用 /schedule 代替 /loop。/schedule 在云端运行,不依赖本地 session,适合每日晨报、定期健康检查等跨 session 需求。
Q: 141 PRs/day 是真实数据还是炫耀?
A: Boris 自己说是真实统计。这个数字反映了并行 worktree + 高频 squash 合并的工作方式,每个 PR 中位 118 行,相当于每天合并约 16,000 行净变更。关注这个数字背后的方法:小批次、快速迭代、自动化验证,而不是追求数量本身。