一个月前,我订阅了 Claude Max。虽然之前我一直在使用包括 Claude Code 在内的 AI 代理,但有了固定定价后,我的使用量激增,它已经成为许多任务的日常驱动工具。我发现自己现在很少使用 VS Code 了。
由于 AI 代理对每个人来说都是新事物,我想分享一些最近注意到的使用模式会很有趣。以下是我如何使用 Claude Code 的。
新建线程
如果你只从这篇文章中学到一件事,那就是你绝对应该更频繁地调用 /clear
。
AI 代理往往在对话时间越长越不可预测。当你问不同问题时尤其如此。我发现创建新提示通常更有效,即使这意味着要重复一些指令。
一旦我开始更积极地这样做,我的结果显著改善了。而且我绝对不是唯一一个给出这个建议的人。
创建精确的提示
我觉得这不用说,但当你与「失忆的新毕业生」(这是我对 Claude 的看法)一起工作时,重要的是写出你脑中的所有上下文。这很困难,坦率地说,我认为我自己还不太擅长,但你能给 Claude 的上下文越多,它就越有效。如果你想到一些边缘情况,绝对要告诉 Claude。如果你记得「过去在这个代码库中我们用过类似的模式解决这类问题」,把它写下来!提示越精确,Claude 就会做得越好。读心术技术还「没有」到那一步。
也要考虑任何隐含的上下文。例如,如果你要求 Claude 创建一个「现代设计」,它可能不知道你指的现代是什么。最好给出例子(比如,创建一个类似 Linear 的应用 UI 设计)。
让 Claude Code 使用 Claude Code
你知道你可以将 Claude Code 的工具用作 MCP 服务器(claude mcp serve
)吗?当我发现这一点时,我查看了它暴露的工具,注意到一个叫做 Task
的工具。这个工具的前提是启动一个子代理,它将拥有与你的主代理相同的工具访问权限(除了它不能生成另一个子任务),并报告结果。
知道这个功能可用对于需要监督的复杂问题非常方便。以下是我最近如何使用这个功能以四种不同角色深入研究同一问题的例子:
> Read files in the current directory to deduct a pattern for building Tailwind Plus components. You should spawn 4 sub-tasks with slightly different priorities (e.g. design color export, accessibility export, mobile/responsive expert, overall style expert) and compare their results.
✻ Thinking…
Now I'll spawn 4 specialized sub-tasks with different priorities to analyze various aspects of the components.
⏺ Task(Design Color Expert Analysis)
⎿ Done (24 tool uses · 41.5k tokens · 3m 4.4s)
⏺ Task(Accessibility Expert Analysis)
⎿ Done (15 tool uses · 38.0k tokens · 2m 0.0s)
⏺ Task(Mobile/Responsive Expert Analysis)
⎿ Done (14 tool uses · 45.5k tokens · 2m 1.2s)
⏺ Task(Overall Style Expert Analysis)
⎿ Done (23 tool uses · 58.7k tokens · 2m 22.0s)
这非常「出色」,而且可以并行完成。这是保持主任务上下文窗口有序并让 Claude 保持专注的绝佳方式。
告诉 Claude 思考
就像我们这些血肉之躯的老人类一样,Claude 默认是懒惰的。例如,当你告诉 Claude 做某事时,它会选择阻力最小的路径。如果你告诉它做「至少」三件事,我敢打赌它不会多做一件事。
这同样适用于使用扩展思维能力。为了获得更好的结果,特别是在规划过程中,我建议告诉 Claude 进行「超级思考」。
编辑之前的消息
每当你过于急于点击发送或只是觉得之前的消息可以更精确以获得更好结果时,你可以按两次 Escape 键跳到之前的消息并分叉对话。我一直使用这个功能来改进提示或只是让 Claude「再试一次」。
哦,如果你想回到之前的状态,你可以用 --resume
标志启动 Claude 来列出所有之前的线程。
YOLO 模式
这对我来说可能极其不负责任,但我现在主要使用 --dangerously-skip-permissions
运行 Claude(感谢 Peter 的坏影响)。这不是所有事情都必需的,但如果我让 Claude 处理一些长时间运行的任务,我「真的」不想每分钟都因为它使用新的终端命令而必须切换焦点回到它。
我在我的 zsh 配置文件中设置了这个:
alias yolo="claude --dangerously-skip-permissions"
有趣的是,现在 Claude 可以为所欲为,我也更频繁地遇到速率限制配额警告。
MCP 服务器
我个人对 MCP 服务器不是很兴奋,因为没有一个真正给我带来价值。在大多数情况下,我发现它们只是用我大部分时间不需要的东西占用宝贵的令牌。Claude Code 中的内置工具对我来说已经足够了(特别是按照我在这里概述的方式使用时)。
过去,我使用过 Playwright MCP。虽然看到 Claude 启动浏览器、点击按钮和截图非常迷人,但我发现它主要是快速填满上下文窗口,而没有真正产生更好的结果。
Claude SDK
Claude 有一个 SDK。它相当强大,特别是如果你乐意处理 stream-json
输出格式。但即使对于小事情,能够直接将提示传递给 claude
并让它打印回复也能创造很好的快捷方式。
例如,我在路径中有一个 gcauto
可执行文件,它执行以下操作:
#!/bin/bash
git commit -m "$(claude -p "Look at the staged git changes and create a summarizing git commit title. Only respond with the title and no affirmation.")"
所以现在每当我提交东西时,我只需暂存它们并运行 gcauto
。
规划模式
Claude Code 有一个内置的规划模式,通过按两次 Shift+Tab 触发。在这种模式下,Claude 不会写入你的文件系统。
不过我个人喜欢用另一个模型进行规划,只是为了增加一些变化。在过去几周,我一直直接在 Google AI Studio 中使用 Gemini 2.5 Pro。我真的不知道这怎么可能,但我甚至不用为此付费?
让 Claude RTFM
我在开始时犯的一个菜鸟错误是告诉 Claude 用「框架 x」建立一个新项目。当然它可以工作,但我注意到 Claude 经常使用过时的设置和项目结构,特别是对于快速发展的前端框架!
我现在做的是首先让 Claude 阅读手册。这可以通过不同方式完成:
- 粘贴文档链接并要求 Claude 首先阅读它
- 要求 Claude 找出最新技术
- 使用
Task
工具让 Claude 对特定主题进行深度研究
深度研究任务的例子可能如下所示:
> create a deep research task to figure out how to migrate a website from tailwind 3 to 4 and then present me with a
short summary of the results
⏺ I'll create a research task to investigate migrating from Tailwind CSS v3 to v4, focusing on the specific context of
your Tailwind UI codebase.
⏺ Task(Tailwind v3 to v4 migration research)
⎿ Done (4 tool uses · 29.9k tokens · 5m 47.6s)
⏺ Summary
Migrating from Tailwind CSS v3 to v4 involves significant changes but comes with major performance improvements (3.5x
faster builds) and a better developer experience.
Key points:
- Use the automated upgrade tool: npx @tailwindcss/upgrade@next
- Configuration moves from JavaScript to CSS-first using @theme directive
- Breaking changes include dropped browser support, new import syntax, and removed deprecated utilities
- Performance gains: builds are now measured in microseconds
- Container queries are now built-in (no plugin needed)
The migration is straightforward with the upgrade tool, but plan for testing time to ensure all components render correctly.
语音输入
像 Superwhisper 这样的应用使得口述提示变得非常容易。我发现当我想写更长的提示时这非常有效,因为它能更快地把想法从我脑中提取出来。
这对任何 LLM 输入字段都非常有效,真的,因为 LLM 通常能理解你的意思,即使转录很差且充满错误。
早暂存,常暂存
我在 Claude Code 中缺少的一个功能是自动文件系统快照的能力。我经常遇到 Claude 变得有点「扳机快」,在我不希望的时候开始进行大量更改。如果这发生在我已经得到一些好的更改之后,这可能会大大搞乱工作目录。
为了规避这个问题,我开始早暂存(即 git add
)并且经常暂存更改。如果我在一轮之后感到满意,我通常会暂存所有内容,这样我知道我可以轻松地稍后恢复到它。
Git Worktrees
我对 Claude Code 如此着迷,以至于我现在在我的机器上为我工作的每个主要项目至少有两个工作树。这允许我让 Claude 在「同一个仓库」中处理两个不同的问题。
设置也很容易!这就像创建分支,但代码会在不同的目录中。在你的 git 仓库内,运行:
git worktree add ../tailwindcss.com-2 chore/upgrade-next
瞧,你现在有另一个工作目录供 Claude Code 去完全放飞自我。
用一次性工作进行实验
有了 AI,代码变得「真的很便宜」。这意味着你现在可以构建只用一次的东西而不感到内疚。任何你希望能让当前任务更容易的东西都可以凭空创造出来。以下是我最近构建的一些在编码代理之前永远不值得我花时间的例子:
- 一个可视化我在工作中大型迁移期间当前进度的仪表板
- 一个 Chrome 扩展,显示网站使用的 Tailwind CSS 版本(或者,天啊,它是否根本没有使用 Tailwind CSS)
- 一个用于公开分享 Claude Code 转录的 CLI 和后端
- 一个用于汇总我的 Claude Code API 成本的 CLI,以了解我从 Max 计划中获得多少价值(太多了...)
- 一个在 git GUI 内实验 Claude Code 的 Electron 应用
如果可能,不要尝试一次性完成
我目前专注于一个大规模更改,需要我在过程中涉及许多 Tailwind Plus 组件。我天真的第一个想法是创建一个令人惊叹、深思熟虑、充满细节的提示,肯定能让 AI 一次性完成所有这些... 这肯定是可能的,对吧?
好吧,剧透警告,但我在这种方法上失败得很惨。它不仅没有做我想要它做的事情,还让我无法审查更改或进行任何有意义的更改。我必须重新开始。
这次我首先向 Claude Code 询问关于问题的问题。我们在编写任何代码之前讨论了可能的更改。只有当我确信它知道我想要什么时,我才让它更改一个组件。经过一些测试和反馈后,我让它再做两个。然后另外五个,直到我最终让它扩展并完成剩余的工作。
虽然这显然不如创建完美提示那样壮观,但它让我更快地达到最终结果,并具有更紧密的反馈循环和监督。与在数百个不同组件上手动进行这种更改相比,我仍然能够节省大量时间。
这很可能是我「操作错误」的问题。我看到很多其他人声称在大型一次性任务上成功(其中一些人说 Claude 连续工作「数小时」)。然而,根据我自己的经验,错误会快速复合,LLM 经常在上下文窗口增长时失去线索(即使使用广泛的子代理调用甚至尝试 Gemini 2.5 Pro)。如果有人能与我分享他们的秘密,我会很高兴!
自主反馈还是人工参与?
与上述问题相关,这也是我仍在努力解决的领域。每当我看到人们赞扬 AI 代理时,他们都提到一些自主反馈循环的重要性,这样 LLM 可以自己改进结果。
然而,我还没有能够有效地做到这一点。当我尝试设置单元测试或 linter 反馈时,Claude「会阅读它,然后建议一切工作正常,但仍然有许多问题/警告」。当我设置它可以导航到页面并截图时,上下文窗口很快就充满了令牌。可以说,对我来说体验并不好。
我喜欢做的是让开发服务器自己运行。每当 Claude 回复我时,我自己查看它,要么按原样复制粘贴任何最终的堆栈跟踪,要么给出一些关于我想要不同做法的提示。我个人发现这种方法更有可能让我得到我想要的。
早打断,常打断
每当我看到出现问题时,我通常立即按 Escape 打断 Claude 并要求它撤销最新更改,然后更多地引导它朝我想要的方向。当然,这只有在你保持关注时才有效,坦率地说,我经常做不到。
配置你的终端
Claude Code 有一个隐藏的 /terminal-setup
命令,它会查看你当前的终端设置并进行一些更改,比如让 Shift+Enter 添加换行符或注册正确的铃声类型。虽然我无法在 Warp 中弄清楚换行符的问题,但我的终端现在会在 Claude 再次需要人工输入时发出哔哔声。
连接你的 IDE
另一个相对较新的功能是你可以连接 Claude 来查看你在 IDE 中打开的文件并读取 linter 警告等。这可以通过在 IDE 终端内运行 claude
或运行 /ide
命令来设置。如果你想告诉 Claude「修复我的 linter 问题」,这很方便。
自定义命令
你可以在 Claude Code 中创建自定义斜杠命令。如果你发现自己多次编写类似的提示,这可能是你节省更多时间的机会。
我设置了一些东西来清理 Claude 非常热衷于创建的临时脚本或辅助文件,无论好坏。
将图片粘贴到 Claude
你可以将图片粘贴到 Claude Code 中。只需直接复制图片或将文件拖到你的终端中,它就会作为附件添加到你的下一条消息中。当我想进行小的视觉更改时,我有时会使用这个功能。
结论
Claude Code 从根本上改变了我处理许多编程任务的方式。虽然它不完美,需要调整你的工作流程,但生产力提升是真实的。关键是在自动化和人工监督之间找到正确的平衡,并愿意尝试不同的方法。
随着 AI 编码助手的持续发展,我预计这些模式中的许多会发生变化。但就目前而言,这些技术让我的日常编码生活变得更加高效,我敢说,更有趣。