返回博客列表

Claude Code 日常开发实战:HN 热帖引发的 Agent 工具链讨论

2026-05-28T20:30:00+08:00
Claude CodeLLMAgentMCP开发者工具

Claude Code 日常开发实战:HN 热帖引发的 Agent 工具链讨论

5 月底,开发者 Arpan Patel 写了一篇 23 分钟的深度指南《Beyond the Prompt: Claude Code》,详细拆解了用 Claude Code 做日常开发的全套配置。这篇帖子冲上 Hacker News 前排(349 分,222 条评论),但评论区比原文更有意思——有人奉为圣经,有人直呼"炼金术",还有人质疑文章本身就是 AI 写的。

不管立场如何,帖子里提到的 CLAUDE.md 配置策略、Skills 技能系统、Subagent 架构、Plugin 市场和 MCP 集成,确实是目前 Claude Code 最全面的一次社区级经验汇总。我把原文精华和 HN 评论里的实战干货整理成了这篇文章。

本文提纲

  1. CLAUDE.md:让 Claude 自己写规则
  2. Skills:可复用的提示词包
  3. Subagents:隔离的子代理
  4. Plugins:即装即用的工具市场
  5. MCP:连接外部世界的管道
  6. HN 社区的正反声音
  7. 值得偷的实战技巧

CLAUDE.md:让 Claude 自己写规则

CLAUDE.md 是 Claude Code 每次启动时自动加载的项目配置文件。几乎所有重度用户都提到了同一个经验:不要自己写 CLAUDE.md,让 Claude 自己写

具体操作是:当 Claude 犯了一个错误(用了错误的测试命令、忘了跑 lint、提交了不该提交的文件),在修复之后跟它说:

Update CLAUDE.md so you do not repeat this mistake.

这样 CLAUDE.md 里的规则都是从真实错误中沉淀出来的,而不是拍脑袋想出来的"最佳实践"。

Boris Cherny 的极简主义

帖子引用了 Claude Code 团队成员 Boris Cherny 的团队 CLAUDE.md——只有构建命令和 PR 前的测试顺序,没有任何空洞的原则性描述。核心理念就一句话:

Give Claude a way to verify its own work.

据 Boris 说,光这一条就能带来 2-3 倍的质量提升。因为 Claude 最大的问题不是写不出代码,是不知道自己写的对不对。给它验证手段(测试命令、lint 规则、类型检查),它自己就能纠错。

CLAUDE.local.md:个人配置

除了团队共享的 CLAUDE.md,还有一个 gitignore 掉的 CLAUDE.local.md,用来放个人偏好。比如你在 code review 里反复被提醒的代码风格问题,可以写进 local 文件让它变成持久规则。

Skills:可复用的提示词包

Skills 是 Claude Code 的技能系统,存放在 .claude/skills/<name>/SKILL.md。每个 Skill 是一个 Markdown 文件,包含指令、模板和可选的辅助文件。

设计上有几个巧妙之处:

渐进式加载。Skill 不是一次性全加载到上下文里。会话开始时只加载约 100 个 token 的摘要,等实际需要时才拉取完整指令。这避免了一个 Skill 占掉几千 token 的上下文空间。

支持内联命令。Skill 里可以用 ! 前缀执行 shell 命令,比如 !cat package.json 来动态获取项目依赖信息。

社区资源丰富。帖子提到了两个主要 Skill 仓库:mattpocock/skills 和 Jeffallan/claude-skills(包含 66 种语言配置文件)。不过 HN 评论区有人吐槽:"Skills are just very poorly defined workflows"——Skill 的边界确实模糊,它和 Plugin、Subagent 的功能有重叠。

Subagents:隔离的子代理

Subagent 是 Claude Code 里的独立代理实例,运行在自己的上下文窗口中,拥有隔离的工具权限。配置放在 .claude/agents/ 目录下,是一个带 frontmatter 的 Markdown 文件。

核心价值是上下文隔离。主会话不会被子任务的历史消息污染。这在几个场景下特别有用:

Writer/Reviewer 模式。一个 Subagent 写代码,另一个审查代码。两个代理在独立的上下文里工作,避免"自己审自己"的盲区。

并行执行。Subagent 支持 isolation: worktree 配置,通过 git worktree 实现真正的并行——每个代理在自己的工作目录里操作,互不干扰。你可以同时开 3-5 个 worktree 跑不同任务。

不过 HN 上 mil22 的评论指出了一个实际问题:Subagent 的工具权限声明和实际执行之间有差距,有时候声明了 git 权限但执行时会遇到意料之外的限制。

Plugins:即装即用的工具市场

Plugin 是 Claude Code 最新的扩展机制,通过 /plugin 命令从市场安装。帖子提到目前有 1000+ 个 Plugin,分布在 75+ 个市场上。

原文推荐的"首日必装":

Plugin 做什么
/code-review 启动 4 个并行 Agent 做代码审查
/feature-dev 7 阶段功能开发工作流
语言服务器 Plugin 接入 LSP,据说"影响最大"

但这里有个反转。HN 评论里 mil22 指出,他检查了几个月的 Agent 使用日志,发现 Agent 几乎没有调用过 LSP 工具——哪怕装了语言服务器 Plugin,Agent 还是更倾向于用 ripgrep 和 linter 来理解代码。这跟原文的推荐形成了有趣的对比。

另一个社区争议点是碎片化。同一个"代码审查"功能,你可以用命令、Skill、Subagent、Plugin 或直接口头要求——五种方式,各有各的配置格式和工作流。sandrello 的评论很尖锐:"The product is an empty box and it's your responsibility to augment it. No matter the problem, the blame is on you, the user."

MCP:连接外部世界的管道

MCP(Model Context Protocol)是 Claude Code 连接外部工具的标准协议。通过 MCP 服务器,Claude 可以访问 GitHub、Sentry、Linear、Postgres、Figma、Playwright、Obsidian 等工具。

配置分两层:

团队共享.mcp.json):放在项目根目录,所有人共用。比如连接项目数据库、接入 CI/CD 管道。

个人配置~/.claude.json):放在用户目录,gitignore 掉。比如连接个人的 Obsidian 笔记库。

帖子提到了一个基于 Obsidian 的三层记忆架构,挺有意思:

Hot  → 日志(每天一个文件,记录当天操作)
Warm → 项目笔记(按项目组织的长期笔记)
Cold → 决策记录和知识原子(持久化的经验)

Agent 通过 MCP 读写 Obsidian,实现了一个简易的长期记忆系统。不过这个方案目前还比较粗糙,依赖手动维护笔记结构。

HN 社区的正反声音

这篇帖子的评论区呈现了两极分化的态势。

支持者的实战反馈

downsplat 在 10 万+ 行代码的项目上用 Claude Code 做日常开发,认为 AGENTS 文件(项目全局指令)确实有帮助,但仍然需要人工在循环里做 3-4 轮微调。

rkuska 分享了一个务实的做法:把验证逻辑放在 pre-commit hook 里,而不是依赖 Agent 记住规则。还维护了一个 VOCABULARY.md 文件来统一术语——让 Claude 和团队用同一套词汇。

sshine 用 Nix 做可复现的开发环境,配合 bubblebox 做沙箱隔离,说"I don't know how people live without it"。

反对者的质疑

mrbonner 说"This stuff feels like alchemy to me"——配置 CLAUDE.md、调 Skill、选 Plugin 的过程像炼金术,没有系统化的方法论。

isodev 直言文章难读:"We really need to snap out of letting LLMs write posts."——确实,有读者发现文章里 "mulle times a week" 出现了两次,典型的 AI 写作痕迹。

netdevpheonix 提了一个尖锐的问题:"What happens when Claude is down for 8 hours? Are you able to efficiently take over the codebase?"——工具依赖的风险是真实的。

4b11b4 说自己已经一个月没用 Claude 了,也不想念。

值得偷的实战技巧

抛开两极化的讨论,帖子和评论区里有几个值得直接拿过来用的技巧:

让 CLAUDE.md 自我进化。每次犯错后让 Claude 自己更新规则文件,比人工维护更精准。

验证放进 pre-commit hook。不要指望 Agent 记住"每次提交前跑测试",让 git hook 做这件事。

/goal 命令的 Ralph 循环。设定目标后进入自动执行模式,Agent 会自己拆解任务、执行、验证,直到目标完成。适合边界清晰的任务。

/batch 并行执行。把多个独立任务打包成 batch,Agent 会并行启动多个子代理同时执行。

/rewind 回滚。Agent 搞砸了?直接 /rewind 回到之前的状态,不需要手动 git reset。

VOCABULARY.md。如果你发现 Agent 经常用错术语(把"service"叫成"module"、把"handler"叫成"controller"),建一个术语表文件让它在上下文里保持一致。


参考链接


作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

觉得文章不错?分享给更多人!