一文搞懂Claude Code【附高频面试题】
全力使用Claude Code快半年了,上个周末整理了一下相关学习笔记,分享一下,供大家参考。现在是左手Claude Code,右手ChatGPT,拥抱AI,助力工作与学习。本文从基础的概念、原理、工具、工作流、SKILLS等出发,全面介绍Claude Code。
整合自官方文档 https://code.claude.com/docs/zh-CN/overview(概览 / Skills / Sub-agents)+ 概念讲解。
覆盖:概念 · 原理 · 工具 · 区别 · 工作流程 · 协同 · 自定义(Skills / Subagents)。
0. 一句话主线
Claude Code 从「对话助手」演进为「AI Agent 工作系统」:它能读懂你的整个代码库、跨多文件编辑、运行命令、连接你的工具,并能自主、并行、甚至定时地完成多步任务。
核心心法:Agent 是发动机,Skills 是本事,MCP 是手,Subagents 是分身,Hooks 是纪律。
1. Claude Code 是什么 + 在哪用
Claude Code 是一个代理型(agentic)编码工具:读代码库、编辑文件、运行命令、与开发工具集成。
关键点:所有界面共用同一个底层引擎,所以 CLAUDE.md、设置、MCP 服务器在各端通用。
| 界面 | 适合场景 |
|---|---|
| 终端 CLI | 功能最全,命令行里直接干活;可被管道/脚本/CI 调用 |
| VS Code / JetBrains 插件 | 编辑器内联 diff、@-提及、计划审查 |
| 桌面应用(Desktop) | 可视化 diff、并行多会话、安排定时任务、启动云会话 ← Cowork 体验在这里最完整 |
| Web(claude.ai/code) | 无需本地环境,跑长任务、处理本地没有的仓库、并行多任务 |
| 手机 / 远程 | 远程控制、Dispatch 派活、claude --teleport 拉回终端 |
💡 为什么旧版本用不了 Cowork:Cowork 这类「可视化协作 + 并行会话 + 定时任务」的体验依赖较新的桌面客户端,对版本有要求。面试时这点本身就是个准确的回答。
2. 核心概念与原理
2.1 Agent Loop(发动机)
普通问答是「一问一答」;Agent 的本质是一个循环:
收到目标 → [思考] 该做什么 → [行动] 调用工具(读文件/搜索/跑命令/调API)
→ [观察] 看返回结果 → (重复) → 产出结果
- 模型自主决定调哪个工具、调几次、何时停。
- 复杂任务会拆解,甚至派出子 Agent(subagent) 并行干。
- 这是 ReAct(Reasoning + Acting)思路的工程化落地。
2.2 Context Window(上下文窗口)与压缩
- 模型的「工作记忆」有限且按 token 计费,多步任务很吃上下文。
- 自动压缩(auto-compaction):对话快满时(默认约 95% 容量)自动总结历史,腾空间继续干。
- Skills、Subagents 等设计的核心目标之一,就是省上下文。
2.3 记忆:CLAUDE.md + 自动内存
CLAUDE.md:放在项目根目录的 markdown,每次会话开始都会读。用来写编码规范、架构决策、首选库、审查清单。- 自动内存(auto-memory):Claude 工作时自动保存学到的东西(构建命令、调试经验),跨会话复用,你不用手写。
- 区别:
CLAUDE.md= 始终加载的「事实/规范」;Skill 正文 = 用到才加载的「流程」。当 CLAUDE.md 里某段从「事实」变成了「步骤」,就该抽成 Skill。
3. 功能全景(含 Cowork / Routines / Design)
| 功能 | 一句话 | 关键词 |
|---|---|---|
| Skills | 打包可复用的指令/流程,Claude 自动用或你 /name 调 |
渐进式披露、SKILL.md |
| Sub-agents | 专门化的子代理,独立上下文干活只回摘要 | 上下文隔离、Explore/Plan |
| MCP | 连外部工具/数据的开放标准(Slack、Drive、DB…) | USB-C、Client/Server |
| Hooks | 在工具操作前/后跑 shell 命令(格式化、lint、校验) | 确定性、自动化 |
| Background agents / Agent teams | 并行跑多个完整会话 / 多会话互相通信 | 并行、一屏监控 |
| Routines | 云端定时运行(关机也跑),可由 API/GitHub 事件触发 | cron、远程、自动化 |
| 桌面计划任务 | 在你本机定时跑,能访问本地文件/工具 | 本地、定时 |
/loop |
CLI 会话里按间隔重复提示,用于快速轮询 | 轮询 |
| Design(视觉产出) | 生成看得见的设计稿:网页前端、海报、主题配色、品牌规范 | 由设计类 Skill 支撑 |
| CLI / 管道 | 遵循 Unix 哲学,可 tail log | claude -p "..."、CI 集成 |
可组合、headless |
| Agent SDK | 用 Claude Code 的工具/能力构建你自己的代理 | 完全自定义编排 |
Cowork = 把上面这些(Agent + Skills + MCP + 并行会话 + 定时)组装进一个图形化协作工作台,让 Claude 像同事一样替你完成办公类多步任务、产出真实文件(Word/Excel/PPT/PDF)。
4. 关键区别对比(面试高频)
4.1 Skill vs Subagent
| 维度 | Skill | Subagent |
|---|---|---|
| 本质 | 一段「怎么做某类任务」的知识/流程包 | 一个有独立上下文的专门 AI 助手 |
| 运行上下文 | 默认在主对话内(inline) | 独立上下文窗口,只回摘要 |
| 解决什么 | 复用提示、注入约定、固定流程 | 隔离高噪音输出、强制工具限制、并行研究 |
| 何时选 | 想要可复用提示、需共享主对话上下文 | 输出量大且你不会再看、需限制工具/权限 |
一句话:Skill 管「会不会做」,Subagent 管「在隔离环境里替你做」。二者可双向结合(见 §6.3)。
4.2 Skill vs MCP
- Skill = 内部能力包(教模型做某类任务,模型按 description 自动判断用不用)。
- MCP = 对外接口标准(连外部系统)。Skill 内部也常去调 MCP 暴露的工具。
- 一个管「会不会」,一个管「连不连得上」。
4.3 Cowork vs Routines
- Cowork = 你在场、实时协作(现在陪我干)。
- Routines = 你不在场、云端定时自动跑(以后自动帮我干)。
4.4 Routines vs 桌面计划任务 vs /loop
| 跑在哪 | 关机还跑? | 用途 | |
|---|---|---|---|
| Routines | Anthropic 云端 | ✅ 会 | 早报、夜间 CI 分析、依赖审计;可被 API/GitHub 触发 |
| 桌面计划任务 | 你本机 | ❌ 不会 | 需访问本地文件/工具的定时活 |
/loop |
当前 CLI 会话 | ❌ | 会话内快速轮询 |
5. 自定义 Skills(重点)
5.1 一个 Skill 长什么样
每个 Skill 是一个目录,以 SKILL.md 为入口:
my-skill/
├── SKILL.md # 必需:YAML frontmatter + markdown 说明
├── reference.md # 可选:详细参考(用到才加载)
├── examples.md # 可选:示例输出
└── scripts/
└── helper.py # 可选:可执行脚本(被运行,不占上下文)
SKILL.md 结构:
---
description: 这个 skill 做什么、何时用(Claude 据此自动触发)
---
## Instructions
具体步骤……
5.2 存放位置 = 谁能用(优先级:企业 > 个人 > 项目;插件独立命名空间)
| 位置 | 路径 | 适用于 |
|---|---|---|
| 企业(托管) | 托管设置目录 | 组织内所有人 |
| 个人 | ~/.claude/skills/<name>/SKILL.md |
你的所有项目 |
| 项目 | .claude/skills/<name>/SKILL.md |
仅此项目(可提交版本控制共享) |
| 插件 | <plugin>/skills/<name>/SKILL.md |
启用插件处,命名空间 plugin:skill |
- 命令名来自目录名:
.claude/skills/deploy-staging/→/deploy-staging。 - 自定义命令已并入 Skills:旧的
.claude/commands/deploy.md仍可用,效果等同;同名时 Skill 优先。 - 实时变更检测:编辑已有 skill 目录里的
SKILL.md当前会话即生效;新建顶层 skills 目录需重启。
5.3 渐进式披露(核心原理,必背)
- 平时上下文里只加载每个 skill 的 name + description(很省 token)。
- 当任务匹配上 description → 才把完整正文读进来。
- 正文里引用的附加文件/脚本 → 需要时才读/执行。
- 好处:可挂载海量 skill 而不撑爆上下文。
- ⚠️ 注意:skill 正文一旦加载,会在整个会话里常驻(每行都是重复 token 成本),所以正文要精简、
SKILL.md建议 < 500 行,详情拆到附加文件。
5.4 frontmatter 关键字段
| 字段 | 作用 |
|---|---|
description |
(推荐)做什么+何时用,Claude 据此自动触发 |
name |
显示名(默认取目录名) |
argument-hint / arguments |
参数提示 / 命名位置参数 |
disable-model-invocation: true |
只有你能 /调用,Claude 不会自动触发(适合 deploy/commit 等有副作用的) |
user-invocable: false |
只有 Claude 能用,从 / 菜单隐藏(适合背景知识) |
allowed-tools |
该 skill 活跃时免确认可用的工具(如 Bash(git add *)) |
disallowed-tools |
该 skill 活跃时移除的工具 |
model / effort |
该 skill 活跃时用的模型 / 推理强度 |
context: fork + agent |
在分叉的 subagent里运行(隔离),指定用哪个代理 |
paths |
glob 限定:只在处理匹配文件时自动触发 |
hooks |
限定此 skill 生命周期的 hooks |
5.5 字符串替换(动态参数)
$ARGUMENTS全部参数;$0/$1或$ARGUMENTS[N]按位置取。arguments: [issue, branch]后可用$issue/$branch。${CLAUDE_SESSION_ID}、${CLAUDE_SKILL_DIR}(引用 skill 自带脚本)、${CLAUDE_EFFORT}。
5.6 动态上下文注入(超实用)
在 SKILL.md 里用 !`命令` —— Claude 看到内容之前先跑命令,把输出替换进去:
---
description: 总结未提交的改动并标记风险。当用户问改了什么/要 commit message/审 diff 时使用。
---
## Current changes
!`git diff HEAD`
## Instructions
用 2-3 个要点总结上面的改动,再列出风险(缺错误处理、硬编码、需更新的测试)。
多行命令用
```!围栏块。可用disableSkillShellExecution: true关闭此能力。
5.7 实操:创建你的第一个 Skill
mkdir -p ~/.claude/skills/summarize-changes
# 写入上面 5.6 的 SKILL.md
然后两种触发方式:
- 让 Claude 自动调:问「我改了什么?」
- 直接调:
/summarize-changes
5.8 进阶模式
- 生成视觉输出:skill 捆绑脚本(任意语言),生成可在浏览器打开的交互式 HTML(代码库地图、覆盖率报告、依赖图)。脚本干重活,Claude 负责编排。
context: fork在 subagent 里跑:适合「研究型」skill(配agent: Explore只读探索),结果回主对话,不污染上下文。
5.9 排错
- 不触发:description 加上用户会自然说的关键词;问「What skills are available?」确认已加载;
/name直接调。 - 触发太频繁:description 写更具体;或加
disable-model-invocation: true只手动调。 - description 被截断:skill 太多会按预算截断,可调
skillListingBudgetFraction,或把低优先级设为name-only;单条上限 1536 字符,把关键用例写前面。/doctor可查预算溢出。
6. 自定义 Subagents + 协同工作流程
6.1 内置 subagents
| Agent | 模型 | 工具 | 用途 |
|---|---|---|---|
| Explore | Haiku(快) | 只读 | 找文件、搜代码、探索代码库(跳过 CLAUDE.md/git 状态保持轻量) |
| Plan | 继承 | 只读 | 计划模式下做调研 |
| general-purpose | 继承 | 全部 | 复杂多步、需探索+修改 |
6.2 创建自定义 subagent
推荐用 /agents 命令(可视化、即时生效);或手写 markdown 文件:
---
name: code-reviewer
description: Reviews code for quality and best practices. Use proactively after code changes.
tools: Read, Glob, Grep, Bash
model: sonnet
---
You are a senior code reviewer. When invoked:
1. Run git diff to see recent changes
2. Focus on modified files
3. Provide feedback by priority: Critical / Warnings / Suggestions
存放位置与优先级(高→低):托管设置 > --agents CLI > .claude/agents/(项目)> ~/.claude/agents/(用户)> 插件。
关键 frontmatter:name/description(必需)、tools/disallowedTools、model(inherit默认)、permissionMode、maxTurns、skills(预加载)、mcpServers、hooks、memory(持久内存 user/project/local)、isolation: worktree(隔离 git 副本)、background。
6.3 Skills 与 Subagents 的双向协同(重点)
| 方法 | 系统提示来自 | 任务来自 | 适合 |
|---|---|---|---|
Skill 带 context: fork |
代理类型 | SKILL.md 内容 | 「我写好任务,丢给某代理在隔离里跑」 |
Subagent 带 skills: 字段 |
subagent 正文 | Claude 的委派消息 | 「我定义专家代理,启动时预加载领域知识」 |
6.4 协同工作流程(完整🌰)
任务:「把本周销售数据做成周报 PPT,发到团队 Slack」
- Agent Loop 接到目标 → 规划。
- MCP 连数据库 → 取数(MCP Tool)。
- 触发 Skills:
xlsx汇总 →pptx生成 →theme-factory套品牌配色(Design)。 - MCP 连 Slack → 发群里。
- 期间可派 Subagent 并行做调研;Hooks 在写文件后自动校验。
- 循环结束 → 产出文件 + 通知。
6.5 何时用主对话 / Subagent
- 主对话:需频繁来回迭代、多阶段共享上下文、快速小改、在意延迟。
- Subagent:输出量大且不需留在主上下文、要强制工具限制、任务自包含可回摘要。
- 并行研究:
用独立 subagent 并行研究 auth、db、api 模块。 - 链式:
先用 code-reviewer 找性能问题,再用 optimizer 修。 - ⚠️ Subagent 不能再生成 subagent;需嵌套就用 Skills 或从主对话链式调用。
7. MCP(Model Context Protocol)—— 深化
7.1 是什么 / 何时用
- 定位:开源/开放标准,把「AI 工具怎么连外部数据源」标准化 —— 「AI 世界的 USB-C」。
- 何时连:当你发现自己反复从别的工具(问题跟踪器、监控面板、数据库)复制数据粘进聊天时,就该连一个 MCP server,让 Claude 直接读写那个系统。
- 架构:
Claude(Host/Client)↔MCP Server↔外部系统(Jira/Sentry/GitHub/Postgres/Figma/Slack…)。 - Server 暴露三类:Tools(执行动作)/ Resources(可读数据,用
@引用)/ Prompts(模板,变成斜杠命令)。
7.2 四种传输类型
| 传输 | 说明 | 何时用 |
|---|---|---|
| HTTP(推荐) | 远程,云服务支持最广;支持 OAuth | 大多数云端 server |
| SSE | 远程,已弃用,优先用 HTTP | 旧服务 |
| stdio | 本地进程,直接系统访问/自定义脚本 | 本地工具、DB 客户端 |
| WebSocket(ws) | 持久双向连接,server 主动推事件 | 需推送的场景 |
JSON 配置里
type字段:http的别名是streamable-http(MCP 规范名,可直接复制)。
7.3 添加 server(claude mcp add)
# 远程 HTTP(推荐)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 带认证头
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer YOUR_GITHUB_PAT"
# 本地 stdio(注意:所有选项在名字前;-- 之后是要跑的命令)
claude mcp add --transport stdio --env AIRTABLE_API_KEY=KEY airtable \
-- npx -y airtable-mcp-server
# 从 JSON / 从 Claude Desktop 导入
claude mcp add-json weather '{"type":"http","url":"...","headers":{...}}'
claude mcp add-from-claude-desktop
管理:claude mcp list / claude mcp get <name> / claude mcp remove <name>;会话内 /mcp 看状态。
⚠️ 选项顺序:
--transport/--env/--scope/--header都要在 server 名字之前;--双破折号把名字和「传给 server 的命令」分开。
7.4 三种安装范围(scope)= 谁能用 / 存哪
| 范围 | 加载位置 | 团队共享 | 存储 |
|---|---|---|---|
| local(默认) | 仅当前项目,私有 | 否 | ~/.claude.json(项目路径下) |
| project | 仅当前项目 | ✅ 通过版本控制 | 项目根的 .mcp.json |
| user | 你的所有项目 | 否 | ~/.claude.json |
- 加
--scope project/--scope user指定。 - 优先级(同名取最高,整条不合并):local > project > user > 插件 > claude.ai 连接器。
- project 范围(
.mcp.json)出于安全首次使用要批准;重置用claude mcp reset-project-choices。
.mcp.json 结构 + 环境变量扩展(${VAR} / ${VAR:-default}):
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": { "Authorization": "Bearer ${API_KEY}" }
}
}
}
7.5 认证(OAuth)
- 远程 server 返回
401/403→ Claude 标记为「需认证」→ 在会话里运行/mcp→ 浏览器登录。 - 令牌安全存储 + 自动刷新;
/mcp菜单可「清除身份验证」撤销。 - 进阶:
--callback-port固定回调端口;--client-id/--client-secret预配置凭据;oauth.scopes限制申请的权限范围(安全团队最小授权);headersHelper用脚本动态生成认证头(Kerberos/SSO)。
7.6 用资源 / 用提示
- 资源:提示里打
@→ 自动补全;格式@server:protocol://path,例:分析 @github:issue://123 并给出修复建议/对比 @postgres:schema://users 和 @docs:file://user-model - 提示:打
/→ MCP 提示显示为/mcp__<server>__<prompt>,可带参:/mcp__github__pr_review 456
7.7 控制上下文 & 安全
- 工具搜索(默认开):MCP 工具延迟加载,启动时只载工具名,Claude 需要时才搜出 schema → 加再多 server 也几乎不吃上下文。需 Sonnet 4+/Opus 4+。
ENABLE_TOOL_SEARCH=false关闭、auto:N阈值模式;alwaysLoad: true让某 server 工具始终可见。 - 输出限制:MCP 工具输出超 1 万 token 警告,默认上限 2.5 万,
MAX_MCP_OUTPUT_TOKENS可调。 - 安全:连任何 server 前先确认信任 —— 拉取外部内容的 server 有提示注入(prompt injection) 风险。可在 subagent 的
mcpServers字段内联定义,只给该子代理用,既隔离又不污染主对话。企业可用managed-mcp.json+allowedMcpServers/deniedMcpServers集中管控。
8. Hooks(纪律/确定性自动化)—— 深化
8.1 是什么
用户定义的 shell 命令 / HTTP 端点 / LLM 提示,在 Claude Code 生命周期的特定点自动执行,通过 JSON 输入/输出通信,能做决定控制(允许/拒绝/阻止)。
价值:模型是概率性的,Hooks 是确定性的 —— 「必须发生的事」用 Hooks 钉死,而不是指望模型每次都听话。
8.2 事件类型(按频率)
- 会话级:
SessionStart、SessionEnd、Setup - 轮次级:
UserPromptSubmit、Stop、StopFailure - 工具级:
PreToolUse、PostToolUse、PostToolUseFailure、PermissionRequest - 其他:
Notification、SubagentStart/SubagentStop、FileChanged、Elicitation
| 事件 | 触发时机 | 可阻止 | 典型用途 |
|---|---|---|---|
SessionStart |
会话开始/恢复//clear/压缩 |
✗ | 注入上下文、设环境变量 |
UserPromptSubmit |
用户提交提示前(默认 30s 超时) | ✓ | 校验/注入上下文/拦截提示 |
PreToolUse |
工具执行前 | ✓ | 允许/拒绝/改写工具调用 |
PostToolUse |
工具成功后 | ✗ | 格式化、记录、改写输出 |
PermissionRequest |
权限对话框前 | ✓ | 自动批准/拒绝 |
Stop |
Claude 答完一轮 | ✓ | 验证完成、强制继续 |
Notification |
发通知时 | ✗ | 转发到 Slack/告警 |
SubagentStart/Stop |
子代理起/止 | Stop可 | 注入上下文、记录 |
8.3 配置(三层嵌套:事件 → matcher → handler)
位置:~/.claude/settings.json(全局)/ .claude/settings.json(项目,可提交)/ .claude/settings.local.json(本地不提交)/ 插件 / Skill·Agent 的 frontmatter。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash", // 工具名;Edit|Write 列表;* 全部;含特殊字符按正则
"hooks": [
{
"type": "command", // command | http | mcp_tool | prompt | agent
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/validate.sh",
"if": "Bash(rm *)", // 可选:权限规则语法,精确到参数
"timeout": 5,
"async": false
}
]
}
]
}
}
MCP 工具匹配:
mcp__<server>__<tool>,可用正则mcp__memory__.*。所有匹配的 hook 并行执行。
8.4 输入 / 输出 / 退出码(必懂)
输入:JSON 经 stdin(或 HTTP body)传入,含 session_id、cwd、hook_event_name、tool_name、tool_input 等。
退出码:
| 退出码 | 含义 |
|---|---|
0 |
成功;Claude 解析 stdout 的 JSON 找决定 |
2 |
阻止错误:据事件阻止工具/拒权限/拦提示;用 stderr 反馈给 Claude |
| 其他 | 非阻止错误;显示 stderr,继续执行 |
JSON 输出(更精细控制):通用字段 continue(false 彻底停)、stopReason、systemMessage、suppressOutput;以及 hookSpecificOutput。PreToolUse 的决定四选一:allow / deny / ask / defer,还能用 updatedInput 改写工具参数、additionalContext 注入上下文。
8.5 实用示例
① 拦截危险命令(PreToolUse)
#!/bin/bash
command=$(jq -r '.tool_input.command')
if echo "$command" | grep -q 'rm -rf'; then
jq -n '{hookSpecificOutput:{hookEventName:"PreToolUse",
permissionDecision:"deny",
permissionDecisionReason:"Destructive rm -rf blocked"}}'
else exit 0; fi
② 编辑后自动格式化(PostToolUse,exec 形式)
{ "hooks": { "PostToolUse": [{ "matcher": "Write|Edit",
"hooks": [{ "type": "command", "command": "prettier",
"args": ["--write", "${tool_input.file_path}"], "timeout": 30 }] }] } }
③ 只读 DB 守卫(配 db-reader 子代理):PreToolUse 匹配 Bash,脚本检测 INSERT/UPDATE/DELETE/DROP 就 exit 2 阻止。
④ 会话启动注入上下文 / 设环境变量:SessionStart 输出 additionalContext,或往 $CLAUDE_ENV_FILE 追加 export。
8.6 注意事项
- stdout 必须只含 JSON 对象(shell 启动脚本的打印会干扰解析)。
- Hook 无控制终端:别开
/dev/tty,用terminalSequence发通知/响铃。 - 字符串输出上限 1 万字符,超出存文件。
- exec 形式(设
args,路径免引号)vs shell 形式(省args,支持管道&&,占位符要引号)。 - 路径占位符:
${CLAUDE_PROJECT_DIR}、${CLAUDE_PLUGIN_ROOT}、${CLAUDE_PLUGIN_DATA}。 /hooks查看已配置;"disableAllHooks": true全关。
9. 面试速记卡
主线:对话助手 → AI Agent 系统;能干活、干得好、还能自动干。
三层心智:Agent=发动机 · Skills=本事 · MCP=手 · Subagents=分身 · Hooks=纪律。
Agent Loop:思考→行动→观察(ReAct);自主决定调啥工具;长对话靠自动压缩。
Skills:SKILL.md(frontmatter description 决定何时触发)+ 脚本;杀手锏 渐进式披露(平时只加载简介,用到才展开正文);位置决定共享范围(个人 ~/.claude/skills/ / 项目 .claude/skills/)。
Subagents:独立上下文,只回摘要 → 省主上下文 + 限工具 + 并行;内置 Explore(只读快)/Plan/general-purpose;不能再生子代理。
MCP:开放标准=AI 的 USB-C;Client↔Server;暴露 Tools/Resources/Prompts;传输 HTTP(推荐)/stdio/WebSocket(SSE 已弃用)。claude mcp add --transport http <名> <url>(选项在名字前,-- 后接命令)。三 scope:local(默认私有)/project(.mcp.json 提交共享,首用需批准)/user(全项目)。远程认证走 OAuth(/mcp 登录,令牌自动刷新)。资源 @server:proto://path、提示 /mcp__server__prompt。工具搜索默认开→ 延迟加载省上下文。⚠️ 连前确认信任(提示注入风险),可在 subagent mcpServers 内联隔离。
Hooks:在生命周期点自动跑命令,确定性兜底模型。事件分会话级(SessionStart/End)、轮次级(UserPromptSubmit/Stop)、工具级(PreToolUse/PostToolUse/PermissionRequest)。配置三层:事件→matcher(工具名/正则)→handler(command/http/mcp_tool/prompt)。输入 JSON 走 stdin;退出码 0=读 stdout JSON 决定,2=阻止(stderr 反馈),其他=非阻止报错。PreToolUse 可 allow/deny/ask/defer 并用 updatedInput 改参数。典型:编辑后 prettier、提交前测试、rm -rf/写 SQL 拦截。位置 settings.json 或 skill/agent frontmatter;/hooks 查看。
易混:Skill(会不会做,主对话内)vs Subagent(隔离里做);Skill(内部能力)vs MCP(外部接口);Cowork(实时陪干)vs Routines(云端定时);Routines(云端关机也跑)vs 桌面计划任务(本机)。
自定义 Skill 三步:建目录 ~/.claude/skills/x/ → 写 SKILL.md(description + 步骤,可 !`cmd` 注入动态上下文)→ /x 调用或让 Claude 自动触发。
整理日期:2026-05-30 · 来源:code.claude.com 官方文档(zh-CN)
整理日期:2026-05-30 · 来源:code.claude.com 官方文档(zh-CN)
♥️喜欢我的内容,欢迎大家点赞、转发、关注。
♥️专注于技术+投资+认知三位一体的内容分享。
往期推荐:
AI工业革命,有哪些能力最稀缺?
为什么很多创业者做出来的产品没人买?——读《The Mom Test》有感
巴菲特和芒格没有说的那些话
『纳瓦尔宝典』长期主义才是财富密码
『纳瓦尔宝典』独特知识才是真正资产
『纳瓦尔宝典』不要竞争,要变得不可替代!
我们终将成为自己选择的样子!!
你的环境,正在替你做决定!!
芒格的人生操作系统,构建复利人生的基石
如何选择真正适合你的职业?
决策矩阵
二阶思维
决策日志
AI时代,软件工程师必备概念全景图
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)