文章摘要
作者频繁使用Claude Code进行编程,既用于个人项目也用于团队AI开发工具。他认为当前AI编程工具竞争激烈,但开发者选择往往取决于个人偏好而非实质差异。作者更关注最终成果而非过程,并分享了自己对Claude Code生态系统的使用心得,包括常用和未充分利用的功能。
文章总结
我如何运用Claude Code的各项功能
核心配置文件:CLAUDE.md
作为Claude Code的核心配置文件,CLAUDE.md在不同场景下有着截然不同的使用方式:
- 个人项目:允许Claude自由写入内容
- 企业级项目:我们严格维护一个13KB的配置文件(预计将增长至25KB),并制定了明确的规范:
1. 仅收录30%以上工程师使用的工具文档
2. 为每个内部工具分配"广告位式"的固定文档篇幅
3. 采用"问题导向"的编写原则,重点记录Claude常犯的错误
最佳实践建议: - 避免直接引用外部文档路径(会占用上下文窗口) - 采用"问题+解决方案"的表述方式(而非单纯禁止) - 通过简化CLI工具来减少文档篇幅
上下文管理技巧
- 定期使用
/context命令监控20万token的上下文窗口使用情况 - 推荐工作流:
- 简单重启:
/clear+ 自定义/catchup命令 - 复杂任务:采用"文档记录→清除→重建"的工作流
- 简单重启:
- 避免使用自动压缩功能(存在可靠性问题)
斜杠命令使用哲学
保持极简主义:
- /catchup:读取git分支变更
- /pr:准备代码提交
反对创建复杂的命令体系,认为这违背了AI代理的初衷
子代理系统的取舍
虽然子代理理论上能优化上下文管理,但存在两大问题:
1. 造成信息孤岛
2. 强加人类工作流程
替代方案:使用内置的Task(...)功能,让主代理自主决定任务分配
会话恢复技巧
- 常用
--resume和--continue参数恢复会话 - 通过分析
~/.claude/projects/历史日志改进工具链
钩子(Hooks)实践
企业级应用推荐: 1. 提交时阻断钩子(确保测试通过) 2. 非阻断式提示钩子 避免在编写阶段阻断,以免干扰代理的工作流程
计划模式应用
- 个人项目:使用内置计划模式
- 企业环境:定制基于SDK的计划工具,确保符合技术规范
技能(Skills)与MCP的演进
提出AI代理自主性的三个阶段演进模型: 1. 单次提示(基础阶段) 2. 工具调用(传统代理) 3. 脚本编写(高级阶段) 认为Skills是更优越的抽象方式,而MCP应转型为安全网关
SDK的三大应用场景
- 大规模并行脚本处理
- 构建内部聊天工具
- 快速代理原型开发
GitHub Action创新应用
- 实现"任意渠道触发PR"的自动化流程
- 通过日志分析建立持续改进机制
高级配置建议
- 代理设置调优(超时参数等)
- 企业级API密钥管理
- 定期权限审计
哲学思考
提出关于AI生成PR审核机制的思考:当前采用双重人工审核制度,但认为这代表着软件开发范式的根本转变。
(全文完)
评论总结
以下是评论内容的总结:
文件同步建议
- simonw建议使用CLAUDE.md文件引用AGENTS.md来保持兼容性,并引用Anthropic的最佳实践文档。
引用:"Finally, we keep this file synced with an AGENTS.md file..."
引用:"the recommended (by Anthropic) way to do this is to have a CLAUDE.md..."
- simonw建议使用CLAUDE.md文件引用AGENTS.md来保持兼容性,并引用Anthropic的最佳实践文档。
实用主义的使用方式
- abacadaba以幽默的方式描述了自己通过简单指令和反复调试与AI交互的经验。
引用:"i usually just tell it 'hey go update this function to do [x]'..."
引用:"and then yell at it until it does it right"
- abacadaba以幽默的方式描述了自己通过简单指令和反复调试与AI交互的经验。
对MCP协议的讨论
- simonw赞赏MCP协议作为简单、安全的网关设计,强调其应专注于核心功能而非过度抽象。
引用:"Instead of a bloated API, an MCP should be a simple, secure gateway..." - sublinear质疑这类技术讨论的实际价值,认为它们可能很快过时。
引用:"I feel like these posts are interesting, but become irrelevant quickly."
- simonw赞赏MCP协议作为简单、安全的网关设计,强调其应专注于核心功能而非过度抽象。
行业反思
- johnrob提出行业是否过于关注工具而非客户需求,引用Paul Graham的观点。
引用:"are we once again finding something other than our 'customer' to focus on..." - petesergeant对完全依赖AI生成代码提出质疑,主张通过中间评审确保代码质量。
引用:"This feels like a false economy to me for real sized changes..."
- johnrob提出行业是否过于关注工具而非客户需求,引用Paul Graham的观点。
技能(Skills)的讨论
- netcraft表达对技能概念的理解困惑,呼吁更多实际用例说明。
引用:"I still dont get them... is it a tool call with different permissions?" - mkagenius澄清技能与API的关系,并推荐本地执行工具OpenSkills。
引用:"MCP is like an api but the underlying api can execute an Skill..."
- netcraft表达对技能概念的理解困惑,呼吁更多实际用例说明。
简短评论
- nextworddev仅表示文章不错("Good article")。
- wahnfrieden质疑为何仍有人使用Claude Code而非Codex。
- IlikeMadison提出"Enshittification needs its Moore's law",暗示技术退化问题。
总结呈现了从技术建议、使用体验、协议设计到行业反思的多角度讨论,同时保留了原始评论的关键引用和核心观点。