用 Claude Code 简化 80% 日常工作的三件事
用了这么久 Claude Code,你的工作效率真的变了吗?
老金问过不少开发者,答案大多是:"比以前快了一点,但没有传说中那么神。"
问题不在工具,在用法。
老金有一个跑了一年多的 PWA 边项目 TinyPA——记一句话进去,后台 LLM 自动拆成 todo/note/mood/followup,每天 22:00 出复盘,08:00 推早报。麻雀虽小,从 schema、cron、prompt、provider 抽象到 UI 都得自己盯。半年下来,Claude Code 的用法把维护成本压到几乎可以忽略——每次打开终端不是写代码,是审查它已经写好的东西。
第一件事:CLAUDE.md 定规范
大多数人用 Claude Code 的方式:每次开新对话,重新解释一遍项目背景。这不是 Claude 的问题,是你没有给它一份持久的行为规范。
Andrej Karpathy 记录过 LLM 写代码时最常犯的几类错误:过度设计、忽略现有模式、添加不必要的依赖、随意改动未被要求的代码。有人把这些观察整理成 CLAUDE.md 模板放进项目根目录,一周内 GitHub 拿了 15,000 星。
四条核心原则:
- Think Before Coding → 阻止错误假设和遗漏的权衡
- Simplicity First → 阻止过度设计和臃肿抽象
- Surgical Changes → 阻止触碰未经要求的代码
- Goal-Driven Execution → 测试先行,验证成功标准
实际数据:没有 CLAUDE.md 时 Claude 约 40% 情况违反规范;使用 Karpathy CLAUDE.md 后违规率降至约 3%。设置时间:5 分钟。
一行命令自动生成项目的 CLAUDE.md:
claude -p "通读整个项目,基于以下四条原则生成一份 CLAUDE.md:Think Before Coding、Simplicity First、Surgical Changes、Goal-Driven Execution。按实际看到的架构适配,不要套模板。" --allowedTools Bash,Write,Read
TinyPA 里的体感:上周把 chat 模型默认从 NVIDIA NIM 的 Llama 切到 Google Gemini。没有 CLAUDE.md 之前,类似改动经常被"顺手"扩成一次大重构——Claude 看到 lib/llm/ 下面几个文件,忍不住建议把 provider 抽象再封一层接口,把 prompt 模板拆成单独的包,把模型名做成枚举。结果一次默认值切换变成一周的工程。
加了 Surgical Changes 之后,同样任务只改了三处默认字符串、把 gemma.ts 重命名成 index.ts、更新了 README/.env.example 措辞。其他什么都没动。切成两个 commit 推上去——每个 commit 的范围和 message 严格对得上。
这是最低成本、收益最高的一步。先做这个。
第二件事:子 Agent 分角色
大多数人:打开对话框,描述需求,等输出,复制粘贴,发现不对,再描述。这是把 Claude Code 用成了高级搜索引擎。
正确用法:给它角色,给它工具,让它在系统里跑。
everything-claude-code 仓库(153,000+ stars)提供现成 AI 工程团队配置:
- planner.md → 功能规划
- architect.md → 系统架构决策
- tdd-guide.md → 测试驱动开发
- code-reviewer.md → 质量与安全审查
- security-reviewer.md → 漏洞分析
- loop-operator.md → 自主循环执行
安装:
/plugin marketplace add affaan-m/everything-claude-code
重要提醒:不要一次性全装。27 个 Agent + 64 个 Skill 同时加载,上下文会被撑爆,Token 消耗速度比打完第一个 prompt 还快。只取真正需要的部分。
TinyPA 实际用到的就三个角色:
- Explore——只读搜索。迁移前先把仓库里所有 nvidia/nim/gemma 字样位置全列出来,主对话不用消耗上下文去 grep
- Plan——动手前的架构脚手架。tree-hole UI 重构先让 Plan 出方案:状态映射、布局算法、动画方案。Plan 出完自己改两处再让主线程实现,一次跑完没有返工
- code-review——commit 前过一道。涉及 auth、cron 触发、密钥泄漏面的代码,自己看容易脸盲,独立 reviewer 走一遍便宜得多
剩下的都没装。边项目不需要 architect + security-reviewer + loop-operator 同时常驻——按功能拆,按需调用。
第三件事:/goal 驱动自动化
光有 CLAUDE.md 和子 Agent 还不够——它们让单次对话靠谱,但人还在循环里。下一步是把"该不该做"和"做了没"也交出去。
TinyPA 这种个人项目的尺度上,自动化分两层:
项目本身就是自动化。22:00 cron 抓昨日所有 message → LLM 拆成 item → 24h 内去重合并 → 落库 → 08:00 把复盘和 top 3 推到邮箱和 Telegram。用户输入只有一句话:"今天有点累,晚上还要改 PR。" 剩下的整理、归类、回顾、推送都是系统在跑。
开发流程也是自动化。用 /goal 命令兜住——给一个客观可验证的终止条件,Claude 自己跑到条件满足为止。
真跑过的 goal 示例:
/goal README.md 不再出现 NVIDIA NIM / Gemma 4 字样,
技术栈和环境变量章节准确反映当前的 Gemini provider;
grep -i "nim\|gemma" 在 README 和 .env.example 里返回为空
/goal lib/jobs/extract.ts 的 LLM 输出解析失败时,
错误信息能够区分"LLM 返回空"和"NDJSON 不合法"两种情况,
并且对这两种情况各有一个测试用例
整个过程不用插手。看 IDE 里文件变化、git diff 慢慢长出来,时不时看一眼方向对不对。
版本回退注意
Claude Max 用户可能遇到:CLAUDE.md 写得很清楚,Claude 突然开始忽略规则。
有人用 HTTP 代理拦截不同版本 Claude Code API 请求,发现:
- v2.1.98: 169,514 字节请求 → 计费 49,726 tokens
- v2.1.100: 168,536 字节请求 → 计费 69,922 tokens
差异:减少 978 字节,但增加 20,196 tokens。这 2 万个 token 占用真实上下文窗口,直接稀释 CLAUDE.md 指令。
临时解决方案:
npx claude-code@2.1.98
在上下文窗口不大的项目里,几千字差额足以把 CLAUDE.md 挤出"前文有效记忆",Claude 开始凭直觉写代码,Surgical Changes 变成空气。
三层架构总结
本质上三层:
- CLAUDE.md 定规范
- Agent 配置定角色
- 定时循环或 /goal 驱动执行
人负责判断,系统负责执行。这才是 AI 工具的正确分工。
Claude Code 要想效率最大化,简化日常工作,必不可少要做好系统配置。自动化程度越高,效率提升越大。