微信扫码
添加专属顾问
我要投稿
揭秘顶尖开发者如何将Claude Code从高级补全工具,升级为可编程的工程团队。这份指南将提供从CLAUDE.md到多智能体流水线的完整操作手册。核心内容:1. 理解Claude Code作为智能体编排框架的完整架构2. 掌握CLAUDE.md与提示词,构建自动化工作流与CI3. 搭建多智能体流水线并集成MCP系统
大多数开发者把Claude Code当高级自动补全用。顶尖1%的人把它当成一个可编程的工程团队。这篇指南从CLAUDE.md到多智能体流水线、CI自动化和MCP集成,手把手教你怎么做到。
大多数开发者把Claude Code当成一个高级自动补全工具在用。而顶尖1%的人,把它当成一个可编程的工程团队。这篇指南会告诉你具体怎么做——从CLAUDE.md的精通,到多智能体流水线、CI自动化,以及你的竞争对手还没听说过的MCP集成。
让我描述一个你可能很熟悉的场景。
你打开终端,输入claude,描述一个功能,然后Claude写了一些文件。你review一下,可能对几个地方提出意见,最终发布上线。你觉得自己效率很高,甚至在站会上有点小得意。
但实际情况是:你在把Claude Code当成一个更快的Stack Overflow用。你仍然是那个串联所有线程、管理每次上下文切换、看着每个决策的人。工具本身很厉害,但你使用它的方式并不厉害。
顶尖1%的Claude Code用户并不是提示词写得更好。他们构建了系统,他们有CLAUDE.md文件,每次会话都能加载完美的上下文。他们有hooks在不需要询问的情况下强制执行质量门禁。他们有子智能体并行运行,同时处理问题的不同部分,而他们自己在review、做架构设计和把控方向。他们连接了MCP服务器,让Claude实时访问数据库、GitHub和内部工具。
这篇文章就是我刚开始时希望能有的指南。我们会深入四个领域:快速构建功能、自动化工作流和CI、精通CLAUDE.md和提示词,以及搭建多智能体和MCP系统。读完之后,你会有一套今天就能落地的完整操作手册。
在进入实操之前,你需要理解你实际在用的是什么。Claude Code不是一个编码助手,它是一个智能体编排框架,只是恰好非常擅长写代码。
各层是这样叠在一起的:
每一层解决一个特定问题。大多数开发者只用了B层。专家把所有层一起用,复合效果是惊人的。
让我们看看Claude Code相对于你可能已经知道的工具处于什么位置。
AI编码工具的格局已经爆发了。GitHub Copilot、Cursor、Windsurf、Codeium、Amazon Q——选择比以往任何时候都多。那为什么Claude Code值得你关注?
Pragmatic Engineer对近1000名开发者的调查发现,Claude Code在2025年5月发布后的8个月内就升至AI编码工具第一名,超越了GitHub Copilot和Cursor。但排名本身不能告诉你为什么。让我们拆解一下:
Copilot是一个优秀的自动补全工具。它在逐行建议方面表现出色,深度嵌入VS Code,对小的、独立的编辑很快。但它对你的项目没有记忆,不能运行命令,也没有架构决策的概念。每次交互都是无状态的。你永远是那个粘合剂。
最适合:想要在不离开心流状态下获得内联建议的开发者。
Cursor把Copilot模型扩展到了文件级别的编辑,有一个不错的UI。它的Composer功能可以处理多文件变更,2025年的上下文管理也有了显著改进。但它仍然缺少Claude Code拥有的hooks、子智能体系统和深度CLI集成。而且它是VS Code的专有分支,意味着你被锁定在他们的编辑器里。
最适合:想要一个精致GUI体验来处理中等复杂度任务的开发者。
Claude Code在项目级别运作。它读取你的完整代码库,跨多个文件规划,执行变更,运行你的测试套件,读取错误,修复它们,然后循环直到通过。它通过CLAUDE.md实现跨会话记忆,通过hooks实现自动化,通过子智能体实现并行,通过MCP实现外部集成。而且它在你的终端、IDE或浏览器中运行——你选。
最适合:想要交出完整任务并把控结果,而不是管理步骤的开发者。
Copilot和Cursor是你使用的工具,Claude Code是你配置和编排的系统。这个区别就是一切。
前者的上限是让你在当前工作流中更快,后者可以改变你的工作流本身。
每个Claude Code会话都从零开始。CLAUDE.md是唯一一个每次都会自动加载的文件——它是你给Claude关于项目的永久记忆的方式。
大多数开发者写一次CLAUDE.md,把能想到的都塞进去,然后纳闷为什么Claude一直忽略其中的部分内容。真相是:CLAUDE.md大约有150-200条指令的预算。系统提示词已经用了大约50条。你添加的每一行Claude不需要的内容,都在稀释那些重要的行。
把它想象成雇一个承包商。你不会在第一天就给他们一本400页的公司手册,然后期望他们记住所有东西。你会给他们一份简洁的简报:这是项目,这是我们的工作方式,这是重要的东西。
WHAT 告诉Claude你的技术栈。不要嵌入整个package.json——引用它:See @package.json for dependencies。不要嵌入你的README——引用它:See @README.md for architecture overview。
WHY 给Claude决策背后的目的。"我们使用服务端渲染是因为我们的用户在农村市场使用慢速连接"比"use SSR"有价值10倍。当Claude理解宏观上下文时,它会做出更好的微观决策。
HOW 是大部分价值所在。具体来说:记录Claude在你的代码库上做错的事情,而不是它已经做对的事情。如果Claude从不忘记使用TypeScript,就不要浪费一行写"use TypeScript"。如果它一直在使用ESM的项目中用CommonJS导入,那就写进去。
~/.claude/CLAUDE.md ← 全局,适用于所有会话
./CLAUDE.md ← 项目根目录,提交到git
./CLAUDE.local.md ← 个人覆盖,加入.gitignore
./src/api/CLAUDE.md ← 在该目录工作时按需加载
./src/db/CLAUDE.md ← 数据库工作时按需加载
子目录技巧被严重低估了。与其把每个模块的约定都塞进根目录的CLAUDE.md(然后超出指令预算),不如把它们放在子目录的CLAUDE.md文件中。Claude在该区域工作时会自动加载它们。
❌ 把所有东西塞进一个文件。超过200行的文件会导致指令丢失。Claude会判定上下文"可能不相关"然后忽略其中的部分。
❌ 记录Claude已经做对的事情。每一行都是预算。把它花在纠正上,而不是确认上。
❌ 模糊的禁止。"Never use the --foo-bar flag"让Claude卡住了。"Never use --foo-bar; prefer --baz instead"给了它出路。
❌ 用CLAUDE.md来强制行为。如果某件事必须始终发生——署名、权限范围、模型选择——用settings.json。CLAUDE.md是建议性的。Settings是确定性的。
在提交任何一行之前,问自己:"没有这一行,Claude会在我的代码库上犯错吗?"如果答案是否,删掉这行。
Hooks是Claude Code开始感觉像基础设施而不是工具的地方。它们是在特定生命周期点自动运行的shell命令——在Claude写文件之前、在它运行命令之后、在会话结束时。
关键洞察:hooks不依赖Claude的判断。不管Claude想不想,它们都会运行。这就是重点。
编辑 .claude/settings.json:
{
"hooks":{
"PostToolUse":[
{
"matcher":"Write",
"hooks":[
{
"type":"command",
"command":"cd $PROJECT_ROOT && npm run lint --fix"
}
]
}
],
"PreToolUse":[
{
"matcher":"Bash",
"hooks":[
{
"type":"command",
"command":"python .claude/hooks/block_dangerous.py"
}
]
}
],
"Stop":[
{
"hooks":[
{
"type":"command",
"command":"python .claude/hooks/session_summary.py"
}
]
}
]
}
}
block_dangerous.py hook从stdin读取tool_input.command,对照黑名单检查(比如rm -rf、git push --force、DROP TABLE),如果被阻止则以退出码2退出。退出码2会把错误消息作为反馈发送回Claude。退出码0允许操作。
使用SubAgentStop在无需人工干预的情况下将智能体串联成流水线:
{
"hooks":{
"SubagentStop":[
{
"hooks":[
{
"type":"command",
"command":"cat .claude/pipeline_queue.txt | head -1"
}
]
}
]
}
}
当pm-spec子智能体完成时,hook从队列文件中读取下一个命令并打印到STDOUT——Claude将其视为对话记录中的下一个建议操作。你批准它(或自动化批准),流水线继续。
这是Claude Code真正与其他所有工具不同的地方。子智能体让你同时运行多个专门的Claude实例,每个都有自己的上下文窗口、系统提示词、工具权限,甚至模型。
你的主会话保持干净和高层次。繁重的工作——深度研究、安全审计、测试生成——发生在隔离的上下文中,然后返回简洁的摘要。
创建 .claude/agents/code-reviewer.md:
---
name: code-reviewer
description: Reviews code for style, correctness, security, and performance. Use after any implementation is complete.
tools: Read, Grep, Glob, Bash
model: claude-opus-4-6
---
You are a staff engineer doing a thorough code review. Challenge every shortcut.
For each file changed, check:
1. Correctness — does this actually do what's intended?
2. Edge cases — what inputs would break this?
3. Security — any injection vectors, exposed secrets, auth gaps?
4. Performance — any O(n²) loops, unnecessary DB calls, memory leaks?
5. Readability — will a new team member understand this in 6 months?
Output: structured report with MUST FIX, SHOULD FIX, and CONSIDER sections.
默认情况下,子智能体继承主会话的所有工具——包括MCP工具。要刻意限定范围:
---
name: safe-researcher
description: Reads codebase to answer questions. Cannot modify anything.
tools: Read, Grep, Glob
---
disallowedTools方式通常更好——继承所有东西,然后移除危险的部分。
这是整篇指南中杠杆率最高的技术之一。
会话A实现一个功能。它有所有上下文,做了所有权衡,因为你在快速推进所以走了一些捷径。
会话B从零开始。它没有那些上下文。它冷读diff。它会暴露每一个捷径、每一个假设、每一个会话A认为理所当然的东西。这是你能得到的最诚实的代码审查。
# 会话A
claude "implement the payment webhook handler, write tests, commit when passing"
# 会话B(在新终端中)
claude "review the last commit on this branch as a staff engineer.
Check correctness, security, and edge cases.
Be harsh — this is going to production."
你也可以用 --agent 标志来正式化这个流程。
Model Context Protocol(MCP)是你把Claude Code连接到真实世界的方式。你的数据库、你的GitHub、你的内部API、Jira、Slack。任何有MCP服务器的东西都会成为Claude可以使用的原生工具。
这样想:现在,Claude可以读写你机器上的文件。有了MCP,Claude还可以查询你的生产数据库(只读)、获取最新的GitHub issues、在Slack上查看bug的上下文,或者查找Jira工单——所有这些都不需要你复制粘贴任何东西。
{
"mcpServers":{
"github":{
"command":"npx",
"args":["-y","@modelcontextprotocol/server-github"],
"env":{
"GITHUB_TOKEN":"ghp_your_token_here"
}
},
"postgres":{
"command":"npx",
"args":["-y","@modelcontextprotocol/server-postgres"],
"env":{
"POSTGRES_CONNECTION_STRING":"postgresql://user:pass@localhost/mydb"
}
}
}
}
配置好之后,Claude可以用自然语言与这些工具交互:
"检查最近5次失败的GitHub Actions运行,找出共同模式"
"查询users表来理解schema,然后再写migration"
"找到这个bug的Jira工单,添加一条修复方案的评论"
最重要的MCP教训:默认只读。对于绝大多数任务,Claude需要读你的数据库,而不是写入。设置两个MCP服务器配置:一个只读用于探索和调试,一个读写的需要显式权限才能使用。
一个具体例子:你会给code-reviewer子智能体只读数据库访问来理解schema。你的implementer子智能体获得写权限,但只能写dev数据库,永远不能写生产环境。
一个常见问题:我应该构建一个MCP服务器还是为此写一个skill?
Skills(.claude/skills/中的SKILL.md文件)是教Claude如何做某事的markdown文件——它们承载知识和指令。MCP服务器暴露实时工具和数据。判断标准:
让我们把这些变得具体。这是一个构建新API端点的真实工作流——从想法到合并PR——使用完整的专家设置。
你需要给你的Node.js API添加一个新的 /api/v2/recommendations 端点。它应该基于用户历史返回个性化内容推荐,带有Redis缓存、适当的auth中间件和测试。
Step 0 — 你的CLAUDE.md已经加载了
因为你已经设置好了,Claude已经知道你的技术栈、测试框架、git工作流,以及它在你的代码库上容易犯的错误。每次会话零设置。
Step 1 — 用面试模式来构建spec
claude "I want to build a /api/v2/recommendations endpoint.
Interview me using the AskUserQuestion tool.
Ask about auth, caching strategy, response shape, edge cases,
and performance constraints. Don't assume anything.
When we've covered everything, write a complete spec to SPEC.md."
当Claude工作时,你的PostToolUse hooks自动lint它写的每个文件。你的PreToolUse hook阻止任何危险命令。你不需要想这些。
当Claude还在实现(或在它提交后立即),启动一个并行审查:
claude "Use the code-reviewer subagent on the changes in the last commit"
子智能体在自己的隔离上下文中启动,冷读diff,返回结构化报告:
必须修复:
- 错误路径上Redis连接没有释放(内存泄漏)
- Auth中间件在rate limiter之后应用——应该在之前
应该修复:
- 缓存key不包含用户locale,会提供错误语言
- 缺少空历史边界情况的测试
考虑:
- 可以在CDN层为匿名用户缓存
回到主会话:
"审查者发现了错误路径上的Redis连接泄漏和auth中间件顺序错误。修复两者,重新运行测试。"
Claude修复它们,测试通过,hooks自动lint。
claude "Use the security-auditor subagent on this feature"
安全审计员检查注入向量、暴露的密钥、auth漏洞和rate limiting漏洞。返回一份干净的健康证明(或更多修复)。
claude "Create a PR for this feature. Include the spec,
what was changed and why, test coverage summary,
and any known limitations."
Claude使用GitHub MCP创建PR,带有适当的描述,链接回Jira工单(通过Jira MCP),并请求审查者。
总时间:约25分钟完成一个手动需要2-3小时的功能。更重要的是,质量门禁自动运行了。安全审计在没有被要求的情况下发生了。PR描述自己写好了。
每个Claude Code会话都有一个上下文窗口。当它填满时,Claude会自动压缩——总结旧内容来腾出空间。管理不善的压缩会丢失关键状态。
两条规则:
最被低估的功能之一。当你在做其他事情时:
/loop 5m check if the CI pipeline on branch feat/recommendations passed and report back
/loop 30m check for any new failing tests on main
这些在后台按定时器运行。不用再切标签页检查CI了。
不是每个任务都需要Opus。要刻意选择:
claude --model claude-sonnet-4-6 # 默认,最适合大多数编码
claude --model claude-opus-4-6 # 复杂架构,多文件重构
claude --model claude-haiku-4-5 # 快速查找,简单修复,快速回答
你也可以在frontmatter中为每个子智能体设置模型,这意味着你昂贵的Opus调用只在有必要的地方发生。
claude remote-control
在你的机器上启动一个会话,你可以从claude.ai或iOS应用连接到它。启动一个长时间运行的任务,合上笔记本电脑,从手机上检查进度。会话在你的机器上运行——浏览器只是一个窗口。
运行 /voice 启用按键说话。按住空格,描述你想要什么,松开。对于某些工作流——特别是你在大声思考的探索性工作流——这比打字快得多。
这是一个配置良好的Claude Code项目的文件结构:
your-project/
├── CLAUDE.md ← 项目记忆(提交到git)
├── CLAUDE.local.md ← 个人覆盖(gitignore)
├── .claude/
│ ├── settings.json ← hooks、模型、权限
│ ├── agents/
│ │ ├── code-reviewer.md
│ │ ├── test-writer.md
│ │ ├── security-auditor.md
│ │ └── pm-spec.md
│ ├── skills/
│ │ ├── deploy.md ← 我们如何部署到staging/prod
│ │ ├── database-patterns.md ← 我们的DB约定
│ │ └── api-design.md ← 我们的API设计规则
│ ├── commands/
│ │ ├── review-pr.md ← /review-pr $ARGUMENTS
│ │ ├── ship.md ← /ship — 完整流水线
│ │ └── diagnose.md ← /diagnose — 调试工作流
│ └── hooks/
│ ├── block_dangerous.py
│ ├── auto_format.sh
│ └── session_summary.py
# Project: [Name]
## Stack
- Node.js 22, TypeScript 5.4, Fastify 4
- PostgreSQL 16 + Drizzle ORM
- Redis 7 for caching
- Jest for testing
See @package.json for all dependencies.
See @docs/architecture.md for system design.
## How to work on this project
- Run tests: `npm test`
- Run single test: `npm test -- --testPathPattern=auth`
- Typecheck: `npm run typecheck`
- Lint: `npm run lint`
## Things to get right
- Always use ESM imports (not CommonJS require)
- Redis keys must include version prefix: `v2:user:{id}:...`
- Auth middleware must run BEFORE rate limiting in route registration
- All DB queries go through the service layer, never directly in routes
## Git workflow
- Never commit to main directly
- Branch naming: `feat/`, `fix/`, `chore/`
- Commit messages: conventional commits format
不到30行。只包含Claude真正需要的东西。它会被遵循。
这是高手和其他人之间的真正区别:
其他人:"我给Claude一个任务,看看它表现如何。"
顶尖1%:"我设计一个系统,让Claude在最少监督下有效运作。"
这是把基础设施思维应用到AI工具上。你预先投入时间——写一个精炼的CLAUDE.md、设置hooks、定义子智能体——这个投资在每次会话上都会复利增长。
用Claude Code产出最多的开发者不是最好的提示词工程师。他们是最好的系统设计师。他们思考上下文在哪里会退化并提前预防。他们思考哪些质量门禁应该自动化vs.人工审查。他们思考任务的哪些部分可以并行vs.串行。
最贴切的类比:这不是关于成为更好的司机,而是关于修建更好的路。
你不需要一次做完所有这些。这是一个优先级排列的推出计划:
Day 1:CLAUDE.md基础 在你的主项目中运行 /init。删除它生成的70%。添加Claude做错的东西。开始时保持在50行以下。
Day 2:你的第一个hook 添加一个PostToolUse hook在Write上运行你的linter。仅这一个改变就能省去你数百次手动lint。
Day 3:双Claude审查 在你的下一个功能上,当主会话完成时,打开第二个会话让它冷审查最后一次提交。比较发现的和你会发现的。
Day 4:你的第一个子智能体 在 .claude/agents/ 中创建一个code-reviewer子智能体。在PR审查中使用它。注意上下文的隔离如何使它更彻底。
Day 5:一个MCP服务器 连接GitHub MCP。用它让Claude在实现修复之前获取issue上下文。注意你需要复制粘贴的东西少了多少。
Week 2+:迭代和复利 根据Claude持续犯错的地方完善你的CLAUDE.md。为你的领域特定模式添加skills。构建完整的流水线。
Claude Code拥有你构建真正自主开发流水线所需的每一个原语。子智能体、hooks、MCP集成、skills和斜杠命令不是营销功能——它们是一个连贯的系统,旨在把你从软件开发的重复循环中解放出来,同时让你留在真正重要的决策中。
那些回顾2025-2026年认为这是他们最高产年份的开发者,是那些停止把Claude Code当成花哨的终端聊天机器人,开始把它当成可编程基础设施的人。
构建CLAUDE.md。设置hooks。定义子智能体。连接MCPs。根据什么出问题来迭代。
1%不是一个固定的群体。它是那些把这当成工程来对待的人——系统化的、迭代的、持续改进的。
更多内容请参考:
作者:allglenn
阅读时长:16 min|发布时间:2026-04-11
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-05-15
在手机上用Codex写一下午代码,说实话,有点上头。
2026-05-15
腾讯混元推出轻量翻译大模型,无需联网,手机直接运行!
2026-05-15
谷歌Android重大更新!底层植入Gemini,苹果已掉队
2026-05-15
Codex更新远程控制,你也终于可以在手机上随时随地Vibe Coding了。
2026-05-15
2026年了,我强烈推荐你用一用Codex,功能太全面了!附使用指南
2026-05-14
DAA度量Agent,百度智能云率先重构AI云
2026-05-14
美团 LongCat 开源 General 365:树立推理评测新标尺
2026-05-14
终端里住进了一个叫 Claude Code 的搭档
2026-04-15
2026-03-31
2026-03-13
2026-04-07
2026-03-17
2026-03-17
2026-04-07
2026-03-21
2026-02-20
2026-04-24
2026-05-09
2026-05-09
2026-05-09
2026-05-08
2026-05-07
2026-04-26
2026-04-22
2026-04-18