我是Boris,Claude Code 是我开发的。很多人问我如何使用 Claude Code,所以我想简单展示一下我的配置。 我的配置可能出乎意料地简单!Claude Code 开箱即用,效果非常好,所以我个人很少对其进行自定义。使用 Claude Code 没有唯一正确的方法:我们特意将其设计成可以随意使用、自定义和修改的。Claude Code 团队的每位成员使用它的方式都各不相同。好了,开始吧。
1/ 我在终端中并行运行 5 个 Claude 进程。我将标签页编号为 1-5,并使用系统通知来了解何时某个 Claude 进程需要输入 https://code.claude.com/docs/en/terminal-config#iterm-2-system-notifications
2/ 我还在 claude.ai/code 上运行 5-10 个 Claude 实例,与本地的 Claude 实例并行运行。我在终端编写代码时,经常会将本地会话切换到 Web(使用 & 参数),或者在 Chrome 浏览器中手动启动会话,有时还会使用 —teleport 参数在本地和 Web 之间来回切换。此外,我每天早上和白天都会从手机(通过 Claude iOS 应用)启动几个会话,之后再查看它们的运行情况。
3/ 我使用 Opus 4.5 并结合 Thinking for Everything。这是我用过的最好的编码模型,虽然它比 Sonnet 更大更慢,但由于它需要的干预更少,而且工具使用更高效,所以最终它几乎总是比使用较小的模型更快。
4/ 我们团队共享一个用于 Claude Code 代码库的 CLAUDE.md 仓库。我们会将代码提交到 Git,整个团队每周都会多次贡献代码。每当我们发现 Claude 做错了什么,我们都会将其添加到 CLAUDE.md 仓库中,以便 Claude 下次避免犯同样的错误。 其他队伍也维护着自己的 CLAUDE.md 网站。每个队伍都有责任及时更新自己的网站。
5/ 在代码审查期间,我经常会在同事的 PR 中标记 @.claude,以便将一些内容添加到 CLAUDE.md 中。我们使用 Claude Code 的 GitHub 操作(/ install-github-action) 来实现这一点。这是我们版本的 @danshipper 的 复合工程(Compounding Engineering)。
6/ 大多数会话都从计划模式(Shift+Tab 两次)开始。如果我的目标是提交一个 Pull Request,我会使用计划模式,然后和 Claude 反复沟通,直到我对计划满意为止。之后,我会切换到自动接受修改模式,Claude 通常可以一次性完成。一个好的计划真的非常重要!
7/ 我在所有需要每天多次执行的“内部循环”(inner loop)工作流程中都使用斜杠命令。这避免了我重复输入命令,也使得 Claude 也能使用这些工作流程。这些命令已提交到 git 仓库,并位于 .claude/commands/ 目录下。 例如,我和 Claude 每天都会使用数十次 `/commit-push-pr` 命令。该命令使用内联 bash 预先计算 git 状态和其他一些信息,以加快命令运行速度,并避免与模型( https://code.claude.com/docs/en/slash-commands#bash-command-execution )来回交互。
8/ 我经常使用一些子代理:code-simplifier 会在 Claude 完成工作后简化代码,verify-app 会提供详细的端到端 Claude 代码测试指南,等等。类似于斜杠命令,我认为子代理的作用是自动化我处理大多数 PR 时最常用的工作流程。https://code.claude.com/docs/en/sub-agents
9/ 我们使用 PostToolUse Hook 来格式化 Claude 生成的代码。Claude 通常能自动生成格式良好的代码,而该钩子会处理最后 10% 的代码,以避免后续在持续集成 (CI) 过程中出现格式错误。
10/ 我不使用 `—dangerously-skip-permissions` 参数。相反,我使用 `/permissions` 参数预先允许一些我知道在我的环境中安全的常用 bash 命令,以避免不必要的权限提示。这些配置大部分都已提交到 `.claude/settings.json` 文件中,并与团队共享。
11/ Claude Code 为我使用所有工具。它经常搜索信息并发布到 Slack(通过 MCP 服务器),运行 BigQuery 查询来回答分析问题(使用 bq CLI),从 Sentry 获取错误日志等等。Slack MCP 配置已添加到我们的 .mcp.json 文件中,并与团队共享。
12/ 对于耗时很长的任务,我会采取以下措施:(a) 任务完成后,提示 Claude 通过后台代理验证其工作状态;(b) 使用代理的停止钩子以更确定的方式进行验证; (c)使用 ralph-wiggum 插件(最初由 @GeoffreyHuntley 提出)。此外,我会在沙盒环境中使用 `—permission-mode=dontAsk` 或 `—dangerously-skip-permissions` 参数,以避免会话期间出现权限提示,这样 Claude 就可以不受我的限制地运行。
- https://github.com/anthropics/claude-plugins-official/tree/main/plugins/ralph-wiggum
- https://code.claude.com/docs/en/hooks-guide
13/ 最后一点建议:要想让 Claude Code —发挥最佳效果,最重要的一点可能是给 Claude 提供验证其运行结果的方法。如果 Claude 有这种反馈机制,最终结果的质量将提升 2-3 倍。 Claude 使用 Claude Chrome 扩展程序测试我对http://claude.ai/code所做的每一个更改。它会打开浏览器,测试用户界面,并不断迭代,直到代码运行正常且用户体验良好为止。 每个领域的验证方式都不尽相同。它可能很简单,只需运行一个 bash 命令,或者运行一套测试套件,或者在浏览器或手机模拟器中测试应用程序。务必确保验证过程万无一失。
https://code.claude.com/docs/en/chrome
希望这篇文章对您有所帮助!您在使用 Claude Code 时有什么技巧?您接下来想了解什么内容?
评论区 QA
Q:这简直太划算了,谢谢。 我认为,如果能够将消息放入 CC 队列而不是中断代理,将会非常有用。
A:这项功能已得到充分支持,几个月前就已添加。只需在 Claude 运行时发送消息,它就会尽快处理。
Q:这很棒,不过有个问题——如果同时运行多个会话,如何确保和管理会话之间的内存共享?或者说,如何进行会话间握手(假设它们在处理同一个任务,如果任务不同也没关系)?另外,如何管理上下文窗口?
A:每个标签页都有自己的 Git 检出。 Claude 负责处理上下文,我在这方面没做什么特别的事。