如何精通 Claude Code

本文介绍了如何更有效地使用 Claude Code,包括解决上下文丢失问题、构建记忆系统、将 Claude Code 作为协调者而非执行者、将重复性工作流程编码为技能,以及如何给出清晰的指令,从而更充分地利用 Claude Code 的能力。

Image

如何掌握 Claude Code

我不再将 Claude Code 视为聊天机器人,而是将其视为可以处理我提供给它的任何东西的实际助手。 这是我在此过程中学到的一切,因此你可以增强你的 AI 工作流程。

全新的上下文问题

每个 Claude Code 会话都从空白开始。 你解释你的项目、你的偏好、你的文件夹结构,然后会话结束,一切都消失了。 第二天你又这样做了。 这太累了。

Image

解决方案是 Claude 配置文件,它在每次会话开始时自动读取。 将你的偏好、你的文件夹结构、你的常用命令、你的编码风格放在那里。 任何你原本会重复的东西。

然而,问题在于这只处理静态信息。 你的项目结构不会每天改变,但其他一切都会改变,包括你学到的经验、你参加的会话、关于正在进行的工作的上下文。 这些也需要一个存放的地方。

记忆

为了解决这个问题,我构建了一个记忆系统。 核心思想是一个索引文件,它指向其他文件,而不是包含所有内容本身。 一个 500 行的记忆文件意味着 Claude 浪费 token 读取与今天任务无关的上下文。 但是一个链接到详细文件的 30 行索引意味着 Claude 可以只提取它需要的东西。

一个主要的记忆文件可能看起来像这样:

    ## 活动项目
      - 后端 API → [链接到项目上下文]
      - 移动应用 → [链接到项目上下文]

      ## 参考
      - 经验教训 → [50 个条目,根据需要阅读]
      - 最近的会话 → [滚动日志,最近 5 个]

经验教训文件积累了我学到的东西:特定库的怪癖、运作良好的模式、要避免的错误。 会话文件是以前会话的滚动日志,其中包含我处理的内容和待处理内容的简要说明。 当我开始一个新的会话时,Claude 读取索引,查看哪些是活动的,并提取相关的上下文。 将秘密从这些文件中取出,因为它们位于你的代码库中。

在整个会话中,每当我学到一些值得保留的东西时,我都会告诉它保存记忆并描述要保存的内容。 最后,我总结了我们所做的事情。 如果你没有保存,你就会失去在那次对话中出现的任何有价值的见解。

协调器

一旦记忆工作正常,我改变的下一件事就是我如何使用 Claude 的时间。 Claude Code 非常昂贵,而且很容易填满你的 token 限制。

Image

协调器设置可能看起来像这样的示例

所以我停止将它用作一个工人,而开始将它用作一个协调员。 Claude 计划我们正在构建的内容、它的结构方式、边缘情况是什么。 然后一个工人实现:我使用 Codex 进行批量代码生成,但是其他模型也适用。 然后 Claude 审查输出。

我在一个服务器上自动执行此操作,但是如果你愿意,你可以手动执行此操作。 Claude 编写一个规范,你将它粘贴到 Codex 或另一个模型中,然后将输出带回来进行审查。

这之所以有效,是因为 Claude 擅长判断。 “这应该是一个类还是一个函数?”“这种错误处理是否足够?” 这些是值得付费的问题。 输入 500 行样板代码不是。 让更便宜的工具处理数量。

结果是更好的输出,因为 Claude 捕获了工人遗漏的东西,更低的成本,因为批量工作发生在其他地方,以及并行性,因为工人可以在 Claude 计划下一个任务时运行。

技能

有些工作流程会重复。 我每次都以相同的方式集思广益地撰写文章,以相同的方式调试代码,以相同的方式编辑文档。 一旦我注意到这种重复,我就开始将它们编码为技能。

Image

潜在技能的示例

技能是一个可重用的命令,它会触发一个多步骤的过程。 我的示例包括撰写文章(集思广益、概述、草稿、编辑)、审核以进行事实核查文档以及我发现有用的其他可重复的技能。 技能以 Markdown 文件的形式存在,每个文件定义了你调用它时 Claude 遵循的步骤。

重要的是,技能编码的是过程,而不仅仅是提示。 它们指定了在开始之前要检查什么、如何检查点进度、要保留什么、何时停止并提问。 从像集思广益和调试这样的过程技能开始。 这些的回报最高。 实现技能排在第二位。

操作纪律

我通过实践学到了一些规则。

Claude 不应该沉默太久,以防它卡住。 如果它正在做一些复杂的事情,它应该定期向你更新。 当你看到活动时,你知道它正在工作。

在每次编辑后检查点,而不是批量检查。 如果你让 Claude 默默地进行五次编辑,并且上下文在批量中间消失,你不知道完成了什么。 进行一次编辑,报告它,然后继续。

在进行大型操作之前发出警告。 “这个文档有 2000 个单词,正在阅读。” 它可以设置期望值,并让你有机会中止。

这些规则的存在是因为 Claude Code 不是一个本地应用程序。 这是一个有状态的会话,可以随时结束。 你的工作流程应该考虑到这一点。

如何给出指示

你表达请求的方式比你想象的更重要。 Claude 从字面上理解指令,而模糊的指令会产生模糊的结果。

当你“收紧那部分”时,Claude 必须猜测你指的是哪一部分,以及“收紧”对你来说意味着什么。 它可能会重写你的整个文档。 相反,要具体:“将第 3 段从 80 个单词收紧到 40 个。” 当你编辑时,告诉 Claude 要保留什么:“不要动引言,只编辑第 2 节和第 3 节。” 你设置的边界越多,Claude 就越不可能做一些你必须撤消的事情。

这对于任何视觉的东西尤其重要。 Claude 看不到你的屏幕。 当它“修复了 CSS”时,它是在从代码而不是从页面的实际外观进行推理。 你需要自己验证视觉变化。 同样适用于任何需要人工判断的输出:语气、风格、某件事是否“感觉正确”。

你的工作方式也存在成本维度。 前面的协调器模型在这里有所帮助:考虑一下什么值得 Claude 关注,而什么可以在其他地方或以后发生。

Claude Code 回报系统思维。 该工具会适应你赋予它的任何结构。 赋予它良好的结构,它就会复合。 不给它任何结构,你将花费每个会话重新解释相同的事情。

  • 原文链接: x.com/defiminty/status/2...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
defiminty
defiminty
江湖只有他的大名,没有他的介绍。