← 返回信息流
AI 资讯Hacker News·8 天前

将 Claude Code 作为日常开发工具:Claude.md、技能、子代理、插件与 MCP

原标题:Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs

速览

本文探讨了将 Claude Code 作为主要开发工具的最佳实践。通过配置 Claude.md 文件、利用内置技能、管理子代理以及集成插件和 MCP 协议,开发者可以显著提升编码效率。这些功能共同构建了一个高度自动化且可扩展的 AI 辅助编程工作流。

AI 深度解读

Claude Code 作为日常主力工具:深度解读

背景

许多开发者在使用 Claude Code 时,仅将其视为一个“提示-等待”式的聊天机器人,输入提示词后接受第一个建议,就像对待一个高级的自动补全工具。这种用法往往导致效率低下。作者分享了一个典型案例:他花费 40 分钟进行的代码重构,如果让 Claude Code 以正确的方式运行,仅需 4 分钟即可完成。

这种效率差距并非源于模型本身的能力,而是源于围绕模型的工作流。作者主张将 Claude Code 视为一个可编程的自主代理(Autonomous Agent),通过持久化记忆、自定义命令、跨工作树的并行会话以及不断优化的项目布局,来显著提升开发效率。本文基于 Anthropic 团队(特别是 Boris Cherny 和 Cat Wu)的理念,深入探讨如何超越基础用法,将 Claude Code 打造为日常开发的主力工具。

核心内容

1. 超越基础:从聊天机器人到自主代理

核心原则是赋予 Claude 自我验证工作的能力。如果没有这个闭环,开发者就是唯一的反馈信号;有了它,Claude 会迭代直到代码真正运行。据 Boris Cherny 估计,这一单一举措可将代码质量提升 2-3 倍。

具体操作模式包括:

  • 探索、规划、编码:按 Shift+Tab 两次进入只读的“规划模式”(Plan Mode)。让 Claude 读取文件、追踪流程、映射数据模型并生成计划。对于小修复可跳过规划,但对于涉及多文件的变更,必须先规划再执行。
  • 将规划模式视为设计文档:由一个 Claude 会话编写计划,再启动第二个独立的 Claude 会话,以“高级工程师”的身份审查该计划,消除上下文偏见,从而发现潜在漏洞。如果实施出错,返回规划模式并加入验证步骤重新规划。
  • 引用而非描述:避免模糊的描述(如“看看认证模块”),而是使用 @src/auth/login.py 直接引用文件。避免粘贴错误信息,而是使用管道命令 cat error.log | claude 传递精确上下文。
  • 委派而非结对编程:Cat Wu 指出,模型在被视为“被委派任务的工程师”而非“逐行指导的结对伙伴”时表现最佳。 upfront 写出清晰的简报,然后让其运行。
  • 编辑规划:按 Ctrl+G 在编辑器中打开 Claude 的规划文本进行调整,因为规划只是文本,在变成代码前塑造它至关重要。
  • 自我修正规则:当 Claude 犯错时,在提示词末尾加上“更新 CLAUDE.md 以防止重复此错误”。Claude 擅长从失败中提炼规则,这一习惯的复利效应远超其他技巧。

2. 正确理解 .claude 目录

.claude/ 是一个分层配置系统,而非简单的文件集合。

  • 两个作用域
    • 项目级:位于仓库内的 .claude/,提交后团队共享。
    • 全局级:位于 ~/.claude/,随开发者在所有项目间携带。
    • 心智模型:项目文件描述项目,全局文件描述开发者。
  • 常见误区与最佳实践
    • CLAUDE.md 的级联加载:在 Monorepo 中,根目录和子目录的 CLAUDE.md 会同时加载,这有助于处理不同文件夹的惯例差异。
    • 规则的路径门控:特定于迁移文件夹的指导不应通过 CLAUDE.md 膨胀每个会话,而应放在 .claude/rules/migrations.md 并使用 glob 模式。
    • Skills 优于 Commands:虽然两者都注册斜杠命令,但 Skills 支持支持文件、禁用模型调用、允许工具等高级功能。新工作应优先使用 skills/ 目录。
    • 清理本地状态:使用 claude project purge ~/path/to/repo --dry-run 查看 Claude 持有的本地状态,便于交接设备。

3. CLAUDE.md 的正确写法

CLAUDE.md 在每个会话开始时加载。写得好,提示词能产生可交付的输出;写得不好,Claude 会反复踩坑。

  • 保持简短:文件不是知识库,而是护栏。对于每一行代码,问自己:“删除这行会导致 Claude 犯错吗?”如果不会,就删掉。
  • 让 Claude 自我编写规则:每次 Claude 犯错,都让它更新 CLAUDE.md。几周后,该文件将变成一份针对项目所有陷阱的精选列表,且措辞正是模型最能响应的。
  • 团队真实案例:Boris 展示了 Claude Code 团队内部使用的 CLAUDE.md,其中不包含风格偏好或代码库巡礼,只包含构建命令、测试顺序、PR 前仪式等不可猜测的操作。
  • PR 评论中的即时反馈:在 PR 评论中使用 @claude 让 Claude 直接提交规则到 CLAUDE.md,实现“复合工程”(Compounding Engineering),即每次 PR 审查都成为规则的改进机会。
  • 模板建议:重点关注“陷阱(Gotchas)”部分,记录真实 PR 中的错误。避免包含语言惯例、文件描述、长教程或频繁变化的 API 文档。使用 @path 语法导入其他文件以保持主文件简短。
  • 关键词权重:谨慎使用 IMPORTANTYOU MUST,以保留其分量。

4. CLAUDE.local.md 作为日常驱动

CLAUDE.local.mdCLAUDE.md 同级加载,但加入 .gitignore,仅存在于本地。

  • 个人反馈循环:在每次 PR 审查后,将评论员的反馈立即粘贴到 CLAUDE.local.md 中。几周后,这变成了一份针对个人常见反馈的个人规则文件。
  • 效果:Claude 会自动包含之前被指出的测试用例或规范更新,PR 上的细枝末节评论会在两周内显著减少。
  • 维护建议:明确区分“项目特定反馈”和“个人习惯纠正”。定期修剪已变成肌肉记忆的内容,只保留仍在变化中的规则。

5. Skills 深入解析

Skills 是将 Claude Code 从“能做任何事的代理”转变为“以团队特定方式完成项目所需三项特定任务的代理”的关键。它们允许更复杂的逻辑、工具限制和代理覆盖。

关键要点

  • 工作流转变:不要将 Claude Code 当作聊天机器人,而要当作需要护栏的自主代理。核心是建立“自我验证”闭环,可提升 2-3 倍质量。
  • 规划先行:对于涉及多文件的变更,使用 Shift+Tab 进入只读规划模式,让 Claude 先探索并制定计划,再执行。可引入第二个会话进行独立审查。
  • 精确上下文:使用 @file 引用具体文件,使用管道命令传递错误日志,避免模糊描述。
  • 委派式交互:提供清晰的初始简报,让 Claude 独立运行,而非逐行指导。
  • 规则自进化:利用 CLAUDE.md 记录错误,让 Claude 从失败中学习并生成规则。这是复利效应最强的习惯。
  • 配置分层
    • 项目级 .claude/ 用于团队共享惯例。
    • 全局级 ~/.claude/ 用于个人习惯。
    • 使用 skills/ 处理复杂任务,rules/ 处理路径特定指导。
  • CLAUDE.md 极简主义:只保留防止错误的护栏规则,剔除知识库内容。利用 @path 导入细节。
  • 本地个性化:使用 CLAUDE.local.md 吸收 PR 审查反馈,快速修正个人常见错误,并定期修剪过时规则。
  • 复合工程:通过 PR 评论中的 @claude 命令,将代码审查直接转化为项目规则的改进,实现持续积累。

意义与影响

这篇文章标志着 AI 辅助

查看原文 →arps18.github.io