Skill with Claude Code

本文博客链接指路(排版更美观,可能需要科学上网)
【系列博客】:
Introduction to Agent Skills(一)
Introduction to Agent Skills (二)
Skills with the Claude Agent SDK
目录
Claude Code vs. Claude Agent SDK
本节课将深入 Claude Code 的命令行环境 (CLI),解析其智能体循环 (Agent Loop) 的工作机制,并掌握通过 CLAUDE.md、技能 (Skills)、模型上下文协议 (MCP) 和 子智能体 (Sub-agents) 扩展功能的方法。
Claude Code 不仅是一个编码助手,更是一个可在终端中执行任何命令行任务的智能体框架 (Agent Framework),支持编写文档、运行构建、搜索文件、研究主题等复杂工作流。
智能体循环 (The Agent Loop)
Claude Code 的核心是一个由模型 (Model) 和工具 (Tools) 驱动的智能体循环 (Agent Loop),包含三个阶段:
| 阶段 | 英文术语 | 核心动作 | 典型工具 |
|---|---|---|---|
| 上下文收集 | Context Gathering | 搜索文件、阅读代码、理解项目结构 | Read, Grep, View |
| 采取行动 | Action Taking | 编辑文件、运行命令、调用外部服务 | Edit, Bash, Write |
| 验证结果 | Validation | 运行测试、检查输出、确认修复 | Test, Check |
模型层 (The Model)
Claude Code 使用 Claude 模型家族 (Claude Model Family) 进行推理:
- Sonnet:适用于大多数编码任务,平衡性能与速度
- Opus:适用于复杂架构决策,提供深度推理能力
通过 /model 命令或 claude --model <name> 参数可动态切换模型。
工具层 (The Tools)
工具是使 Claude 具备智能体能力 (Agentic Capabilities) 的关键,分为四类:
- 文件操作工具 (File Tools):读取、编辑、搜索文件系统
- 执行工具 (Execution Tools):运行 Bash 命令、构建工具、Git 操作
- 网络工具 (Web Tools):搜索网络、抓取网页内容
- 编排工具 (Orchestration Tools):生成子智能体、加载技能
关键区别:与仅提供文本响应的传统 LLM 不同,Claude Code 通过工具使用 (Tool Use) 将每次执行结果反馈回循环,形成迭代优化 (Iterative Refinement) 的闭环。
功能扩展体系 (Extension Ecosystem)
Claude Code 通过分层扩展机制自定义功能,各扩展作用于智能体循环的不同环节:
| 扩展类型 | 英文术语 | 作用层级 | 适用场景 | 上下文成本 |
|---|---|---|---|---|
| 项目上下文文件 | CLAUDE.md | 常驻上下文 (Resident Context) | 项目约定、持久规则 | 高(每次会话加载) |
| 技能 | Skills | 按需加载 (On-demand) | 可复用工作流、参考文档 | 中(触发时加载) |
| 子智能体 | Sub-agents | 隔离执行 (Isolated Execution) | 并行任务、上下文隔离 | 低(仅返回摘要) |
| 模型上下文协议 | MCP (Model Context Protocol) | 外部连接 (External Connectivity) | 数据库查询、Slack发布 | 依工具而定 |
| 钩子 | Hooks | 事件驱动 (Event-driven) | 自动化脚本、Lint检查 | 低(确定性脚本) |
CLAUDE.md
持久上下文 (Persistent Context)
CLAUDE.md 是存储项目特定说明的 Markdown 文件,位于项目根目录或子目录中:
- 累加性 (Additive):从工作目录向上递归加载,子目录文件在访问时动态加载
- 优先级 (Priority):更具体的指令(深层目录)优先于通用指令
- 最佳实践:保持在 500 行以下,将详细参考资料移至技能 (Skills)
技能 (Skills)
可复用工作流 (Reusable Workflows)
技能 (Skills) 是包含知识、指令或工作流的 Markdown 文件:
- 触发方式:斜杠命令 (Slash Commands,如
/deploy) 或自动加载 - 类型区分:
- 参考技能 (Reference Skills):提供持续使用的知识(如 API 样式指南)
- 行动技能 (Action Skills):执行特定任务(如部署工作流)
- 上下文优化:设置
disable-model-invocation: true可隐藏技能描述,降低上下文成本
子智能体与智能体团队
| 概念 | 隔离级别 | 通信方式 | 适用任务 |
|---|---|---|---|
| 子智能体 (Sub-agents) | 独立上下文窗口 | 返回摘要结果 | 读取多文件的研究任务、专业领域分析 |
| 智能体团队 (Agent Teams) | 独立会话 (Session) | 点对点消息传递 | 并行研究、竞争假设调试、多维度代码审查 |
最小权限原则 (Principle of Least Privilege):子智能体拥有独立的 allowed_tools 配置,仅授予其完成任务所需的最小工具集(如仅 Repo Analyzer 需要 Bash 权限)。
模型上下文协议 (MCP)
MCP (Model Context Protocol) 是连接外部服务的标准化接口:
- 功能范围:查询数据库、发布到 Slack、控制浏览器、写入 Notion
- 配置层级:本地 > 项目 > 用户(按优先级覆盖)
- 安全注意:生产环境需实现人机回环 (Human-in-the-loop),拦截高风险操作请求
环境集成:终端与 VS Code
终端会话管理
(Terminal Session Management)
Claude Code 在终端中维护本地持久化对话 (Local Persistent Conversations):
| 功能 | 命令/方法 | 说明 |
|---|---|---|
| 恢复会话 | claude --continue / --resume |
保留对话历史,但需重新授权权限 |
| 分叉会话 | claude --continue --fork-session |
创建新会话 ID,保留历史至分叉点 |
| 跨分支工作 | Git Worktrees | 为不同分支创建独立目录,实现并行会话 |
| 上下文压缩 | /compact |
手动压缩对话,释放上下文窗口空间 |
注意:会话是短暂的 (Ephemeral),Claude Code 在会话间无持久记忆。跨会话保持信息需依赖 CLAUDE.md。
IDE Integration (VS Code)
通过 VS Code 扩展 (VS Code Extension) 提供图形界面:
- 权限模式 (Permission Modes):
- 正常模式 (Normal):每次操作前请求权限
- 计划模式 (Plan):先展示计划,批准后执行
- 自动接受 (Auto-accept):直接执行编辑(适合可信工作流)
- 上下文引用:使用
@提及文件/文件夹,支持模糊匹配 (Fuzzy Matching) 和行范围选择 (Line Ranges) - 多会话支持:通过"在新选项卡中打开"实现并行对话,各会话独立维护上下文
功能对比与选择策略
技能 vs. 子智能体
| 维度 | 技能 (Skills) | 子智能体 (Sub-agents) |
|---|---|---|
| 本质 | 可复用的知识/流程文件 | 隔离的执行工作者 |
| 上下文 | 加载到当前对话 | 独立上下文窗口 |
| 适用场景 | 参考文档、标准作业程序 (SOP) | 上下文隔离、并行处理、大量文件分析 |
| 组合使用 | 子智能体可预加载特定技能 | 技能可使用 context: fork 调用子智能体 |
CLAUDE.md vs. Skills
- CLAUDE.md:每个会话必加载的"常驻内存",适合"总是做 X"的规则(如"使用 pnpm 而非 npm")
- 技能:按需调用的"扩展包",适合特定场景的工作流(如
/review执行代码审查清单)
Claude Code vs. Claude Agent SDK
| 维度 | Claude Code (CLI) | Claude Agent SDK (Python) |
|---|---|---|
| 定位 | 交互式编程助手 | 可扩展的 AI 应用框架 |
| 控制力 | 系统托管大部分决策 | 开发者精细控制 System Prompt、工具集、错误处理 |
| 适用场景 | 日常开发、一次性任务 | 生产级后端服务、产品集成 |
| 人机回环 | 内置权限请求 | 需手动实现拦截机制 |
Security Best Practices
⚠️ 生产环境警告:
- 高风险工具拦截:当智能体请求使用
Bash、Write等高风险工具时,必须实现权限确认框 (Permission Request),避免自动执行危险命令(如删除文件)。 - 上下文成本控制:过多功能会填满上下文窗口 (Context Window),导致技能触发失败或约定遗忘。建议将大型参考资料移至技能,而非 CLAUDE.md。
- MCP 安全:外部服务连接需验证数据源,防止提示注入 (Prompt Injection) 攻击。
【教程地址】https://github.com/datawhalechina/agent-skills-with-anthropic
【课程列表链接】https://www.datawhale.cn/activityGroup/16?sourceId=1809
【视频教程地址】 吴恩达 DeepLearning.AI - agent-skills-with-anthropic
【官网解读教程】sc-agent-skills-files
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)