从在 Neon 每天使用 Claude Code 中学到的一些技巧
在 Neon,我们很多人几乎每天都使用 Claude Code:用于调试、为新功能构建脚手架,或者在项目之间切换上下文时保持工作流程的连续性。不过我很快注意到,每个人似乎都有自己与它协作的方式。
对我来说,一旦我开始尝试配置、内存文件和一些附加功能,就豁然开朗了。我不断在 Apple Notes 中记录笔记,记录我发现的最有效的方法。随着时间的推移,这些笔记变成了一份备忘单------既是参考资料,也是个人工作流程指南。
我觉得这可能对其他人也有用,所以在这篇文章中,我将详细介绍它,并附上一些评论,说明为什么它们很重要以及我在实践中如何使用它们。
计划模式
我发现的第一个要点是,Claude Code 不只是一种"模式"。你可以引导它进入不同的思维方式。每当我希望 Claude 在深入代码之前退后一步,概述一个更大的方法时,我就会使用计划模式(Shift + Tab + Tab)。这几乎就像要求它先在白板上规划解决方案。这可能看起来不太起眼,但首先使用计划模式确实是一个改变游戏规则的方法,它会生成涵盖更多用例且错误更少的代码。此外,它还为开发人员提供了在实际将代码更改添加到代码库之前与 Claude Code 进行来回沟通的机会。
多代理工作流
有时候一个视角是不够的。Claude Code 实际上让并行启动多个代理变得很容易,每个代理都有自己的"个性"或观点。
我喜欢同时运行多达 15 个任务代理,要求它们从不同的角度审查相同的代码:专注于安全的审查者、挑剔的风格检查器、性能调优器等。这就像有一个房间里充满非常有主见的工程师,每个人都指出你可能遗漏的东西。
对于更复杂的设置,使用像 Claude Swarm、Conductor 和 Sculptor 这样的工具非常方便,它们都非常有用,可以以不同方式并行运行 Claude Code。
我并不总是使用这个,因为对于快速重构来说有点大材小用。但当我处理提示测试、棘手的更改或涉及许多系统的事情时,获得反馈合唱和多个代代一次性生成是令人惊讶的有效。
管理上下文
Claude 的表现取决于你给它的上下文。 这看起来很容易理解,然而,我们都会在某些时候在这方面失败,比如没有对我们的要求以及我们希望事情如何完成进行极其明确的说明,或者有时保留了与当前任务不再相关的上下文。
我不断使用的两个命令是:
/clear
→ 当会话变得太嘈杂时,擦除一切重新开始/compact
→ 不是丢弃所有内容,而是总结聊天,这样你保留了精髓而没有臃肿/context
→ 了解什么占用了你的上下文空间真的很有用
对于更大的输入,我发现将文本作为文件添加而不是直接粘贴大块到终端中要好得多。将文本放入仓库中的一个新文件,然后用 @filename 标签引用它。Claude 立即接受它,你保持了聊天历史的可读性。
它甚至适用于图像:只需用 Ctrl + V 粘贴它们,它们就成为会话上下文的一部分。当我需要从我离开的地方继续时,claude -c
继续最后一个会话。这就像为对话线程添加书签,所以我不必从头开始重建上下文。
MCP 服务器
在所有关于 MCP 的炒作中,我只选择了一些我实际一直使用的:
-
Serena → 这个连接到你的语言服务器,使"查找和替换"在符号级别工作,而不仅仅是原始文本。在实践中,这意味着 Claude 实际上可以跟踪引用、追踪函数,并在语义上连接代码路径,而不是摸索使用 grep。
-
Context7 → 把这看作是一个始终最新的文档库。如果我使用 React、Go 或任何流行的库,它都在那里。不用爬取网络或粘贴文档,我只需告诉 Claude 通过 Context7 查找内容。
-
Playwright → 这是用于 UI 测试的。Claude 可以直接启动并检查 UI 行为,这是验证前端更改而无需连接整个测试框架的好方法。
代理内存
当 Claude Code 有内存时,它感觉更聪明,但正确设置它很重要。默认情况下,它在你的项目中查找 CLAUDE.md
文件。在你的仓库根目录中放一个,突然间你有了一个 Claude 将始终参考的持久知识库。
有些人也使用 AGENTS.md
,并且有开放的 PR 要求 Anthropic 将其设为默认值。不过现在,CLAUDE.md
优先,所以我依赖它。
在实践中,我会根据项目保留多个内存文件:
- 在仓库根目录中有一个高级别的
CLAUDE.md
,描述包、整体架构和约定。
更具体的文件(比如在 /web
中的一个)深入探讨路由、API 集成或测试实践等内容。
状态行
这个产生了很大的不同。Claude Code 让你自定义状态行,一个位于聊天输入正下方的小信息条。我的显示仓库名称、当前分支、我使用的模型以及我消耗了多少令牌。
这一切都由 /statusline
命令驱动。你可以添加任何你想要的内容:
bash
/statusline add Model | Git Branch | Tokens | Directory
酷的是你可以为它编写脚本。Claude 可以为你生成 bash 脚本,将其放入你的机器,并在启动时运行它。这意味着每次我打开 Claude Code 时,我都会立即获得关于我在哪里以及我正在使用什么资源的反馈。
子代理和代码外科医生
在我看来,人们仍然没有意识到 Claude Code 子代理的全部力量以及为什么它们是 AI 工作流程中如此核心的部分。这些是 Claude Code 为特定任务和上下文产生的"专业助手"。最好的部分是,它们从干净的上下文开始(没有杂乱,没有令牌膨胀),只专注于你给它们的问题,并由清晰、单一的目标驱动。
我构建了多个不同的子代理,我发现最有用的是我称之为"代码外科医生"的。这些是设计用于在任何代码库中操作的子代理,无论技术栈如何,例如:
- 深入研究组件和依赖关系的代码库分析器
- 在整个仓库中寻找模式的相似示例查找器
- 当本地上下文不够时走出去的网络搜索器
- 使用 MCP 验证前端行为的 UI 分析器
类型优先
我养成的一个习惯是从类型开始,而不是直接投入代码。当你给 Claude Code 一个结构来工作时,它响应得很好。
这可能意味着勾勒出数据库模式,或者如果我在 TypeScript 中编写 Zod 模式,或者只是在不担心实现细节的情况下放下核心业务模型。一旦这些类型就位,Claude 往往会生成更一致、更容易推理且不太可能偏离的代码。
这基本上是我们在软件设计中遵循的相同原则:定义合约,然后填充函数。但使用 Claude,它更强大,因为类型充当了模型的护栏。
如果你曾经让 Claude 偏离到模糊、过度工程化的领域,试着先给它强类型。你会惊讶于代码输出变得多么干净。
自定义命令
如果你发现自己不断重复相同的提示,Claude Code 让自动化它们变得容易。你可以将 Markdown 文件放入仓库中的 .claude/commands
文件夹,这些就成为你可以直接在终端中调用的斜杠命令。
例如,我保留的一些便利命令是:
/create-plan
在 markdown 文件中创建可能的实现的非常详细的计划/pr-review
通过多个专业子代理并行审查 git 分支差异,分析更改的不同方面/investigate-codebase
当我在处理新代码库并且没有足够的上下文交给 Claude Code 时使用
每个 Markdown 文件都可以包含"Front Matter 头部",这是你定义目的、参数和模型的地方。所以当你输入 / 时,你实际上会看到自定义命令的提示。因为这些存在于仓库中,你可以将它们检入 git,这样你的整个团队都有相同的自定义命令可用。
思考模式和令牌窗口
Claude 有不同的"思考模式",你可以根据问题调高或调低。默认情况下,它只是思考,但你可以明确地进一步推动它:
think
→ 正常推理think hard
→ 更深思熟虑think harder
→ 更深入ultrathink
→ 完全的重量级推理模式
当我希望 Claude 放慢速度并真正咀嚼一个问题时,我使用这些,比如重构一个棘手的异步流程或推理系统设计中的权衡。
另一个杠杆是令牌窗口。Claude 支持 4k、8k、16k 和 32k 上下文(大约)。对于小的、外科手术式的编辑,4k 或 8k 就足够了。但如果我希望它理解整个模块或在多个文件之间推理,我会将其提高到 16k 或 32k。
更高思考模式 + 更大令牌窗口的组合可能看起来像过度杀伤,但当你处理复杂的事情时,额外的计算和时间是值得的。
无头模式和自动化
Claude Code 不仅用于交互式聊天,你也可以在无头模式下运行它。这意味着将另一个命令的输出直接传输给 Claude 并保存结果,不涉及 UI。
我经常使用的一个例子是 npm audit
:
css
npm audit --json | claude -p "Order the vulnerabilities by the most critical fixes needed" > vulnerabilities.md
这获取审计输出,让 Claude 按优先级对问题进行排名,并编写一个很好的 Markdown 报告,我可以将其放入 PR 或与团队分享。
这种模式基本上适用于任何输出 JSON 或日志的东西。运行命令,通过提示将其传输给 Claude,并捕获输出。这就像有一个额外的处理步骤,你可以插入到 CLI 工作流程的任何地方。
会话管理
长时间的编码会话可能会变得混乱,Claude 有一些技巧使保持控制变得更容易。
- 从你离开的地方继续 :运行
claude --resume
来获取最后一个会话,而无需从头开始重新加载上下文 - 撤销错误 :
/rewind
或者只是按 Esc + Esc 回滚最后一个工作 - YOLO 模式 :使用
--dangerous-skip-permissions
启动 Claude,它不会提示你每一个操作。我只是谨慎使用这个(顾名思义,这是有风险的),但当我想在沙盒环境中快速移动时它很方便
成本和使用检查
我努力注意的一件事是我消耗了多少计算资源。Claude Code 让检查变得相当轻松:
npx ccusage
→ 显示整体使用统计/cost
→ 快速查看当前会话中消耗的令牌和美元/usage
→ 显示你在使用百分比中的进度
我甚至将成本添加到我的状态行,所以它总是可见的,我不会感到惊讶。
就是这样
这份备忘单仍在发展中,我相信随着新功能的推出,我会不断添加内容。如果你发现了其他对你有效的工作流程,我很想听到它们------在 Discord 上与我们分享。如果你只是想要原始参考,这里有完整的 Claude Code 备忘单。