作者:Philipp Spiess
发布时间:2025年6月11日 • 14分钟阅读
一个月前,我订阅了Claude Max。之前我已经使用包括Claude Code在内的AI代理一段时间了,但有了固定价格后,我的使用量激增,它已经成为我许多任务的日常驱动工具。我发现自己现在去VS Code的次数少了很多。
由于AI代理对每个人来说都是全新的,我想分享一些我最近注意到的一些模式可能会很有趣。以下是我使用Claude Code的方式。
如果有一件事我希望你从中学到,那就是你绝对应该更频繁地调用 。
关键要点:
- AI代理在对话时间越长时往往变得更不可预测
- 当你问不同的问题时尤其如此
- 即使这意味着重复一些指令,创建一个新的提示通常更有效
- 一旦我开始更积极地这样做,我的结果显著改善了
我觉得这不言而喻,但当你与一个健忘的新毕业生一起工作时(我喜欢这样想Claude),重要的是你要写出你脑中拥有的所有上下文。
提示编写要点:
- 这很困难,坦率地说,我认为我自己还不是很擅长
- 你能给Claude提供的上下文越多,它就会越有效
- 如果你想到一些边缘情况,绝对要告诉Claude
- 如果你记得"在这个代码库中我们过去为这类问题使用过类似的模式",写下来!
- 提示越精确,Claude做得就越好
- 读心术技术还没有到那里
隐含上下文的重要性:
- 考虑任何隐含的上下文
- 例如:如果你要求Claude创建一个现代设计,它可能完全不知道你指的现代是什么
- 最好给出例子:创建一个Linear风格的应用UI设计
你知道吗,你可以将Claude Code的工具用作MCP服务器()?
Task工具的强大功能:
- 当我发现这一点时,我查看了它暴露的工具,并注意到一个叫做的工具
- 这个工具的前提是启动一个子代理
- 子代理将拥有与你的主代理相同的工具访问权限(除了它不能生成另一个子任务)
- 子代理会报告结果
使用场景:
- 知道这个功能可用在你有一个需要监督的更复杂问题时非常方便
- 以下是我最近如何使用此功能对同一问题进行四种不同角色深入分析的例子:
这很壮观而且可以并行完成。这是保持主任务上下文窗口有序并让Claude保持专注的绝佳方式。
就像我们这些血肉之躯的老人类一样,Claude默认是懒惰的。
Claude的懒惰特性:
- 当你告诉Claude做某事时,它会选择阻力最小的路径
- 如果你告诉它做至少三件事,我敢打赌它不会多做一件事
解决方案:
- 同样的道理也适用于使用扩展思维能力
- 为了获得更好的结果,特别是在规划过程中
- 我建议告诉Claude进行超级思考
使用技巧:
- 每当你太急于点击发送或只是觉得之前的消息可以更精确以获得更好的结果时
- 你可以按两次Escape跳转到之前的消息并分叉对话
- 我一直使用这个功能来优化提示或简单地让Claude重试
恢复功能:
- 如果你想以某种方式回到之前的状态
- 你可以使用标志启动Claude来列出所有先前的线程
这对我来说可能是极其不负责任的,但我现在主要使用运行Claude(感谢Peter成为坏影响)。
使用场景:
- 这不是所有事情都必要的
- 但如果我让Claude处理一些长期运行的任务
- 我真的不想每分钟都必须切换焦点回到它,因为它使用新的终端命令
配置方法:
我在我的zsh配置文件中设置了这个:
副作用:
有趣的是,现在Claude可以做任何它想做的事,我也更频繁地遇到速率限制配额警告。
个人观点:
我个人对MCP服务器不是很兴奋,因为没有一个真正为我带来任何价值。
问题分析:
- 在大多数情况下,我发现它们只是用我大部分时间不需要的东西消耗宝贵的tokens
- Claude Code中的内置工具对我来说足够了(特别是当按照我这里概述的方式使用时)
Playwright MCP经验:
- 过去,我使用过Playwright MCP
- 虽然看到Claude启动浏览器、点击按钮和截图非常迷人
- 但我发现它主要是很快填满上下文窗口而没有真正带来更好的结果
SDK特性:
- Claude有一个SDK
- 它非常强大,特别是如果你乐意处理输出格式
- 但即使对于小事情,能够直接向传递提示并让它打印回复也为创建快捷方式提供了很好的机会
实用示例 - 自动Git提交:
例如,我在我的路径中有一个可执行文件,它执行以下操作:
使用方法:
所以每当我现在提交东西时,我只是暂存它们并运行。
Claude Code有一个内置的规划模式,当你按两次Shift+Tab时触发。在这种模式下,Claude不会写入你的文件系统。
不过我个人喜欢用另一个模型进行规划,只是为了增加一些变化。在过去几周里,我一直在Google AI Studio中直接使用Gemini 2.5 Pro。我真的不知道这怎么可能,但我不认为我甚至需要为此付费?
新手错误:
我在开始时犯的一个新手错误是告诉Claude用框架x建立一个新项目。
问题分析:
- 当然,这是可行的
- 但我注意到Claude经常使用过时的设置和项目结构
- 特别是对于快速发展的前端框架!
解决方案:
我现在做的是要求Claude先阅读手册。这可以通过不同的方式完成:
深入研究任务的例子可能看起来像这样:
像Superwhisper这样的应用程序使得口述提示变得非常容易。我发现当我想写一个更长的提示时这非常有效,因为它会更快地将想法从我的脑袋中取出。
这对任何LLM输入字段都非常有效,因为LLM通常可以弄清楚你的意思,即使转录很差并且充满错误。
遇到的问题:
- 我在Claude Code中缺少的一个功能是能够制作自动文件系统快照
- 我经常遇到Claude变得有点太激进并开始在我不想要的时候进行大量更改的情况
- 如果这发生在我得到一些好的更改之后,这可能会严重搞乱工作目录
解决策略:
为了规避这个问题,我开始早期和经常暂存(即)更改。
具体做法:
- 如果我在一轮后很满意,我通常会暂存所有内容
- 这样我知道我可以稍后轻松恢复到它
为什么使用Worktrees:
- 我对Claude Code如此着迷,以至于我现在在我的机器上为我工作的每个主要项目至少有两个工作树
- 这允许我让Claude在同一个仓库中处理两个不同的问题
设置方法:
设置也很容易!这就像创建一个分支,但代码将在不同的目录中。
具体步骤:
在你的git仓库内,运行:
结果:
瞧,你现在有另一个工作目录供Claude Code在其中完全放飞自我。
AI时代的新机遇:
有了AI,代码变得真的很便宜。这意味着你现在可以构建你只使用一次的东西而不会感到内疚。任何你希望能让你当前任务更容易的东西都可以凭空创建。
实际案例展示:
以下是我最近构建的一些在编码代理之前永远不值得我花时间的例子:
我目前专注于一个大规模的变更,需要我在过程中触及许多Tailwind Plus组件。我天真的第一个想法是创建一个令人惊叹的、深思熟虑的提示,包含大量细节,肯定可以让AI一次性完成所有这些工作…这肯定是可能的,对吧?
嗯,剧透警告,但我在这种方法上惨败了。它不仅没有首先做我想要的事情,还让我无法审查更改或进行任何有意义的更改。我必须重新开始。
这次我首先向Claude Code询问了有关问题的问题。我们在编写任何代码之前讨论了可能的更改。只有当我确信它知道我想要什么时,我才让它更改一个组件。经过一些测试和反馈后,我让它再做两个。然后再做五个,直到我最终让它扇出并完成剩余的工作。
虽然这显然不如创建完美提示那么壮观,但它让我更快地达到最终结果,并且有更紧密的反馈循环和监督。与手工在数百个不同组件中进行这种更改相比,我仍然能够节省大量时间。
这很可能是我使用方法错误的问题。我看到很多其他人声称在大型一次性任务上很成功(其中一些说Claude连续工作数小时)。然而,根据我自己的经验,错误很快复合,LLM经常在上下文窗口增长时失去线索(即使有广泛的子代理调用,甚至尝试Gemini 2.5 Pro)。我很希望有人能与我分享他们的秘密!
与上述问题相关,这也是我仍在努力解决的一个领域。每当我看到人们赞扬AI代理时,他们都提到一些自主反馈循环的重要性,这样LLM可以自己改进结果。
然而,我还没有能够有效地做到这一点。当我尝试设置单元测试或linter反馈时,Claude会阅读它,然后建议一切都正常工作,而实际上仍有许多问题/警告。当我设置它可以导航到页面并截图时,上下文窗口很快就充满了tokens。可以肯定地说,对我来说体验并不好。
我喜欢做的是自己运行开发服务器。每当Claude回到我这里时,我自己看一看,要么原样复制粘贴任何最终的堆栈跟踪,要么给出一些关于我想要不同做法的提示。我个人发现这种方法更可能让我得到我想要的。
每当我看到出现问题时,我通常立即按Escape中断Claude,并要求它撤销最新的更改,然后引导它更多地朝我想要的方向前进。当然,这只有在你保持关注时才有效,而我坦率地说经常没有做到这一点。
Claude Code有一个隐藏的命令,它会查看你当前的终端设置并进行一些更改,比如使得可以使用Shift+Enter添加换行符或注册正确的铃声类型。虽然我无法在Warp中弄清楚换行符的事情,但我的终端现在在Claude再次需要人工输入时会发出哔哔声。
另一个相对较新的功能是你可以连接Claude来查看你在IDE中打开的文件并读取linter警告等。这是通过从IDE的终端内运行或运行命令来设置的。如果你想告诉Claude"修复我的linter问题",这很方便。
你可以在Claude Code中创建自定义斜杠命令。如果你发现自己不止一次写类似的提示,这可能是你节省更多时间的机会。
我设置了一些东西来清理Claude非常热衷于创建的临时脚本或辅助文件,无论好坏。
你可以向Claude Code粘贴图像。只需直接复制图像或将文件拖到你的终端中,它就会作为附件添加到你的下一条消息中。当我想进行小的视觉更改时,我有时会使用这个功能。
根本性改变:
Claude Code从根本上改变了我处理许多编程任务的方式。
现实评估:
- 虽然它并不完美,需要调整你的工作流程
- 但生产力的提升是真实的
- 关键是在自动化和人工监督之间找到正确的平衡
- 并愿意尝试不同的方法
未来展望:
- 随着AI编码助手的继续发展,我期望这些模式中的许多会发生变化
- 但现在,这些技术使我的日常编码生活显著更有生产力,我敢说,更有趣
Philipp Spiess
当前职位: Tailwind Labs的工程师
工作经历:
- Sourcegraph和Meta的工程师
- This Week in React的策展人
- React DOM团队成员
- PSPDFKit的团队负责人
原文链接: https://spiess.dev/blog/how-i-use-claude-code
翻译说明: 本文翻译自Philipp Spiess的博客文章,展示了他使用Claude Code的实践经验和技巧总结。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/226217.html