Claude Code 使用技巧之 Subagent

1次阅读
没有评论

共计 2310 个字符,预计需要花费 6 分钟才能阅读完成。

之前视频中已经介绍了 Claude Code 的 MCP 和 Skill 两大功能,今天我们来介绍一下 Subagent ,Subagent 是 Claude Code 中一个独立的 AI 助手,拥有独立的上下文空间,可以并行处理不同的任务。

Subagent 和其他 Claude Code 推出的功能一样,目的是为了拓展 Claude Code 的能力和边界。

  • MCP,模型上下文协议,是为了让 Claude 能够连接外部的资源,包括文件、数据库、网络等
  • Skills,是包括了指令、脚本和资源的模块化能力扩展包,让 Cloud 在特定的任务上表现得更专业,会根据场景自动触发。
  • 而今天要介绍的 Subagent 是配置的 AI Agent,可以让 Claude Code 将任务委托给他们单独处理。

那接下来我们从应用场景子代理是什么?它和 Skills 有什么区别?我们如何去创建和配置使用Subagent来完整介绍一下 Subagent。

应用场景

在使用场景上面, Skills 和 Subagent 它们有一定的相似,初学者很容易被这两个概念搞混。我们在使用场景上可以做这样的区分:

  • 何时使用 Skill
    • 单一,明确的任务
    • 需要在 Claude 应用和 Claude Code 中共享使用
    • 想要自动化特定工作流
    • 比如文件转换,遵循品牌指南
  • 何时使用 Subagent
    • 复杂的多步骤任务
    • 需要手动将任务分配给合适的 Subagent
    • 并行处理多模块任务,比如,同时开发前后端应用
    • 需要独立工作空间的专业工作,比如进行代码审查,调试,深度数据分析,安全审计等

Subagents

子代理 Subagents 是一个独立的 AI 助手,拥有自己的知识,工具。可以创建一个擅长查找 Bug 的代码审查 Subagent,也可以创建一个精通 SQL 的数据科学家 Subagent。

和 Skills 不同,Subagent 拥有更多的控制权,Claude 可以自动将任务分配给合适的 Subagent,用户也可以直接调用它。但是最大的区别在于每个 Subagent 都在各自独立的上下文窗口中运行。这意味着 Subagent 不会受到主对话历史记录的干扰,可以完全专注于自身的任务。

在职责划分上,Skill 更适合单一,明确的任务(比如文件转换)。而 Subagent 更适合多步骤的工作流(比如代码调试)等。

  • Subagent 拥有独立的 200K token 上下文
  • 多个 Subagent 可以同时工作,大幅提升效率
  • 复杂工作流,适合多个步骤,复杂的任务处理

Subagent vs Skills

调用方式区别:自动和显式

Skills 的核心是自动发现,Claude 会根据任务的描述自动查找并使用 Skill,这对于简单的任务来说非常方便,不需要记住工具名称的列表,只需要说出需求,Claude 就会自动完成。但缺点就是对 Skill 的直接控制(调用)会减少,如果 Claude 认为某个 Skill 不符合当前的任务,那么就不会用到。

而相反 Subagent 则是提供了更多的控制选择,Claude 可以自动将任务委派给 Subagent,也可以明确告诉 Subagent 该做什么,比如可以直接在提示词中说明 Use the debugger subagent to check the error。这可以让用户更加精确地控制工作流,始终使用最「合适」的专家来负责处理任务。

上下文窗口区别

Skills 和 Subagent 另外一大非常重要的区别就是对上下文窗口的使用。Skills 非常轻量,因为它只将必要的信息加入到了主对话中,只有当确实需要调用这个 Skill 的时候才会触发 Skills 完整的查询,目的是为了增强当前的聊天,而不是开启全新的对话。

而 Subagent 强大之处在于其独立的上下文窗口,对于调试代码,分析大型代码仓库等多步骤复杂任务,这种分离至关重要。Subagent 可以不受主对话的干扰而独立完成整个流程,确保至始至终的专注和准确性。

可用性差异

Skills 目前可以在 Claude 应用,Claude Code 和 API 中使用,Pro,Max,Team,Enterprise 版本中使用。但是 Subagent 目前仅支持 Claude Code。

配置 Subagent

最推荐的方式就是使用交互式命令 /agents,会直接展示可用的 Subagent 列表,可以创建,编辑,删除。

Subagent 的作用域:

  • ~/.claude/agents 用户级别
  • .claude/agents 在项目级别

可以用两种方式生成

  • Generate with Claude, 由 Claude 基于描述生成初始版本,然后可以由用户自定义
  • Manual Configuration, 完全由用户输入

基于文件配置

Subagent 配置以 Markdown 格式存储在磁盘中。

---
name: your-agent-name
description: 描述此子代理的调用时机
tools: tool1, tool2, tool3  # 可选 - 省略时继承所有工具
model: sonnet              # 可选 - 指定模型别名或 'inherit'
permissionMode: default    # 可选 - 权限模式设置
---

在这里编写系统提示。
定义子代理的角色、能力和问题解决方法。
字段 必需 说明
name 使用小写字母和连字符的唯一标识符
description 自然语言描述 Subagent 的目的和触发时机
tools 以逗号分隔的工具列表。省略时继承主线程的所有工具
model 模型别名(sonnet、opus、haiku)或 inherit
permissionMode 权限模式:default、acceptEdits、bypassPermissions、plan、ignore

reference

正文完
 0
评论(没有评论)