
爱的人离开了 才让我开始学会去爱
✅ 可验证的反馈闭环 ✅ 可共享的集体记忆 ✅ 可自动化的高频动作
这三点,缺一不可。 模型再强,不验证 = 盲人开车 提示再精,不共享 = 重复造轮子 流程再顺,不自动化 = 裸手搬砖
今天就来分享claude code之父使用AI的技巧。
💡 每一条都来自 Claude Code 之父 Boris Cherny 亲授,是「生产环境真·生存法则」。


Boris 原话 “我同时跑 5 个本地 Claude 实例,标签页编号 1-5。 它需要我输入?系统通知会喊我—— 就像养了 5 只高智商边牧,谁饿了自己叼碗过来。”
🧠 小剧场: 你:「一次只聊一个,怕它分心」 Boris:「不,怕的是——你分心时,它干等着」 👉 高并发的不是 AI,是人的上下文切换能力。
Boris 的日常:
& 一键 teleport 到 claude.ai/code,接着细化--teleport 接手,跑测试、改代码🔹 关键命令:
# 终端 → 网页:传送当前会话
claude-code --teleport
# 网页端手动启动(URL 自动带 session ID)
# → https://claude.ai/code?session=abc123🪄 魔法点:会话状态完整保留——连光标位置、未提交的编辑都同步! → 你不是在「换设备」,是在「换姿势继续写」。
使用 &符号把任务迁移到web端


这里就有些自卖自夸了,至于哪个模型最好,啊同人不同场景,答案可能不一样。
Boris 原话 “Opus 4.5 是我用过最好的编码模型。 它慢?是。但它几乎不用引导,还能主动用工具—— 算下来,总耗时反而更少。”
🔹 数据对比(Boris 团队实测):
任务 | Sonnet 3.5 | Opus 4.5 |
|---|---|---|
实现登录 + JWT | 12 分钟(3轮修正) | 6 分钟(1轮通过) |
修一个 flaky test | 找不到根因 | 自动 git bisect + 复现步骤 |
🎯 关键:开启 Think Mode(思考模式) → 让它先写计划,再执行。Plan 都对了,Code 还会错? 不过这个问题是仁者见仁了,不同场景下可能需要不同的模型来最大化效率。
CLAUDE.md —— 给 AI 写「团队风格指南」
这不是文档,是「集体记忆体外硬盘」 - ✅ 常见 bash 命令(
git commit -m "feat: ...") - ✅ 代码风格(「别用var,用:=」) - ✅ 错误日志格式(logger.Errorw("msg", "err", err)) - ✅ PR 模板(「Changes: / Testing:」)
🔹 尺寸控制:Boris 的 CLAUDE.md ≈ 2.5K tokens
→ 够用,不臃肿,像一本「程序员生存手册」,不是百科全书。
📌 灵魂操作: 每次 Code Review 发现 Claude 写错 → 立刻加一条到
CLAUDE.md→ 下次,它就「长记性」了。
如下是claude code团队的习惯做法


claude.md里面主要包含了项目的命令,代码风格,仓库协作规范,AI常犯的错误。
@.claude —— 自动更新 CLAUDE.md
@.claude
请将以下规则加入 CLAUDE.md:
- 所有 API 错误必须返回结构化 JSON:`{"error": "msg", "code": "ERR_XXX"}`🎁 复利式工程(Compounding Engineering): 今天花 1 分钟写规则,未来 1000 次 PR 自动受益。

并不是所有任务都需要用到计划的,很简单的任务用计划就是杀鸡用牛刀了!
Boris 心法 “如果目标是写一个 PR,我 90% 时间花在 Plan Mode。 计划对了,Auto-Accept 模式一开——它常一次性搞定。”
🔹 典型计划结构:
1. 分析需求:用户需要「按标签筛选笔记」
2. 设计 API:`GET /notes?tags=go,ai`
3. 修改 DB schema:加 `tags` 字段(TEXT + JSON)
4. 实现控制器 + 单元测试
5. 更新 Swagger 文档✅ 你确认 ✔️ → 它自动执行 ❌ 你划掉 ✖️ → 它重写计划 → 你控方向,它控细节。
/slash 命令 —— 把工作流「封装成命令」
示例:/commit-push-pr(Boris 每天用几十次)
# .claude/commands/commit-push-pr.yaml
name: Commit, Push, and Create PR
description: Stage all, commit w/ conventional commit, push, open PR
bash:|
git add .
git status --porcelain | head -5# inline preview
# → Claude 会读 stdout 决定下一步,不反复问你!
steps:
-prompt:"Commit message (conventional style):"
variable: COMMIT_MSG
-run:'git commit -m "$COMMIT_MSG"'
-run: git push -u origin HEAD
-run: gh pr create --fill→ 高频动作,一键封装,永不遗忘。
如下是命令的位置


code-simplifier主任务完成后,自动简化代码
→ “这段能用 lo.Map 重写吗?”verify-app端到端测试专用代理
→ “启服务 → curl /health → 检查日志 → 关服务”🔹 配置示例:
# .claude/subagents/verify-app.yaml
name: verify-app
instructions:|
Run the app and verify it works:
1. go build -o app && ./app &
2. sleep 2 && curl http://localhost:8080/health
3. grep "OK" in logs
4. kill %1🧠 哲理时刻: 别让主模型干杂活——给它配「实习生」。
PostToolUse 钩子 —— 给代码「最后抛光」// Claude 生成的代码(80分)
func getUser(id int)(*User,error){
user :=&User{}
if err := db.First(&user, id).Error; err !=nil{
return nil, err
}
return user,nil
}→ 经 PostToolUse 钩子自动美化:
// 钩子后(100分)
funcgetUser(id int)(*User,error){
var user User // 避免 &User{} 潜在 nil 问题
if err := db.First(&user,"id = ?", id).Error; err !=nil{
returnnil, fmt.Errorf("get user %d: %w", id, err)
}
return&user,nil
}→ CI 不再因格式挂掉。
/permissions 预授权 —— 绕过「烦人确认弹窗」🔹 正确姿势:
# 预授权常用命令(check in 到 .claude/settings.json)
claude-code /permissions --allow"git.*, make.*, go.*"→ 团队共享 settings.json:
{
"permissions":{
"allow":["git push","go test ./...","docker build ."]
}
}⚠️ 安全提示: 不要用
--dangerously-skip-permissions! 预授权 ≠ 放权,而是「明确授权」。

Boris 的真实用例:
bq query "SELECT count(*) FROM logs WHERE error" → 自动生成监控看板slack post --channel #alerts --msg "Deploy failed!"sentry fetch --event=abc123 → 自动分析崩溃堆栈🚀 一句话: 它不只需要
vim,它需要整个 DevOps 工具链。
场景 | 方案 | 工具 |
|---|---|---|
编译 + 测试(10min) | 后台代理验证 | /background-verify |
数据迁移(1h) | Stop 钩子自动收尾 | --hook-stop=scripts/cleanup.sh |
💡 核心思想:给它一个「验收标准」,然后放手。 → 你去开会,它去干活;你回来看结果。
对于长任务,我们希望它不要阻塞的执行下去,就需要配置下权限

“这可能是从 Claude Code 获得出色结果最重要的一点。” ——Boris Cherny

🔹 验证方式因场景而异:
curl /health && go test ./...🌈 金句: 没有验证的 AI 输出,只是「看起来很美」的幻觉。 有验证的 AI 输出,才是「可交付」的资产。
AI 不会取代程序员, 但会用 AI 的程序员,会取代不用 AI 的程序员。 而 Boris 告诉我们: 真正拉开差距的,不是谁用 AI, 而是谁给 AI 装上了「验证闭环」和「集体大脑」。