# 你不知道的 AI Coding：非技术人的上手、场景与实战

> 写给产品、业务、运营的 Claude Code 实战指南。不讲 prompt 工程，讲怎么真正用起来：CLAUDE.md 怎么写、Skills 怎么沉淀、Plan 模式什么时候用、哪些场景适合让 Claude Code 干。

- 发布日期: 2026-04-26
- Author: Tw93
- HTML: https://tw93.fun/2026-04-26/ai-coding.html
- English translation: https://tw93.fun/en/2026-04-26/ai-coding.md
- 全部文章: https://tw93.fun/posts.md

---

<img src="/images/2026/editorial/ai-coding-cover.webp" alt="AI Coding 上手、场景与实战封面图" width="1000" />


## 太长不读

上个月在公司里给产品和业务的小伙伴分享了下如何上手 AI Coding，加上最近又发了条推特，聊到不少同学因为订阅门槛没机会用上一线 AI Coding 工具，方法和习惯不花钱就能先学，索性把上手这部分整理出来。不少人用 Claude Code 其实是卡在使用命令行的第一步，看到只有字符的终端会觉得是给程序员用的，自己肯定搞不定。其实门槛没想象的高，会用豆包这类对话框 AI 的人花点时间也能上手，剩下的就是慢慢习惯把执行权交给它。

等你用顺手后会发现它像个什么活都接的能干助手，跑后台数据、写解决你问题的小工具、把乱七八糟的文档拼成简报、做原型、整理销售报表都能干。之前会不会写代码不是关键，等你有意识把项目背景写进 CLAUDE.md、把需求写得足够精确、会去想着沉淀几个 Skill 把重复动作打包，那你其实就称得上入门了，这篇文章主要是想带非技术同学也用上我最爱的 Claude Code。

---

## 第一道坎是命令行

不写代码的同学习惯了豆包这类对话框 AI，第一次装 Claude Code 都会有点不适应。以前是个来回搬运的过程，你描述需求、它生成代码、你复制粘贴到别处去试，现在变成 Claude Code 直接在终端运行，搬运这一步省掉了。

<img src="https://gw.alipayobjects.com/zos/k/vq/ChatGPT.png" width="900" alt="对话框 AI 和 Claude Code 的执行方式对比：前者需要来回搬运，后者直接在项目中执行完整循环">

如果你没用过终端，推荐我做的 [Kaku](https://github.com/tw93/Kaku)，它是专门为 AI Coding 做的终端，装好就能用，不用折腾配色和字体。深色浅色跟着系统走，分屏按 `Cmd + D`，文件管理器按 `Cmd + Shift + Y` 直接显示出来。对刚上手的人最友好的是内置了 AI 辅助：命令跑报错了会自动给修复建议，记不住命令在前面加个 `#` 写中文也能生成。

<img src="https://raw.githubusercontent.com/tw93/Kaku/main/assets/kaku.jpg" width="900" alt="Kaku 终端默认界面：专为 AI Coding 做的终端，装好就能用，深色浅色跟着系统走">

安装 Claude Code 也只需一条命令，详见 [官方文档](https://code.claude.com/docs/en/overview)，然后进项目文件夹输入 `claude` 就能开始 Coding 了。

```bash
curl -fsSL https://claude.ai/install.sh | bash
```


---

## 顺便补点技术通识

不写代码的同学想真把 Claude Code 用好，光会描述需求还不够，懂一点基础概念，后面排错会轻松很多。

**常用框架是干嘛的**，知道 React、Vue、Next.js 大概在解决什么问题，看 Claude Code 写出来的东西就不会一头雾水。

**常用软件的基础**，终端命令、Git、VS Code、Chrome 开发者工具，跑出错的时候你能跟着它一起定位，而不是只能干等。

**编程的几个核心思想**，函数是干什么的、变量和状态是什么、为什么要拆成多个文件，懂了这些需求才写得精确。

**学会读代码和读报错**，比自己会写代码更早派上用场。它改完一段你能扫一眼大概在干嘛，比让它从头解释一遍快得多。报错也别一看就慌，整段复制丢回去问"这是什么意思、要怎么改"，十次有九次能告诉你具体哪一行出问题。

不用学到能自己写代码的程度，知道这些东西长什么样就够了。花一两个晚上把 freeCodeCamp 或者 MDN 的入门篇过一遍，或者去 B 站挑一套入门课粗看一遍，[计算机科学速成课](https://www.bilibili.com/video/BV1EW411u7th)、[哈佛 CS50](https://www.bilibili.com/video/BV1HW4y1A7Yi) 都不错，后面跟 Claude Code 协作的效率会很不一样。

我挺推荐这三本对非工程师最有用的入门易读书：[《启示录》](https://book.douban.com/subject/5914587/) 看产品判断、[《Linux/Unix 设计思想》](https://book.douban.com/subject/7564417/) 看工程哲学、[《左耳听风》](https://book.douban.com/subject/36667269/) 看一个我怀念的左耳朵耗子攒下来的程序员专家视野，读完跟 AI 聊技术细节会少懵很多。

---

## 准备工作：账号与订阅

**账号**：在 claude.ai 用 Gmail 注册，流程最标准，注册前尽量用美国 IP 稳定的网络环境，别频繁切换出口，不然新账号容易触发风控；同时新账号不要直接包 Max，也容易被封号。

**订阅**：分三档。Free 是 $0，只能体验基础对话，不含 Claude Code；Pro $20/月，解锁 Claude Code，入门首选；Max 有 $100 和 $200 两档，分别对应 5x 和 20x 用量，适合重度使用、高强度跑代码。

最简单的方式是走美区 App Store 内购，Android 走 Google Play 也行。进 Claude App 选 Pro 用余额订阅即可。注意走 App Store 会有税费，$100 档会显示成 $125，多付 25 刀权当买个省心。很建议先从 Pro 起步，配额确实不够了再升 Max。订阅状态跟着账号走，iOS 订完之后在 Android 或网页端登录都能正常用。

<img src="https://gw.alipayobjects.com/zos/k/ig/12aimage.png" width="900" alt="保号清单：网络环境稳定、一号一人、付款方式靠谱、邮箱挑老的、出口走干净">

账号没了所有事都得重来，甚至还有可能持续被封，订前几件事注意一下。网络环境用稳定低延迟的别天天换，账号一号一人别合租也别和别人共用，付款方式选靠谱的实体卡，虚拟卡尤其是币圈渠道充值的容易秒封。邮箱用老 Gmail 别用新注册的 Outlook，出口尽量保持干净别让其他乱七八糟的 App 流量都从同一个口子出去。

---

## Claude Code 适合什么样的活

我自己用过的 AI Coding 工具不少，Cursor、Windsurf 都试过一圈，Codex 平时也会用，主力还是 Claude Code。

它最不一样的地方是模型能力本身就很不错，加上 Claude Code 自己的代码实现也把 Harness 这一套玩到了极致，**整个项目一起看**：先扫一遍 CLAUDE.md 和目录结构摸清楚上下文，然后跨文件改代码、跑命令、看报错、再改，自己全部完成。再加上它本来就活在终端里，git、测试、脚本这些你日常用的工具它都能直接调起来，不用来回复制粘贴。

<img src="https://gw.alipayobjects.com/zos/k/ha/1212image.png" width="900" alt="Claude Code 工作循环：你给一句任务，它自己读、改、跑、验，跑完一圈才回来找你">

它实际更像个通用 Agent，叫 Code 只是因为最初定位偏写代码。Anthropic 自己分享过他们内部不少非工程团队比如销售、风控、财务都在拿它干活，处理 CRM 数据和客户邮件。如果你实在不想碰终端，可以用官方出的桌面应用 **Cowork**，能直接读写你的下载和文档目录，把收据截图拼成报销表这种活，你说一句话它也能给你干好。

还有一点我感觉很重要：写代码这件事上，模型快不快不重要，**准不准才重要**。它 10 分钟跑完然后你花 20 分钟 debug，远不如它 20 分钟跑完直接能验收来得舒服。

要让它准，前提是你给到的活本身就**目标清楚、结果好验收**，两个都满足的最适合交给它，好比把活交给了一个非常直男但是技术非常厉害的程序员。

<img src="https://gw.alipayobjects.com/zos/k/v5/111.png" width="900" alt="判断能不能丢给它的两个标准：目标清不清楚、结果好不好验收，两条都满足最适合交给它">

具体就这几类活：做原型和内部小工具，把需求和展示逻辑说清楚，第二天就能跑起来一版；处理 CSV、做销售报表，分组和计算逻辑写明白几分钟出结果；几十页合同提炼条款、对比版本差异这种文档活它最擅长；最后是给一堆链接或 PDF 让它从特定视角提炼信息，说清格式就行。

---

## 做一个只给你一个人用的软件

最阻碍新人写代码的第一步是不知道自己要做个啥。《纽约时报》专栏作家 Kevin Roose 提过一个概念叫 **software for one**：你不需要做给一百万人用的 App，可以做只给你一个人用的软件。

他给自己做过整理链接的 Stash，给孩子准备便当的 LunchBox Buddy。对你来说，可能是把语音批注转成会议纪要的工具，或者是每天提醒你三件事的小仪表盘。这种东西反而是产品和业务的同学最容易做成，毕竟只有你最懂自己每天的麻烦在哪。

<img src="https://gw.alipayobjects.com/zos/k/73/software.png" width="900" alt="Software for many vs Software for one：不需要做给一百万人用的 App，做只给你一个人用的软件">

### 一天到三个月的节奏

别一上来就想做个“像 Notion 那样的产品”，可以按下面这个节奏来，每一段都有摸得到的产出：

<img src="https://gw.alipayobjects.com/zos/k/wj/2121212.png" width="900" alt="一天到三个月的节奏：第 1 天试水、第 1 周尝鲜、第 1 个月提效、第 3 个月进阶，每段都有摸得到的产出">

第 1 天先试水，让它改一个你手头现成的 Excel 或 Markdown 文档；第 1 周尝鲜，做一个单页个人主页或日报大盘 15 分钟就能跑起来；第 1 个月提效，挑一件每周重复做两三次的事变成一条命令或一个页面；第 3 个月进阶，选一个"software for one"的想法做一个只给自己用的小工具。

---

## 用 OpenCLI 把网页操作变成命令

很多运营日常是在浏览器里点点点：查后台、发消息、导报表。这些活其实能绕开界面，直接调背后的接口来做。

[**OpenCLI**](https://opencli.info/) 是我朋友卡比做的，它内置了小红书、知乎、Twitter/X、Bilibili 等几十个站点的 CLI 适配器，再加上一组通用的浏览器操作原语像点击、输入、抓取、截图。把网页动作变成一条命令，Claude Code 一句话就能调起来。

**小红书调研**，让 Claude Code 调 `opencli xiaohongshu` 抓数据，再做分类和热词提炼，原本浏览器里点半天的事一句话搞定。

**舆情汇总**，把 Twitter/X、Reddit、HackerNews 几个适配器组合起来，同一关键词在多个平台的讨论自动拼成一份日报。

**没适配的网站**，用浏览器原语命令描述一遍流程，比如开页面、输关键词、抓表格，Claude Code 自己拼出来。

Claude Code 还有个 **Routines** 功能，能把一段工作流存到云端，按定时、Webhook 或 GitHub 事件自动触发。我自己还没怎么深用，概念上像「周一早上自动跑一遍周报流程」这种事它能接管，感兴趣可以看[官方文档](https://code.claude.com/docs/en/routines)。

<img src="https://gw.alipayobjects.com/zos/k/60/openci.png" width="900" alt="OpenCLI + Routines 自动化链条：网页操作封装成 CLI 命令，再用 Routines 串联成一键自动化流程">

---

## CLAUDE.md：先把项目背景写清楚

很多人装好之后直接开问，结果每次都要重复交代背景，用一会就觉得很烦。原因几乎都一样：没建 `CLAUDE.md`。

<img src="https://gw.alipayobjects.com/zos/k/k4/1claude.png" width="900" alt="CLAUDE.md 是项目级别的工作规则：每次启动都读，作为常驻底层，越短越像命令越好">

它放在项目根目录，Claude Code 每次启动都会先读它，相当于你给新来的同事写的项目交接文档，区别是它每次都会从头认真读一遍而且严格执行。

写得好不好，三件事最关键。写得短一点，150 行以内为佳，写太长会挤压后续对话的空间。语气直接，用命令式，别写"我们团队比较喜欢"这种软话，"所有注释用中文"比"团队偏好中文注释"有效太多。每条都能判断，"代码质量要高"没用，"函数超过 50 行必须拆分"才能落地。

四条最值钱的规则，直接拿去用：先问清楚再动手、简单优先、只动该动的、做完要验证。展开就是：别让它猜你的意图，目标说清再写；能两行解决的不写两百行，拒绝过度设计；不要顺手重构没让它改的代码；跑通构建和测试才算完，没通过别说完成。

下面这份模板，你改一改项目背景就能直接用：

```markdown
# 项目背景
这是一个面向运营同学的客户看板，技术栈 Node.js + Next.js，
前端用 React，数据库 PostgreSQL，部署在 Vercel。
产品经理是 Alice，设计是 Bob，后端是我自己。

# 工作规范
- 所有注释用中文，变量函数用英文。
- 改动前先说明你打算改什么，确认后再动手。
- 新功能先写实现，不主动加测试，除非我明确要求。
- 数据库表名用下划线分隔，比如 user_profile。

# 禁止项
- 不要主动重构我没提到的文件。
- 不要删除任何文件，除非我明确说删掉。
- 不要在没确认前直接执行 npm install 装新依赖。

# 压缩时保留
长对话被自动压缩时，按优先级保留：
1. 架构决策和它背后的理由
2. 改过哪些文件、改了什么
3. 当前进展状态
4. 还没做完的 TODO
```

最后这段"压缩时保留"看着不起眼，长会话能不能稳就靠它。Claude Code 的上下文用到一定程度会自动压缩，决策的理由通常是第一个被丢的。比如你之前说过"这里要用 POST 不用 GET，因为数据量大"，压缩之后可能只剩"用 POST"三个字，理由没了。下次再问相关问题，它可能给你一个完全不同的方案，前后矛盾。把这一段写进去，长会话就不会前后打架。

上面这些不一定要自己从头写。装好 Claude Code 之后，直接说"读一下我这个项目，帮我生成一份 CLAUDE.md"，它会扫一遍代码、技术栈、目录结构，给你一份草稿，你只要改一改人名和团队偏好。装依赖、配 alias、改 `~/.claude/settings.json` 这些事也一样，告诉它要什么效果让它自己去试，比你查文档快得多。配置类的活能交就交，省下来的精力放到真正要判断的事情上。

---

## 需求描述越精确，它越少分叉跑偏

**模糊版**：帮我做一个客户跟进工具。
**精确版**：帮我做个销售用的跟进工具，单文件网页存本地。左边列表显示公司名、下次跟进时间、状态，右边详情包括沟通记录、日期、要点。顶部加三个筛选：状态、时间、关键词。数据存浏览器 localStorage，不调后端。

<img src="https://gw.alipayobjects.com/zos/k/iv/need.png" width="900" alt="需求精度对比：模糊一句话靠它猜散弹四射，精确一段话写死单文件、列表、详情、筛选、存储直接命中">

精确版当天就能跑出能用的版本，模糊版多半要返工。

再看一个完整精确版的样子，这是 yetone 给 Claude Code 写的 macOS 语音输入工具需求。代码细节看不懂没事，重点是看每条要求被拆得多具体。

```
帮我做一个 macOS 原生语音输入工具，用 Swift 开发：

1. 按住 Fn 键开始录音，松开后把转录文字注入当前光标所在的输入框。
   优先用流式转录（Apple Speech Recognition framework）。
   Fn 键通过 CGEvent tap 全局监听，需抑制 Fn 事件传递，
   避免触发 emoji 选择器。

2. 默认语言必须为简体中文（zh-CN），开箱即用就能识别中文。
   菜单栏可切换英文、繁中、日语、韩语，选项存到 UserDefaults。

3. 录音时屏幕底部居中显示一个无边框胶囊状悬浮窗：
   不要红绿灯和 titlebar，用 NSPanel（nonactivatingPanel）+
   NSVisualEffectView（.hudWindow 材质）。
   高度 56px，圆角 28px，左侧实时音频波形（5 根竖条，
   由 RMS 电平驱动），右侧转录文字（160-560px 弹性宽度）。
   入场弹簧动画 0.35s，文字宽度过渡 0.25s，退场缩放动画 0.22s。

4. 文字注入用剪贴板 + 模拟 Cmd+V。注入前检测当前输入法：
   如果是 CJK 输入法，先临时切到 ABC 键盘再粘贴，完成后恢复原输入法。
   注入完恢复原剪贴板内容。

5. 接入 LLM 提升识别准确率，处理中英文混杂场景。
   通过 OpenAI 兼容 API（可配置 Base URL、Key、Model）对转录文本做 refine。
   system prompt 要求极保守：只修复明显的语音识别错误
   （如"配森"→"Python"、"杰森"→"JSON"），
   绝不改写或润色看起来正确的内容，正确就原样返回。

6. 菜单栏提供 LLM Refinement 子菜单，含启用/禁用开关和 Settings 入口。
   Settings 窗口有 API Base URL、API Key、Model 输入框，含 Test 和 Save。
   松开 Fn 键后如果 LLM 已启用，悬浮窗显示 Refining... 状态，
   等返回后再注入。

7. 应用以 LSUIElement 模式运行（仅菜单栏图标，无 Dock 图标）。
   用 Swift Package Manager 构建，提供 Makefile（build/run/install/clean）。
```

这种描述，Claude Code 几乎不用猜，直接产出一个能装的 macOS 应用。每一条都是在防它猜错一个具体的点：

| 写了 | 不写 Claude 会怎么猜 |
| --- | --- |
| macOS 原生 + Swift | 可能给你做成 Python 网页版或 Electron 应用 |
| Fn 键 CGEvent tap、抑制传递 | 录音正常但 emoji 选择器被触发，体验毁了 |
| 默认简体中文 zh-CN | 默认英文，中文识别率极差 |
| NSPanel + .hudWindow 胶囊窗 | 弹个普通窗口，遮挡你正在打字的输入框 |
| CJK 输入法切 ABC 再粘 | Cmd+V 被中文输入法拦截，文字注入失败 |
| LLM 纠错"极保守" | 过度润色，改掉你原本想说的意思 |
| LSUIElement 菜单栏模式 | 给你一个普通 App，每次启动 Dock 多个图标 |
| Swift Package Manager + Makefile | 用一个不熟悉的构建方式，本地跑不起来 |

你不需要会写 Swift，但需要把需求**写得这么细**。这份需求里每一条背后，都是 yetone 自己踩过的坑或者预想到的坑。每多一条具体细节，就少一次返工。

<img src="https://gw.alipayobjects.com/zos/k/io/2image.png" width="900" alt="从粗到细三种需求写法的对比：写得越细 Claude Code 猜得越少，返工率越低">

业务场景的需求，光描述功能还不够。开头先把问题写清楚，要解决什么、给谁用、怎么算做对了，别一上来就列功能清单。比如说我们要写一个国际门票频道页时，第一句话就是"国际门票目前没有独立入口，用户只能搜索找到，非热门城市曝光极低"，这两句话决定了它后面碰到"热门城市展示几个""筛选要不要做'最近浏览'"这类问题时的判断方向。

接下来要给它划范围。Claude Code 很积极，你说做一个列表页它顺手就给你加上收藏、分享、埋点。明确写出"不做登录态、不做分享、不做 SEO，下一期再说"，它就不会越界。异常情况要单独列出来，接口超时怎么办、数据为空展示什么、图片挂了用什么兜底，这些不写它要么不处理，要么猜个你不满意的方案。

验收标准必须给数字，"页面要快"没用，"首屏 1.5 秒内"才能判断；"布局正常"没用，"在 375 和 1440 两个宽度下不错位"才能验收。

写需求的时候，别用"待定""后续再看""TBD"。Claude Code 碰到这些会自己猜着填，猜的往往不是你要的。哪怕写"这一版先硬编码，下版再做配置化"，也比空着强。

---

## 复杂任务先对答案：Plan 与 Auto 模式

有次我让它重构登录模块，它顺手删了一个我后面要用的工具类，回滚花了半小时，印象很深。

从那以后，复杂一点的任务我都会先按两次 `Shift+Tab` 切到 **Plan 模式**。它会先把打算怎么做列出来，方向对了你再让它执行。其实就跟工作场景一样：你不会直接让小李把功能做掉，先拉个会过下方案，觉得 OK 了再动手。

<img src="https://gw.alipayobjects.com/zos/k/ze/planning.png" width="900" alt="普通模式直接执行可能偏差，Plan 模式加入确认环节，先对方向再放手让它跑">

Plan 模式产出的计划大概长这样：要改哪几个文件、每个文件改什么、改的理由是什么、预计会影响哪些地方。用业务逻辑来判断这个方向对不对，比判断代码本身容易得多。哪怕你看不懂代码，也能从"这一步要不要做、那一处理由对不对"把关。

如果你嫌每步都问太烦，可以开 **Auto 模式**，按 `Shift+Tab` 循环切到 auto 那一档，目前 Max、Team、Enterprise 都能用，Pro 暂时还没开。它会自己判断：读文件这种安全操作直接跑，改数据库、删文件这类风险操作才来问你。刚上手默认开它就行，既不会被无意义的确认打断，也不会让它瞎搞。

---

## 怎么确认它真的做对了

它跟你说"搞定了"其实没用，关键是你怎么验收，因为它也会用最省事的方式交差。

<img src="https://gw.alipayobjects.com/zos/k/9y/1212.png" width="900" alt="三层验收：命令过没过、眼见为实、对照清单，没对完不算完成">

我自己就看三件事。命令过没过，构建和测试跑完绿灯就行，CLAUDE.md 里写好"完成后跑 `make build && make lint`"它会自己做。眼见为实，页面打开看一眼、数字对一下、关键流程试一下，改完文件不代表页面就是你要的样子。对照清单，需求里写好的验收标准一条一条过，没对完不算完成让它接着改。

### 改坏了怎么救回来

不会写代码的人最怕代码被改乱了找不回来，常用的就两条。

**Git 快照**，每次大改前让它先跑一遍 `git status` 看清楚都有什么，确认没问题再让它 commit 一个检查点。改坏了直接说"按刚才的检查点回退"，比自己手动 `checkout` 安全得多。

**撤销上一步**，直接对它说"撤销刚才所有改动"，或者按 `/rewind` 回到上一个状态。

### 别让它陷入改了试试的死循环

有个坑很容易踩：陷入改了试试的循环，4-5 轮下来本来不大的问题变成一团乱麻。原因就一个，没诊断清楚就开始打补丁。

<img src="https://gw.alipayobjects.com/zos/k/nb/212121.png" width="900" alt="改了试试死循环：报错→改→新错→再改的环形坑，对比先讲清根因再一次改对的直线路径">

避免方法也一句话：**根因没说清楚之前先别动代码**。让它先答"问题出在哪个文件的哪一行，为什么会这样"，答含糊继续查，答清楚再改。一上来说"我试试改 X 看行不行"的，直接喊停让它先答根因。

---

## Max 进阶：alias、模型、长会话

刚上手不必看，等用熟了或者你感觉 Pro 完全不够用的时候，再来翻这个都行。

### 我自己 Max 订阅怎么用

**alias**：我在 `.zshrc` 里加了一行，输入 `c` 就直接启动免权限确认的 Claude Code，同时把自动压缩点提前到 400k。等到上下文塞满才压缩往往效果会变差，提前一点更稳妥。你可以把这一段直接丢给 Claude Code 让它帮你配好：

```sh
alias c='CLAUDE_CODE_AUTO_COMPACT_WINDOW=400000 claude --dangerously-skip-permissions'
```

`--dangerously-skip-permissions` 不建议刚上手的人用，它字面意思就是"危险跳过所有权限确认"，意味着 Claude Code 不会再问你任何事。我自己用是因为我能看懂它每一步在做什么，加上确实嫌反复确认烦。如果你还没到这个程度，老老实实用 Auto 模式就好。

**模型用 opusplan**，我现在这套用法是输入 `/model opusplan` 这个隐藏命令就开启（这类命令以后可能会变，以你当前版本能跑通的为准）。规划交给 Opus，执行交给 Sonnet，整体省钱也省时间。想更快可以再跑 `/fast`，刚好补回上面省下来的 token。

**关键配置**，如果你当前版本支持，用 opusplan 时去 `~/.claude/settings.json` 里把 `showClearContextOnPlanAccept` 设成 `true`，不然会在 Sonnet 这一段碰到严重的缓存未命中，速度会明显慢下来。这个设置一开，整体就好多了。

### 长会话怎么办

Claude Code 的上下文容量是固定的，跑久了早期内容会被挤出去。

<img src="https://gw.alipayobjects.com/zos/k/co/image.png" width="900" alt="长会话压缩示意：早期决策的理由是第一个被丢的，加一段「压缩时保留」就不会前后矛盾">

**任务做完就 `/clear`**，一个会话只做一件事，做完清掉再开下一件，两件不相干的事在同一个上下文里来回切，它会越做越乱。

**长任务结束前让它写交接笔记**，直接对它说："把当前进度写成一份 `HANDOFF.md`，包括做了什么、试过什么没成功、下一步该做什么。" 第二天打开新会话，把这个文件给它，就能接着干，不依赖任何压缩算法。

---

## Waza：把好习惯沉淀成肌肉记忆

AI 可以让明确写代码的活做得很快，但事情本身要做成什么样子其实需要你自己来定。我最近折腾了一套叫 [Waza](https://github.com/tw93/Waza) 的 Skill，一共 8 个技能对应一个好工程师该有的 8 个习惯。

<img src="https://gw.alipayobjects.com/zos/k/t3/1waza.png" width="900" alt="Waza 八个技能总览：think、design、check、hunt、write、learn、read、health">

`/think` 是动手前先想一下技术方案，AI 写代码很快，但方向错了越快越远，先质疑问题本身、把方案都思考好后，再让它跑。`/design` 是帮你设计一个产品化的页面，拒绝那种蓝紫渐变 + 一堆 emoji 的 AI 模板感。[`/hunt`](https://github.com/tw93/Waza/tree/main/skills/hunt) 是排查问题的，原则只有一条：根因没说清楚之前先别动代码，避免改了试试的死循环。[`/check`](https://github.com/tw93/Waza/tree/main/skills/check) 是收工前的最后一关，diff 审一遍，能自动修的修掉，吃不准的归拢起来再问你。

剩下四个偏日常：`/read` 把任意网页或 PDF 转成干净的 Markdown 进工作流，`/write` 让你的表达更清晰，`/learn` 是一套从收资料到出文章的研究流程，`/health` 给你的 CLAUDE.md 和各种规则做个体检，你感觉 Claude 不好用的时候运行一下试试。

安装：`npx skills add tw93/Waza -g`。其中我最建议产品、业务、运营先试的是 `/design`，截图丢给它带上 `/design`，它不会立刻动手，会先反问你给谁用、想要什么气质、最不喜欢哪种风格、有没有想让用户记住的微交互，回答完再动手，效果通常比直接说"帮我改一下样式"稳定。

### 你也可以自己写一个 Skill

Skill 本质就是一个文件夹，放在 `.claude/skills/` 目录下，里面有个 `SKILL.md` 写清楚什么时候用、要做什么。Claude Code 启动时只读 frontmatter，也就是描述触发条件的约 100 个字，真正调用时才加载完整内容，所以你装几十个 Skill 启动也不会变慢。

日常我用得最多的有三种类型：

<img src="https://gw.alipayobjects.com/zos/k/eh/skill.png" width="900" alt="Skills 三种最常用类型：工作流型、检查清单型、领域专家型">

**第一种是工作流型**：把每次都要做的固定步骤打包。比如整理周会纪要：

```markdown
---
name: 整理周会
description: 开完会有原始记录需要整理时调用
---

## 输出格式
**本周达成**：[负责人] 完成了什么
**下周计划**：[负责人] 做什么，截止时间
**待讨论**：卡在哪里，需要谁来决定
**行动项**：[谁] [做什么] [什么时候]

## 规则
- 不润色，保持原始措辞
- 信息缺失就标注"待确认"，不要猜
```

**第二种是检查清单型**：上线前、发版前、提交前过一遍，避免漏项。比如需求上线检查：

```markdown
---
name: 需求上线检查
description: 需求发布前跑一遍，确认没有遗漏
---

## 上线前必须全部通过
- [ ] PRD 里的验收标准逐条确认
- [ ] 设计稿和实现对齐，间距、文案、交互没漏
- [ ] 异常状态（空态、报错、超时）都有处理
- [ ] 数据埋点按规范打好
- [ ] 测试环境验证通过

## 输出
每项 Pass / Fail，有 Fail 必须修完再发布。
```

**第三种是领域专家型**：把判断框架沉淀进去，碰到这类问题按固定路径走，不让它每次自由发挥。比如线上问题排查，以及你们平时业务最佳实践的 SOP：

```markdown
---
name: 线上问题排查
description: 收到线上告警或用户反馈异常时调用
---

## 收集信息
- 报错截图或错误日志的完整内容
- 影响范围：哪些用户、哪个页面、什么时间开始
- 最近的变更：代码发布、配置修改、数据变更

## 判断矩阵
| 现象     | 优先检查                     |
| -------- | ---------------------------- |
| 页面白屏 | JS 报错 → 最近发布记录       |
| 接口超时 | 服务监控 → 数据库慢查询      |
| 数据异常 | 最近数据变更 → 上下游依赖    |

## 输出格式
根因 / 影响范围 / 修复步骤 / 验证方式
```

写好之后，把它放到 `.claude/skills/` 文件夹下，碰到对应场景说一句"用整理周会"或"用线上排查"就行，这里你也可以让 Claude 帮你写。此外两个写 Skill 的小坑要避一下。

**description 写触发条件，不写功能介绍**，"开完会有原始记录需要整理时调用"比"把会议录音整理成结构化周报"准确率高得多。

**一个 Skill 只做一件事**，别把审查、发布、调试塞在一起，拆开用起来才更准。

---

## Kami：让 AI 帮你排版出专业文档

写完内容只是第一步，排版成能发出去的东西往往更耗时间。[Kami](https://github.com/tw93/Kami) 也是我最近做的 AI 排版设计工具，你把内容丢给它，说一句"帮我排成一页纸"或"做个作品集"，它会生成一份可下载的 PDF。

它有 8 套模板：一页纸、作品集、幻灯片、Resume、长文档、信件、研报、Changelog。风格统一，暖底色、墨蓝色点缀、衬线字体为主。中文用苍耳今楷，英文用 Charter，不需要自己调字体。

<img src="https://gw.alipayobjects.com/zos/k/rm/VS66SE.png" width="900" alt="Kami 排版效果：暖羊皮纸底色、墨蓝点缀、衬线字体，支持简历、一页纸、幻灯片等 8 套模板">

最实用的几个场景：会议纪要排成简报、项目进展排成一页纸给老板、个人经历排成简历。以前这些活得开 Word 或 Figma 折腾半天，现在把内容丢进去，先出一版能看的稿子，再微调。

安装：`npx skills add tw93/Kami -g`

---

## Claude Design：不写代码也能出原型

2026 年 4 月 Anthropic 官方推出的 [Claude Design](https://claude.ai/design) 是另一条路：你上传截图或文档，它直接给你个能交互的原型、幻灯片或落地页，对想快速做原型的非技术同学挺好用。

<img src="https://gw.alipayobjects.com/zos/k/8r/r8Z880.png" width="900" alt="Claude Design 界面：上传截图直接给你能交互的原型、幻灯片或落地页">

还不想碰代码的话，用它先出个能展示的想法准没错。产品经理可以用它画原型开评审，过了直接把原型扔给 Claude Code 变代码。早期原型不用等完整设计和研发排期，当天就能拿出来讨论。

---

## 用熟之后的几个小习惯

**截图比文字快**，要描述一个界面问题或者想参考某个设计风格，直接丢图比写一段话准多了，布局、颜色、层级都带进来了，让它少猜。

**任务拆小一件件来**，一句话能讲清楚的任务它几乎不会出错。一上来给一大坨需求，它中间任意一步走偏后面就全偏了，一件做完验收一件再开下一件。

**对话跑偏了就重启**，在已经跑偏的对话里来回纠正它越纠越乱，清掉上下文重说一遍需求往往更快。第二天接着干，先翻一眼上次的 Recap（`/clear` 后会自动生成的会话摘要）想起来干到哪了。

**Memory 跨项目记住你的偏好**，`CLAUDE.md` 是项目级的每个项目都得单独写一份，Memory 是用户级的跨所有项目和会话都生效。直接对它说"记住我喜欢先看方案再执行"、"记住回我中文"，它会写进 `~/.claude/memory/`，以后任何项目打开都记得。常交代的背景信息都可以沉淀进去，省得每次重复说。

**双击 ESC 改上一条**，说错了或者它跑偏了，按两下 ESC 就能回到上一条消息修改，不用重开会话。

---

## 我自己的几条安全习惯

<img src="https://gw.alipayobjects.com/zos/k/bi/1.png" width="900" alt="刚上手的几条安全习惯：先解释、先看懂、生产不练手、密钥别贴">

**让它先解释再动手**，在 CLAUDE.md 里加一条："每次执行 Bash 命令或修改文件前，先用一句话解释要做什么。" 它就会在每步操作前先告诉你它打算干嘛，看不懂代码没关系，看得懂"我要删掉这个文件"就够了。

**看不懂的命令先问**，它要跑一条你没见过的命令别直接放行，先问它"这条命令具体做了什么、有什么风险"，看懂了再点确认。不要复制任何你不懂的命令去执行，里面可能夹带下载、上传或泄露信息的操作。

**生产环境不要拿来练手**，本地和测试环境随便折腾，但涉及生产数据库、线上配置的操作一定先在测试环境验证。一条写错的 SQL 或一次误删，回滚成本远高于你预期。

**密钥别直接粘到对话里**，要配置 API Key、数据库密码这类东西，让它放到环境变量或者 `.env` 文件里，不要直接把明文贴到聊天窗口。

还有一条容易被忽略但很要紧：能跑不代表安全，AI 生成的代码可能有漏洞，涉及登录、支付和个人信息的功能，能用 Clerk 或 Stripe 这种现成服务就别让它从零写。

---

## 延伸阅读

1. [你不知道的 Claude Code：架构、治理与工程实践](https://tw93.fun/2026-03-12/claude.html)
2. [你不知道的 Agent：原理、架构与工程实践](https://tw93.fun/2026-03-21/agent.html)
3. [你不知道的大模型训练：原理、路径与新实践](https://tw93.fun/2026-04-03/llm.html)
4. [Claude Code Best Practices - Anthropic 官方](https://code.claude.com/docs/en/best-practices)
5. [vibe coding - Andrej Karpathy 原始推文](https://x.com/karpathy/status/1886192184808149383)
6. [Claude Skills are awesome, maybe a bigger deal than MCP - Simon Willison](https://simonwillison.net/2025/Oct/16/claude-skills/)
7. [Malleable software in the age of LLMs - Geoffrey Litt](https://www.geoffreylitt.com/2023/03/25/llm-end-user-programming.html)
8. [Claude Code Skills 完全指南 - Datawhale Easy Vibe](https://datawhalechina.github.io/easy-vibe/zh-cn/stage-3/core-skills/skills/)
9. [Claude Code Starter Pack: Tools, Tutorials & Resources - AI Edge](https://x.com/aiedge_/status/2011108297152082250)
10. [When the Vibes Are Off: The Security Risks of AI-Generated Code - Lawfare](https://www.lawfaremedia.org/article/when-the-vibe-are-off--the-security-risks-of-ai-generated-code)
