如何将Skills进阶-2提升到更高层次?

摘要:Claude Code 与 Claude Agent SDK 使用指南 概述 本文档介绍如何在项目中使用 Claude Code 的 Skills 功能,以及如何使用 Claude Agent SDK 构建自定义研究智能体。 一、在 Cla
Claude Code 与 Claude Agent SDK 使用指南 概述 本文档介绍如何在项目中使用 Claude Code 的 Skills 功能,以及如何使用 Claude Agent SDK 构建自定义研究智能体。 一、在 Claude Code 中使用 Skills 核心配置:CLAUDE.md CLAUDE.md 是一个 Markdown 文件,用于存储项目特定的说明、约定和上下文信息。Claude 会在每个会话中自动读取此文件,了解项目的特殊要求。 关键特性 自定义 SubAgent:可以定义专门的子智能体处理特定任务 上下文隔离:不同的 SubAgent 拥有独立的上下文空间 并行执行:多个 SubAgent 可以同时运行 结果汇总:Main Agent 负责汇总各 SubAgent 的结果 二、使用 Claude Agent SDK 构建研究智能体 项目结构示例 research-agent/ ├── .env # 🔑 环境变量(ANTHROPIC_API_KEY, NOTION_API_TOKEN) ├── agent.py # 🧠 主程序入口(控制中心) ├── agents/ # 🤖 子智能体定义 │ ├── docs_researcher.md │ ├── repo_analyzer.md │ └── web_researcher.md └── .claude/ # 📚 技能库目录 └── skills/ # ⚠️ 必须命名为 'skills'(复数) └── learning-a-tool/ ├── SKILL.md # 技能入口文件 └── progressive_learning.md # 渐进式加载的详细内容 核心组件说明 文件/目录 说明 职责 agent.py 主程序入口 整个系统的控制中心,负责协调各子智能体 agents/ 子智能体定义 包含各专业智能体的配置和提示词 .claude/skills/ 技能库 存储自定义技能,供智能体调用 learning-a-tool/ 学习工具 支持渐进式学习和知识积累 开发步骤 第一步:导入与辅助函数 配置必要的依赖库 设置工具函数和辅助类 第二步:配置工具与权限 定义智能体可用的工具集 配置访问权限和安全设置 第三步:集成 MCP 连接外部服务和数据源 配置 Model Context Protocol 第四步:加载技能与任务调度 从 .claude/skills/ 加载自定义技能 实现任务调度和结果收集机制 三、Claude Code vs Claude Agent SDK 对比分析 维度 Claude Code (CLI) Claude Agent SDK (Python) 定位 交互式工具,用于辅助编程和一次性任务 编程框架,用于构建可扩展的 AI 应用程序 控制力 由系统接管大部分决策 开发者可精细控制 System Prompt、工具集和错误处理逻辑 集成性 独立运行 可集成到现有的后端服务或产品中 适用场景 本地开发、快速原型、日常编码辅助 生产环境、自动化流程、定制化 AI 应用 选择建议 使用 Claude Code CLI 当您需要: 交互式的编码辅助 快速完成一次性任务 在终端中直接操作 使用 Claude Agent SDK 当您需要: 构建自动化 AI 工作流 集成到现有系统中 精细控制智能体行为 实现复杂的多智能体协作 四、学习资源 视频教程 🎥 B站视频:吴恩达《Agent Skills with Anthropic》教程中文版 文档教程 📚 [中文教程] Datawhale agent-skills GitHub: https://github.com/datawhalechina/agent-skills-with-anthropic 📚 [英文教程] Deeplearning-ai Agent-skills GitHub: https://github.com/https-deeplearning-ai/sc-agent-skills-files/tree/main 五、最佳实践 1. Skills 组织建议 将相关的技能分组到不同的子目录 为每个技能提供清晰的文档说明 使用版本控制管理技能库的变更 2. 智能体设计原则 单一职责:每个 SubAgent 专注于特定领域 明确接口:定义清晰的输入输出规范 错误隔离:单个智能体失败不应影响整体系统 3. 安全考虑 将敏感信息存储在 .env 文件中,不要提交到版本控制 合理设置工具访问权限 定期审查和更新依赖项 六、快速开始 环境准备 # 1. 安装依赖 pip install anthropic # 2. 配置环境变量 export ANTHROPIC_API_KEY="your-api-key-here" # 3. 运行主程序 python agent.py 基本配置示例 # agent.py 示例结构 from anthropic import Anthropic from .agents import DocsResearcher, RepoAnalyzer, WebResearcher class ResearchAgent: def __init__(self): self.client = Anthropic() self.sub_agents = [ DocsResearcher(), RepoAnalyzer(), WebResearcher() ] def run(self, task): # 协调各子智能体完成任务 results = [] for agent in self.sub_agents: result = agent.execute(task) results.append(result) return self.summarize(results) 七、常见问题 Q: CLAUDE.md 和 .claude/skills/ 有什么区别? A: CLAUDE.md 用于存储项目上下文和说明,Claude 会自动读取;而 .claude/skills/ 存放的是可调用的自定义技能,需要在代码中显式加载。 Q: 如何调试 Skills? A: 可以使用 Claude Code CLI 直接测试技能,或使用 Agent SDK 的日志功能查看执行详情。 Q: SubAgent 之间如何通信? A: 通常通过 Main Agent 协调,SubAgent 之间不直接通信,以保持低耦合。 八、进阶话题 渐进式学习:通过 learning-a-tool/ 实现智能体的持续学习 多模态集成:结合 MCP 协议连接图像、音频等数据源 性能优化:合理使用缓存和批处理减少 API 调用