№ 01 · ISSUE I2026 · 05
深入 Claude Code A Field Manual
智慧医院团队 · INTERNAL
Issue
№ 01
Volume
2026 · May
Audience
智慧医院团队
Time
半日 · 4h

深入 Claude® Code.

Based on Anthropic Official Docs
一份给团队的实战手册 — 不是教你"怎么用 Claude Code 补全代码", 而是教你把它从工具升级为协作者
BY · Yaniel Yu
FOR · 智慧医院后端 / 前端
REPO · JeecgBoot / hospital
№ 01 · 2026.0500 / 14 · COVER↓ SCROLL OR PRESS SPACE
Chapter 01 · 序

承认一件事 —
我们大多数人,只用了 30%。

Claude Code 是一个代理式编程环境(agentic coding environment)—— 它能读文件、跑命令、改代码、连接外部工具、自主推进问题,不是一个聊天补全器。 但绝大多数团队使用它的方式仍然停留在"问一句、改一行"。

为什么是 30% · 四层只用了一层

Claude Code 的能力分四层(第 02 章会展开): ① 直接对话工具(Read / Edit / Bash …) · ② 项目记忆CLAUDE.md、auto-memory) · ③ 团队扩展(技能 / 子代理 / 钩子) · ④ 多会话编排(并行 / 无人值守)。

我们观察医院团队前三周的日常使用:超过 90% 的对话停留在 Layer I——直接问、直接答、直接补。 没人调用过自己仓库的技能;没人派过子代理做研究;没人写过钩子拦截危险操作。 四层只用了一层,所以是 30%(其实更少)。

举个例子 · 同一个需求,两种成本

需求:在 jeecg-online 模块里加一个表单——把住院患者基础信息收上来。

30% 玩法 · 只用 Layer I

  • "帮我加一个住院患者表单"
  • Claude 不知道仓库约定,按通用 Spring Boot 写了一版
  • 跑起来报错——少了 @Dict、字段名不符 bizPath 规范
  • 你贴报错回去再问、再返工,来回 3 轮
  • 最后你自己翻 jeecg-online 文档对接
  • 总耗约 1.5 小时 · 上下文吃掉 60K token

80% 玩法 · 用上 Layer II/III

  • "用 /jeecg-online-forms 帮我加住院患者表单,字段:姓名、住院号、入院时间、科室"
  • Claude 加载本仓库的技能(skill),按既有约定生成
  • 第一次就符合 @Dict / bizPath / 字段命名规范
  • /verify 编译通过
  • 总耗约 15 分钟 · 上下文只用 12K token

差 6 倍。不是 Claude 变笨了,是你没把该用的层用上。 这本手册剩下的章节就是把这另外 50% 补回来。

Claude's context window fills up fast, and performance degrades as it fills. Anthropic · Claude Code Best Practices

如果你只记本书的一句话,就记上面这句 —— 所有的建议(从 /clear 到子代理、从计划模式到 git worktree) 都是为了同一件事:把上下文当作最稀缺的资源来管理。 第 07 章会算清楚为什么稀缺。

№ 0101 / 14 · PROLOGUEUPSTAIRS
Chapter 02 · 功能地图
决定上限的不是模型 —— 是模型外面那圈 Anthropic · Claude Code at Scale · 2026

官方原话是 "the harness matters as much as the model" —— 围绕模型搭起来的那一圈(CLAUDE.md · Hooks · Skills · Plugins · LSP · MCP · Subagents), 决定 Claude Code 的实际能力,比模型分数更甚。换 Opus 不会救你,搭好 harness 才会。

四层
地图

把那"一圈"摊开,就是同心的四层。越往内层,越关乎你的当下对话;越往外层,越关乎你的团队资产

不是功能列表,是使用心智模型。每当你想"这件事我该怎么做",先问自己 —— 它属于哪一层?

01

工具Tools

Claude 在本轮对话内能用的原子能力。

  • Read · 读文件
  • Edit / Write · 改文件
  • Bash · 跑命令
  • Grep / Glob · 搜索
  • WebFetch · 抓网页
02

记忆Context & Memory

每次启动都会被加载、跨会话存在的知识

  • CLAUDE.md · 项目宪法
  • ~/.claude/CLAUDE.md · 个人偏好
  • CLAUDE.local.md · 个人项目笔记
  • memory/ · auto-memory
  • @import · 文档拼接
03

扩展Extensions

团队的工作方式固化进仓库的三种机制。

  • .claude/skills/ · 可复用工作流
  • .claude/agents/ · 隔离子代理
  • .claude/hooks/ · 事件触发
  • MCP servers · 外部能力
  • /plugin · 打包安装
04

编排Orchestration

多个 Claude · 多种模式 · 多条会话的调度

  • Plan Mode (Shift+Tab)
  • Auto Mode · 无人值守
  • claude -p · headless
  • git worktree · 并行
  • Agent Teams · 团队协作
多数团队只用 Layer I。少数会写 CLAUDE.md (Layer II)。真正"深用"是指四层都在用。 本书剩下的章节按这个顺序展开。 Source · Anthropic Docs / Overview
№ 0102 / 14 · THE MAPFOUR CONCENTRIC RINGS
Chapter 03 · 三种扩展机制

Skills · Subagents · Hooks
用对层级,胜过用对工具。

最常见的错配:把行为约束写进 prompt(该用 hook),把工作流粘贴到每个会话(该写 skill), 把探查塞进主上下文(该派 subagent)。 Source · alexop.dev / boringbot
SKILLS · 技能 SUBAGENTS · 子代理 HOOKS · 钩子
本质 一段写在 SKILL.md 的"做事说明书" 独立上下文窗口里的专家 事件触发的确定性脚本
上下文 同一窗口·加进主对话 独立窗口·只回传摘要 不进上下文·shell 层执行
什么时候用 同一段指令你写过两次 —— 它就该是 skill 研究/审查/重构 —— 会把主上下文淹没的脏活 必须每次都发生的强制动作 —— format / lint / 阻止误删
调用方式 /skill-name 或由 Claude 按 description 自动加载 主 agent 通过 Agent 工具派发 PreToolUse / PostToolUse / Stop 等事件自动触发
失败时 模型可能"忘了"用 —— 描述要写清楚触发条件 派多了会浪费 token —— 单 agent 能搞定的别派 5 个 exit code 2 阻塞操作 —— Claude 收到错误反馈并自纠
本仓库示例 verify, jeecg-online-forms, diagnose Explore, Plan, code-reviewer commit 前 /verify · 阻止改 generated 目录
Start Here

Skill 开始

Skill 是最容易写、回报最高的扩展。任何"我又给 Claude 解释了一遍同样的事",下次就应该是 skill。

When to add

Hook 是底线

凡是"必须每次都发生 · 零例外"的事,写成 hook。CLAUDE.md 里的规则是建议,hook 是强制。

When it matters

Subagent 是手术刀

仅在"并行"或"上下文隔离"真有价值时派出。不要为了显得高级就开 5 个 agent。

№ 0103 / 14 · THE THREE LAYERSUSE THE RIGHT LAYER
Chapter 04 · 核心工作流

Explore
Plan → Code → Commit.

Anthropic 官方推荐的四阶段循环。一句话总结:把"想清楚"和"动手做"分开,避免在错的问题上动手。

i.

Explore

计划模式 · Shift+Tab

让 Claude 先读,不写。回答你的问题、整理它对代码的理解,不让它碰文件。

读一下 /src/auth,告诉我现在
会话是怎么处理的。
ii.

Plan

计划模式 · Ctrl+G 改方案

让 Claude 出书面方案:要改哪些文件、流程是什么、有什么取舍。看完不顺眼就 Ctrl+G 改。

我想加一个 Google OAuth 登录。
写一份方案给我。
iii.

Code

默认模式 · 边写边验

退出计划模式让它实施。立刻跑测试、跑 lint、跑编译——让它自己看错自己改。

按方案实施。写测试并运行,
有挂掉的就修。
iv.

Commit

默认模式 · 用 git

让 Claude 写提交信息和 PR 描述。它比你更有耐心写完整的"为什么"。

写一条详细的提交信息并
开一个 PR。

为什么是这个顺序 · 每一步都在防一种错

Explore 防 · 凭印象写

不读 = 猜

跳过 Explore,Claude 会根据"通用 Spring Boot 项目"的印象写——可能完全不符合本仓库的 LiteFlow / 多租户约定。 用上下文修猜错的代码比用上下文先读一遍贵 5–10 倍。

Plan 防 · 解决错的问题

不规划 = 返工

跳过 Plan 直接 Code,平均要返工 2–3 次—— 因为"你以为的需求"和"实际可行的方案"很少第一次就重合。 Plan 是一份契约,让分歧在动手前暴露。

Code 防 · 看着对其实不对

不验证 = 假完成

没有跑过测试的代码不能算完成。Claude 会产出"看起来对"的东西。 第 05 章专门讲为什么验证是单一最高杠杆率的实践。

举个例子 · "加个收住院押金的接口"

跳过 Plan · 直接 Code

  • "帮我加一个收住院押金的接口"
  • Claude 没考虑现有支付通道封装,自己写了一套
  • 提交后才发现要接进 LiteFlow 流程
  • 返工:拆掉新写的,改用现有 Flow → 又发现少了多租户上下文 → 再改
  • 来回 3 轮,约 1.5 小时

先 Plan · 再 Code

  • "我要加收住院押金接口。先看下现有支付/LiteFlow 怎么走,再给我写方案"
  • Plan 输出:复用 PaymentFlow、加 DepositNode、多租户用 TenantContext
  • 你扫一眼方案,点头
  • 实施 + 验证 + 提交
  • 一次过,约 30 分钟

差 3 倍。越大、越陌生、越跨模块的改动,差距越夸张。

什么时候该 Plan? 改一行错别字、加一句日志、重命名变量——这些一句话能描述的改动跳过 Plan, 硬要 Plan 反而是把时间花在仪式上。Plan 是为不确定方向 / 涉及多文件 / 不熟悉的代码准备的。 Source · Best Practices §Explore
大特性?让 Claude 反过来面试你。AskUserQuestion 工具让它问你 20–30 个问题, 覆盖技术 / UX / 边界 / 取舍,写完 SPEC.md新开一个会话实施—— 研究和实施分两个上下文,省一半 token。 Source · Best Practices §Interview
№ 0104 / 14 · WORKFLOWSEPARATE THINK FROM DO
Chapter 05 · 验证

给它一把
尺子。

Anthropic 官方原话:"Give Claude a way to verify its work." 全套官方建议里,这一条被反复说是单一最高杠杆率的实践。本章解释为什么。

为什么是最高杠杆率 · 你不是反馈环的替代品,是它的瓶颈

Claude 生成代码靠的是概率——它没有"对错"的内置判断,只有"像不像之前见过的可工作代码"的判断。 所以它会产出"看起来对但实际不工作"的东西。

没有验证手段时,你就是它唯一的反馈环——它写、你跑、你贴报错、它改、你再跑…… 循环里每一步都要消耗你的注意力 + 上下文。 给它一把尺子(测试 / 编译 / 截图比对),它就能自己跑这个循环,你只需要在它收工时看一眼结论

没验证 · 你来兜底

每错一次 ~10K

调试一个 Claude 引入的 bug 平均消耗:
报错信息 + 你的复述 ≈ 1K ·
它来回分析 ≈ 5–8K ·
读相关文件确认 ≈ 5K ·
合计约 10–15K token,加你几十分钟。

有验证 · 它自己兜

每验一次 ~1K

跑一次 mvn compilevitest
命令输出(成功)≈ 200 token ·
失败时它自己读错误信息 + 修 ≈ 1–2K ·
合计 0.5–2K token,10 秒钟。

差距

5–10 倍

这就是"最高杠杆率"的具体含义—— 一个 "跑完测试" 的指令,把每次错误的成本砍掉一个数量级。 放进每个任务的 prompt 里都不亏。

举个例子 · 把同一句话改成"可验证"

模糊实现一个邮箱地址校验函数
可验证写一个 validateEmail 函数。测试:user@example.com → true,invalid → false。实现后跑测试。
模糊把仪表盘 UI 再改好看点
可验证[贴上设计稿截图] 按这个稿子改。改完截屏,对比原稿列差异,逐项修。
模糊构建挂了,修一下
可验证构建报错是 [报错文本]。修掉,重新跑构建确认通过。找根因,不要 try-catch 蒙混过去。

共同点:每个"可验证"版本都明确告诉 Claude 怎么知道做完了—— 测试用例、像素对比、构建通过。"做完"不再是 Claude 自己判断的,是一个客观的二值信号。

If you can't verify it, don't ship it. Anthropic · Common Failure Patterns
本仓库的实操: 后端用 mvn clean compile,前端用 pnpm build, 两个都已经封进 verify 技能。 所有代码改动后让 Claude 跑 /verify—— 不要靠人眼看改动,看 diff 不验证就等于在用眼睛跑测试本仓库 · .claude/skills/verify/SKILL.md
№ 0105 / 14 · VERIFICATIONHIGHEST-LEVERAGE PRACTICE
Chapter 06 · CLAUDE.md 纪律

CLAUDE.md 当代码维护。
不当文档,当宪法。

CLAUDE.md每一次会话启动都会被自动注入到对话开头的文件—— Claude 还没看到你说话之前,先看完它。 所以这份文件不是项目说明书,是这个项目下 Claude 的"宪法":定基调、定红线、定本仓库特有的东西。

为什么越短越好 · 每次启动都在收税

税单 · 字数 → token

50 行 ≈ 2K

一行中文 / Markdown 约 30–50 token:
50 行 ≈ 2,000 token
200 行 ≈ 8,000 token
800 行 ≈ 30,000 token

税单 · 启动占比

800 行 = 吃 15% 窗口

一份 800 行的臃肿 CLAUDE.md —— 你还没说话,主上下文已经少了 15%。 一天工作下来累计就是几十次启动税。

税单 · 注意力衰减

规则会被淹没

模型对长指令存在"遵循衰减"——越靠后越容易被忘。 一份 50 行的 CLAUDE.md,每条都会被记得; 一份 800 行的,关键 5 条混在 795 行废话里,违反频率显著上升。

所以官方建议是一句话:对每一行都问"删了会不会让 Claude 犯错?" 如果不会,就删。 50–100 行是合理上限。再多的内容用 @import 拆到 .claude/rules/,按需加载。

应该写进 CLAUDE.md

  • Claude 无法猜到的 bash 命令
  • 与默认不同的代码风格
  • 测试运行器偏好(跑单测而不是全量)
  • 仓库礼仪:分支命名、PR 约定
  • 项目特有的架构决策
  • 开发环境怪癖、必需环境变量
  • 非显而易见的"坑区"

不要写进 CLAUDE.md

  • Claude 读代码就能知道的东西
  • 标准语言惯例("用 ===")
  • 详细的 API 文档(链过去就行)
  • 会频繁变动的信息
  • 长篇解释或教程
  • 每个文件的逐项描述
  • "写干净的代码"这种废话
全局
~/.claude/CLAUDE.md

个人偏好

跨所有项目生效 · 不进仓库 · 写你的 RTK、你的提交风格、你的个人癖好。

项目
./CLAUDE.md

团队宪法

进 git · 全员共享 · 模块、架构、踩坑区。本仓库根目录已经做得很好 —— 看一遍就懂。

私有
./CLAUDE.local.md

个人项目笔记

进 .gitignore · 只你看 · 写你和这个仓库的"小秘密" —— 临时密钥、还在尝试的工作流。


一部宪法
+ 一份地方性法规

根目录 CLAUDE.md基调:项目是什么、架构怎么分、有哪些踩坑区。 子目录 CLAUDE.md地方规矩:跑哪条命令、用哪个测试入口、本模块的特有约定。

官方建议:命令应当声明在最靠近"它真正运行的地方"。 根目录写 mvn clean compile 是浪费 —— 模块根目录写才有用,因为那是命令真的能跑通的地方。

# 根 · 定基调
JeecgBoot/CLAUDE.md
  ├─ 项目是什么
  ├─ 模块图 / 架构
  └─ 全局约定

# 子目录 · 定命令
.../jeecg-module-his-zhiye/CLAUDE.md
  ├─ 本模块跑什么 lint
  ├─ 本模块测什么用例
  └─ 本模块特有的坑

# Claude 在该目录工作时
# 会自动加载它,不会污染别处

约束有保质期

每 3–6 个月,或每次模型大版本之后,回头审一遍 CLAUDE.md。 旧模型时代写下的"安全网",到新模型上常常变成束缚。

一个真实例子:旧模型容易把跨文件改动搞乱,于是有团队在 CLAUDE.md 里写"一次只改一个文件"。 新模型完全能处理协调的多文件编辑 —— 这条规则就从护栏变成了限速带。

翻修清单:哪条规则去年很重要、今年看是冗余的?哪条还在天天被违反、其实该改成 hook?哪条根本没人记得为啥写的?

失败信号:如果 Claude 反复违反 CLAUDE.md 里的某条规则 —— 不是它笨,是规则被噪声淹没了。删 50% 内容比加"IMPORTANT"前缀更有效。 Source · Best Practices §CLAUDE.md
№ 0106 / 14 · CLAUDE.md DISCIPLINEPRUNE · LAYER · REVISIT
Chapter 07 · 上下文管理

上下文是最稀缺资源 —
花掉它,就回不来。

上下文 = 这一次会话里 Claude 能"记得"的全部东西 —— 你说过的话、它读过的文件、它跑过的命令的输出。 它有一个固定上限,每次启动从零开始算,用完了不能续杯。 本章只回答一个问题 —— 为什么这玩意儿这么稀缺,又怎么省着花

为什么稀缺 · 20 万看着多,烧起来很快

上限

约 20 万 token

Sonnet 默认窗口约 200,000 token,Opus 长上下文版到 1,000,000。 一行中文大约 30–50 token,一行 Java 代码 10–20 token。 看着像个大水池,放水比想象中快

单次消耗

动辄数万

读一个 500 行的源文件 ≈ 5,000–10,000 token;
全仓 grep 返回几千行匹配 ≈ 2–5 万 token;
一次失败的调试来回(读 3 文件 + 跑测试 + 看报错)≈ 2–3 万 token。

性能曲线

用过一半就降级

Anthropic 官方原话:"context window fills up fast, and performance degrades as it fills." 社区共识是:用过一半开始遗忘早期约束;三分之二之后不按要求走;接近满会出现幻觉。

举个例子 · 一次跨模块调试有多贵

场景:你在 JeecgBoot 里查一个跨模块的 bug —— "his-zhiye 模块发起的请求,internet-hospital 那边没收到"。让 Claude 帮你查:

①  全仓 grep 路由关键字~30,000 token
②  打开 4 个相关 controller / service 文件~30,000 token
③  跑一次 mvn compile 看编译报错~5,000 token
④  Claude 来回分析 + 你的追问~10,000 token

合计约 75,000 token —— 已经吃掉 约 37% 的窗口,而你这才刚开始定位问题

如果它走错路又翻 5 个文件,接近一半。这时你顺手再问一句"对了,多租户那块怎么配的?" —— 主任务的上下文就被另一件事彻底污染了。 这就是为什么"每个独立任务开新会话"是最高频建议 —— 不是洁癖,是保住剩余预算。

怎么省着花 · 三条铁律 + 一张指令表

铁律 1 · 每个独立任务开新会话。 修 bug A 顺手问 B,就是上下文污染的头号来源。任务边界等于会话边界。

铁律 2 · 用过一半就主动压缩或清空。 Claude 不一定会主动提醒你。看到顶部进度条接近 50%: 要继续同一任务就 /compact(压缩历史、保留关键决策); 要换话题就 /clear(彻底归零)。两个都是免费的。

铁律 3 · 大块脏活交给子代理。 上面例子里的 ①②两步如果派给子代理跑:子代理在自己那个独立窗口里烧 60K token 没关系(跟你的主会话隔开), 主会话只多了一段 1–2K 的摘要省了约 95% 的上下文。 这是上下文管理的最大杠杆 —— 第 10 章细讲。

会话指令用途
/clear无关任务之间·彻底清空上下文
/compact主动压缩历史·保留关键决策
/rewind Esc Esc回退到任意检查点·撤销改动
/btw问一个不影响主线的小问题
Esc立刻中断·保留上下文
--continue继续上一次会话
--resume从历史会话列表里挑一条
/rename给会话起名·跨天找回

子代理 ——
上下文的会计

子代理(subagent)的本质:另开一个 Claude 在独立窗口里干活,干完只回传一段摘要给主会话。 上下文隔离 + 只取结论 = 主会话的 token 余额几乎不动。

# 反例:让主会话自己读所有文件
read all auth files and tell me how OAuth works...
# → 主上下文瞬间 +50,000 token,能用空间打了对折

# 正例:派给子代理
use a subagent to investigate how our auth
system handles token refresh. report findings.
# → 主上下文只 +1,500 token,节省约 97%
№ 0107 / 14 · CONTEXTYOUR ONE CONSTRAINT
Chapter 08 · 提示词的精度

具体 = 更少修正
模糊 = 你来当 QA。

Claude 能推断意图,但读不到你脑子里。模糊和具体的差距,不是风格问题,是返工次数问题。

为什么具体 = 少返工 · 把"概率分布"塌缩成一个分支

模型对每个词的理解是概率分布——一句"加个测试",它可能理解成:单元测试、集成测试、端到端测试;用 mock、不用 mock;覆盖正常路径、还是边界条件。 它必须选一个走。选对了你满意;选错了——你只能返工。

模糊 prompt

平均返工 2–3 次

"加个测试" → Claude 选了它认为最常见的解释 → 不对 → 你纠正 → 改 → 又不全对 → 再改。 每次返工 ≈ 5–10K token + 几分钟。

具体 prompt

多数 一次过

"为 foo.py 加一个测试,覆盖『用户未登录』的边界条件,不要 mock" → 方向锁死、范围锁死、约束锁死。第一次产出就是你要的。

代价对比

5–10 倍

模糊 prompt 累计 20–30K token + 你 15 分钟; 具体 prompt 5K token + 你 2 分钟。 多花 30 秒打字 = 省 13 分钟来回。

举个例子 · 把同一句话改成"具体"

模糊给 foo.py 加测试
具体 · 限定范围给 foo.py 加测试,覆盖"用户未登录"的边界条件,不要用 mock。
模糊为什么 ExecutionFactory 的 API 这么怪?
具体 · 指向来源翻一下 ExecutionFactory 的 git history,总结一下它的 API 是怎么演变成今天这样的。
模糊加个日历组件
具体 · 引用模式看一下 HotDogWidget.vue 是怎么写的;照它的模式做一个日历组件,让用户能按月选择和翻页。
模糊修一下登录的 bug
具体 · 症状+位置+成功标准用户反馈:会话超时后登录失败。看 src/auth/ 里的 token 刷新逻辑。先写一个能复现这个 bug 的失败测试,再去修。

共同模式:"动作 + 范围 + 约束 + 成功标准"。 多出来的几十个字是给 Claude 的护栏——它不再需要猜。


三种把上下文塞给它的方式

@

引用 文件

@path/to/file 而不是用文字描述代码在哪。Claude 回答前会自动读它,比你嘴说一遍准 10 倍

⌘V

粘贴 截图

UI 不对、报错弹窗、设计稿——直接截图粘进对话框。一张图能省一段几百字的"我看到的是这样"

|

管道 数据

cat error.log | claude -p "找异常"——让 stdin 直接把上下文喂进去。适合处理超长日志、JSON、CSV。

例外:探索阶段反而要用模糊。 当你想知道 Claude 怎么看这块代码——"看一眼这个文件,你会建议改哪里?"—— 反而能挖出你没想到要问的事。 模糊和具体不是对立,是配合:探索时模糊、动手时具体。 Source · Best Practices §Prompts
№ 0108 / 14 · PROMPT PRECISIONSPECIFICITY WINS
Chapter 09 · 五种失败模式

如果你正在
感到吃力 —— 多半是这五件事之一。

01

The Kitchen Sink Session

你开了个 session 修 bug A,顺手问了个 B,又回来改 A。三件事的上下文搅在一起。

Fix 无关任务之间一定 /clear。把每个 session 当成一个独立 ticket。
02

Correcting Over And Over

Claude 错了,你纠正;又错,你再纠正;第三次还错。上下文已经被失败的尝试污染。

Fix 纠正超过两次/clear。把你刚学到的东西写进新 prompt,从零开始。
03

The Over-Specified CLAUDE.md

你的 CLAUDE.md 已经 800 行。重要的规则被淹没在噪音里。

Fix 无情删减。"删了会不会让 Claude 犯错?"不会就删。重复执行的事改写成 hook。
04

The Trust-Then-Verify Gap

Claude 产出了"看起来对"的代码 —— 你没验证就 commit 了。第二天测试挂在 CI 上。

Fix always 提供验证手段(测试·脚本·截图)。如果你没法验证,就不该 ship。
05

The Infinite Exploration

你让 Claude "看看这个项目"。它读了 200 个文件。你的上下文已经满了,还没开始干活。

Fix 研究类任务用 subagent。给探索一个明确边界:"3 个文件以内·5 分钟以内·回答这一个问题"。
№ 0109 / 14 · FAILURE PATTERNSRECOGNIZE THEM EARLY
Chapter 10 · 横向扩展

一个 Claude 不够 —
四个

前面所有章节都假设:一个人、一个 Claude、一段对话。但 Claude Code 是水平扩展的工具。

Headless

非交互 模式

塞进 CI、pre-commit hook、shell 脚本。给固定输入,拿结构化输出。

# 一行命令
claude -p "explain this"

# 结构化输出
claude -p "list endpoints" \
  --output-format json
Worktree

并行 session

用 git worktree 把同一个仓库 checkout 到 N 个目录,每个跑一个 Claude,互不污染。

git worktree add ../wt-a feature-a
git worktree add ../wt-b feature-b
# 两个 Claude 同时干
Fan-Out

批量 处理

大型迁移、批量审计 —— 用 for 循环跑 N 次 claude -p,每次处理一个文件。

for f in $(cat files.txt); do
  claude -p "migrate $f. OK or FAIL" \
    --allowedTools "Edit"
done

Writer
×
Reviewer.

Session A 写代码 → Session B(独立上下文 · 没看过 A 的实现细节)做 code review → 把 review 反馈喂回 A 修。

为什么有效?一个 Claude 不会对自己刚写的代码"挑刺"—— 有偏见。两个 Claude 互相约束, 等于免费多了一道质量门禁。

类似套路:一个写测试,另一个写代码让测试过。或者一个实现 backend,一个实现 frontend, 主 agent 协调集成。 Best Practices §Multi-Claude
№ 0110 / 14 · SCALING OUTHORIZONTAL ×4
Chapter 11 · 案例:我们这个仓库

我们已经做对了大半 ——
但很多人还不知道。

下面这棵树是 JeecgBoot 仓库里和 Claude Code 相关的全部资产。如果你不知道它们在哪、做什么 —— 这就是你"用不深"的原因。

JeecgBoot/ ├── CLAUDE.md   // 项目宪法:模块图、架构、Recent Changes ├── CLAUDE.local.md   // 个人私房菜(gitignored) ├── .claude/ │   ├── rules/   // 主 CLAUDE.md 的 @import 拆分 │   │   ├── architecture-decisions.md   // LiteFlow / 多租户 / WS 路由 key │   │   ├── code-style.md   // Lombok / @Dict / @Schema / bizPath │   │   ├── database.md   // 建表规范 · 字段命名 · 索引 │   │   ├── logging.md   // ERROR/WARN 判定 · MDC · vendor body │   │   └── ... │   └── skills/   // 可调用的工作流(30+) │      ├── verify/   // 编译 + lint + 类型检查 │      ├── diagnose/   // 抓 Loki 日志 + 定位根因 │      ├── scout/   // 项目自检 · doc-drift · log-noise │      ├── jeecg-online-forms/   // Online 表单配置 │      ├── jeecg-online-java-enhance/   // Java 增强模式 │      ├── tengmed-ai/   // 腾讯健康 AI 对接 │      ├── cms-admin-config/ · cms-miniapp-api/ │      └── ... (jeecg-ai · jeecg-annotations · jeecg-permissions · ...) ├── jeecg-boot/jeecg-boot-module/ │   ├── jeecg-module-his-zhiye/CLAUDE.md   // 模块级宪法 │   ├── jeecg-module-internet-hospital/CLAUDE.md │   └── ...   // 每个业务模块自己的 CLAUDE.md └── ~/.claude/projects/.../memory/   // auto-memory: 跨会话学到的东西     ├── feedback_*.md   // 你对我的纠正 / 偏好     ├── zhiye_*.md   // HIS 厂商业务规则     └── MEMORY.md   // 索引
Daily Use

/verify

改完代码立刻跑。后端 mvn compile + 前端 lint。

When Stuck

/diagnose

用户给截图/报错 → 自动抓 Loki 日志 → 结合代码定位根因。

Weekly

/scout

项目自检:文档漂移、日志噪声、memory 过期。每周扫一遍。

团队作业:培训之后两周内,每人至少加 1 条 rule、修 1 个 skill、或写 1 条新的 module CLAUDE.md。 把"我自己反复教 Claude 的事"沉淀进仓库。 本次培训产出物
№ 0111 / 14 · OUR REPOYOU ALREADY HAVE A LIBRARY
Chapter 12 · 团队治理

工具有了 ——
谁来管这套工具?

前 11 章讲怎么用。这一章讲一件容易被忽略的事:这套工具会不会一年后烂掉,决定权不在工具,在团队怎么管它

为什么要管 · 不管的代价是看得见的

没人负责 · 知识不沉淀

10 个人 = 10 套技能

每个人自己摸索一遍同一件事("压日志 / 跑 Loki / 调多租户"), 等于 10 倍人力浪费,外加 10 个版本互不兼容的技能。 一年后这堆"个人沉淀"散在每人的本地,团队层面什么都没留下

不评审 · 回归成本翻倍

产能 +50% 但 bug +50%

Claude 帮你写代码的速度大概翻倍 —— 如果评审标准也降了,bug 进生产的速度也跟着翻倍。 生产 bug 的修复成本是开发期的 10–100 倍。 提速没意义,提速 - 兜底成本才有意义。

不设围栏 · 合规风险

HIS 数据外泄一次 = 多年信任

医院的患者信息、电子病历、HIS 数据是受监管数据。 一次让 Claude 把患者表 grep 进对话 + 截图分享 = 合规事故。 设围栏的成本是改一个配置文件,事故的成本是说不清楚的

要管的三件事 · 职责、目录、评审

职责

设一个负责人

CLAUDE.md.claude/rules/.claude/skills/settings.json —— 这些都是需要维护的代码资产,得有名字写在上面。 Anthropic 内部叫这个角色 agent manager(技能管家),一半产品经理一半工程师, 负责审批新技能、淘汰旧规则、推广好做法。

目录

围栏,再放权

.claude/settings.json 里把禁止 Claude 接触的目录列出来, 比如 patient_data/his_export/、密钥配置目录。 围栏不是"以防万一"——是第一步,先围再用,团队才敢放手。

评审

AI 代码走同一道

Claude 写的代码不享受特殊待遇—— PR 评审、测试覆盖、合规检查跟人写的代码一字不差。 Claude 帮你写得更快不等于帮你绕过评审;要是绕过评审,第一段那个"+50% bug"就是你的。

举个例子 · 给本团队的明天清单

下面这五件事,本周可以全部启动:

关于放权节奏: 别一夜之间全员开放,先 3–5 个人小圈试 1–2 周 (技能要审批、PR 必走评审、有问题 1 小时内同步), 看清问题攒经验、再逐步扩面。 Anthropic 反复强调:基础设施先行,访问权后到。这个顺序反了,回头收拾比一开始就管贵 10 倍。 Source · Claude Code at Scale §Rollout
№ 0112 / 14 · GOVERNANCEWHO OWNS THE HARNESS
Chapter 13 · 半日 workshop

理论30% · 实战50% · 沉淀 20%

看文档的培训,团队最多能从 30% 用到 50%。带着仓库练一遍 + 当场沉淀,能到 70-80%。

14:00 — 14:3030 MIN

Part I · 功能地图(讲师讲)

过一遍本手册第 02-04 章。让大家知道有哪些工具、避免"原来还能这样"的惊讶。

  • 四层地图 · 三种扩展机制 · 核心工作流
  • 演示:现场跑 /init/memory/agents
14:30 — 15:0030 MIN

Part II · 本仓库导览(讲师带读)

打开 IDE,跟读 CLAUDE.md / rules / skills,让大家明白"为什么咱们这个仓库 Claude 用起来明显更聪明"。

  • CLAUDE.md + .claude/rules/
  • 挑 1 个模块的 CLAUDE.md(建议 his-zhiyeinternet-hospital
  • 扫一眼 .claude/skills/,重点看 verify / diagnose / scout
15:00 — 17:002 HRS · 分组

Part III · 实战(4 选 1)

每组 2-3 人,挑一题,全程用 Claude Code 完成。讲师巡回点评。

  • 题 A · 加一个 Online 表单(用 jeecg-online-* skill)
  • 题 B · 对接一个新的 HIS SOAP 方法(plan mode + LiteFlow)
  • 题 C · 跨模块小重构(worktree 隔离 + Explore agent)
  • 题 D · 写一条 Grafana / Loki 排障流程并沉淀为 skill
17:00 — 18:001 HR · 全员

Part IV · 沉淀(最重要)

把实战里冒出来的踩坑、约定、技巧当场写进仓库。讲师主持,全员参与。

  • 哪些新约定该进 .claude/rules/
  • 哪些反复操作该封装成 .claude/skills/
  • CLAUDE.md Recent Changes 要不要补条目?
  • 团队级 .claude/settings.json 要不要加 hook?

产出物:一个 PR — chore: claude code 培训沉淀

№ 0113 / 14 · WORKSHOPHALF-DAY · 4 HOURS
Chapter 14 · 终章

所有的模式 ——
都不是定律

有时候你应该让上下文累积,因为你正在深入一个复杂问题,历史本身有价值。 有时候你应该跳过 plan 模式,让 Claude 直接试错。 有时候一个模糊的 prompt 恰恰是对的 —— 你想先看看 Claude 怎么理解,再去约束。

留意什么有效。Claude 产出漂亮代码时 —— 想想你做了什么。Claude 卡住时 —— 想想为什么。 上下文太杂?prompt 太空?任务太大?时间久了,你会培养出一份这本手册抓不到的直觉。

Further Reading · 进阶阅读

看完这 4 篇,就到 80 分。

不是泛泛的"AI 编程指南",是 Anthropic 自己出的、定义"这工具该怎么用"的源头文档。 总时长约一个下午,按 01 → 04 顺序读,读完你比 95% 的工程师都更懂 Claude Code 该怎么用

01 · 必读
Anthropic Docs · 基础

Best Practices for Claude Code

本手册一半内容的来源。"give Claude a way to verify its work"、CLAUDE.md 怎么写、Explore→Plan→Code→Commit 循环。 只读一篇 —— 读这篇。

code.claude.com/docs/en/best-practices →
02 · 必读
Anthropic Blog · 规模化

Claude Code Works in Large Codebases

本手册第 02 章金句 "harness > model" 的源头。还讲:CLAUDE.md 分层、DRI 角色、放权节奏 —— 团队治理那一套(第 12 章)的纲领文件。

claude.com/blog/how-claude-code-works-in-large-codebases →
03 · 推荐
Anthropic Blog · 真实玩法

How Anthropic Teams Use Claude Code

Anthropic 内部团队(数据基础设施、产品工程、增长、SecOps、客户支持……)怎么真的把这工具用进日常工作。 具体到 prompt、skill、工作流 —— 偷得到的真东西。

claude.com/blog/how-anthropic-teams-use-claude-code →
04 · 深读
Anthropic Docs · 深度

Subagents

Subagent 是被严重低估的能力 —— 本手册第 03、07、10 章反复提到。怎么写、什么时候派、怎么回传摘要, 官方文档把所有细节讲透了。读完不会再"开 5 个 agent 浪费 token"。

code.claude.com/docs/en/sub-agents →

每篇约 15–30 分钟。加起来一个下午。再加本手册第 11 章 JeecgBoot 仓库的 .claude/ 树 —— 理论 + 实战双轨,就齐了。


END · № 01 · 2026.05
Tailored for JeecgBoot · Hospital Branch
Yaniel Yu · 2026.05.19
№ 0114 / 14 · CODAEND