GenAI新世界

Boris 的 AI 编程实战指南:13 条高效开发技巧

Image

在人工智能深度融入软件开发的今天,如何真正让 AI 成为高效、可靠、可协作的“编程伙伴”,而不仅仅是代码补全工具?Claude Code 的创始人 Boris Cherny 给出了他的答案。作为 Anthropic 旗下 Claude 生态的重要构建者,Boris 并未依赖复杂的定制或炫技式的提示工程,而是通过一套高度结构化、可复用且注重反馈闭环的工作流,将 AI 编程效率提升到新高度。

今年初,他在 X上分享了 13 条日常实践,迅速在开发者社区引发热议——不是因为技术多么艰深,而是因为其务实、可操作、强调验证与协作的本质。从同时运行十余个 Claude 实例进行并行开发,到用 CLAUDE.md 构建团队共享知识库;从坚持使用 Opus 4.5 with Thinking 模型以减少人工干预,到为每一个长任务设计自动验证机制——这些做法共同指向一个核心理念:AI 的价值不在于“生成”,而在于“交付正确结果”。

更值得借鉴的是,Boris 的方法并非孤例,而是建立在权限安全、版本控制、自动化测试和团队协同基础上的工程化实践。他不仅让 AI 写代码,更让它参与代码审查、错误追踪、提交 PR 甚至 UI 验证,形成完整的开发内循环。本文完整整理并校对了 Boris 的 13 条 AI 编码技巧,希望能为正在探索 AI 增强开发(AI-Augmented Development)的你,提供一套可直接落地的参考框架。毕竟,在 AI 时代,真正的生产力差距,往往藏在工作流的细节里。

以下为全文编译:

我是 Boris,Claude Code 的创建者。很多人问我平时是怎么用它的,以下是我真实的 13 条使用习惯。你可能会觉得它们出奇地“朴素”——因为 Claude Code 开箱即用就非常强大,我几乎不做太多定制。我们设计时就坚信:没有唯一正确的使用方式。团队里每个人用法都不同,而这些是我的日常。

1. 同时运行多个 Claude 实例

我在终端中并行运行 5 个本地 Claude 实例(标签页编号 1–5),并通过系统通知知道哪个需要我介入。同时,在 claude.ai/code 上运行 5–10 个 Web 实例,与本地协同工作。

Image

2. 在设备间无缝切换会话

我经常通过 & 符号把本地会话移交到 Web 端,或在 Chrome 中手动开启新会话。还使用 --teleport 命令在本地与 Web 端之间迁移整个会话上下文。每天早上也会从 Claude iOS 应用启动若干会话,稍后再回来跟进。

Image

3. 所有任务都用 Opus 4.5 with Thinking

虽然它比 Sonnet 更大、推理稍慢,但因其更强的自主规划能力和更少的人工干预,整体效率反而更高。尤其在工具调用(tool use)方面表现卓越,长期看比小模型更快完成任务。

4. 团队共用 CLAUDE.md 文件

我们在仓库根目录维护一个 CLAUDE.md 文件,纳入 Git 管理。每当 Claude 做错事,我们就立刻记录进去,防止重蹈覆辙。每个团队都应有自己的 CLAUDE.md。

Image

5. 用 GitHub Action 自动化知识沉淀

在 Code Review 时,我会通过 @.claude 要求同事把经验写入 CLAUDE.md。我们通过 Claude Code GitHub Action(安装命令:/install-github-action)自动触发这一流程——这是我们对“复利工程”(Compounding Engineering)理念的实践。

Image

6. 几乎所有会话都从 Plan 模式开始

按两次 Shift+Tab 进入 Plan 模式。如果目标是提交 PR,我会先和 Claude 反复沟通,直到获得一个清晰可行的实施计划。

计划一旦确定,就切到 auto-accept edits 模式,让 Claude 一次性生成完整代码。好的计划至关重要!

Image

7. 用 Slash 命令封装高频操作

我为每天重复多次的“内循环”操作编写了 Slash 命令(如 /commit-push-pr),避免重复提示。这些命令存放在 .claude/commands/ 目录下,纳入 Git。例如,/commit-push-pr 会通过内联 Bash 预计算 git status 等信息,减少模型交互轮次,提升速度。

Image

8. 使用子代理(Subagents)自动化任务

我定期调用几个子代理:

  • code-simplifier:简化 Claude 生成的代码;

  • verify-app:提供端到端测试指令,验证 Claude Code 本身的功能。

它们是对高频工作流的进一步抽象。

Image

9. 用 PostToolUse Hook 处理格式问题

尽管 Claude 生成的代码通常格式良好,但我们仍配置了一个 PostToolUse Hook 来处理最后 10% 的格式细节,避免 CI 因 lint 或格式问题失败。

Image

10. 安全地管理权限

我从不使用 --dangerously-skip-permissions。而是通过 /permissions 预先授权环境中已知安全的 Bash 命令,避免频繁弹窗。这些权限配置保存在 .claude/settings.json 中,团队共享。

Image

11. 让 Claude 自动调用我的工具链

Claude Code 会自动集成我日常所需工具,例如:

  • 通过 MCP 服务器在 Slack 中搜索或发消息;

  • 使用 bq CLI 执行 BigQuery 查询;

  • 从 Sentry 抓取错误日志。

Slack 的 MCP 配置保存在 .mcp.json,同样团队共享。

Image

12. 长任务必须配验证闭环

对于耗时任务,我会采用以下任一策略:

  • 提示 Claude 完成后启动后台代理验证;

  • 使用 Agent Stop Hook 实现确定性验证;

  • 启用 ralph-wiggum 插件(由 @GeoffreyHuntley 构想)。

在沙箱中,我会用 --permission-mode=dontAsk 避免权限阻塞,让 Claude “放手烹饪”。

Image

13. 最关键的一条:给 Claude 一个验证机制

要想获得卓越结果,最关键的是:给 Claude 一个验证自己工作的闭环。一旦它能自我验证,产出质量通常提升 2–3 倍。

我提交到 claude.ai/code 的每一行代码,都会由 Claude Chrome 扩展自动测试:打开浏览器、执行 UI 测试、迭代修复,直到功能与体验达标。

验证形式因领域而异——可能是跑一个 Bash 命令、执行测试套件,或在模拟器中试用 App。务必把验证机制做得坚如磐石。

图片