V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
terryso
V2EX  ›  Claude

重磅更新! Claude Code 引入大杀器 sub-agents

  •  2
     
  •   terryso · 40 天前 · 5528 次点击
    这是一个创建于 40 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天,我们要聊一个激动人心的话题——Anthropic 为其 AI 编程助手 Claude Code 推出了一个强大的新功能:sub-agents (子智能体)

    这项功能可不仅仅是简单的升级,它可能会彻底改变我们与 AI 协作编程的方式。准备好了吗?让我们一探究竟!

    什么是 sub-agents ?

    简单来说,sub-agents 是特种兵式的 AI 助手。

    你可以把 Claude Code 看作一个项目经理,当它遇到一个具体、专业的任务时(比如,“检查这段代码是否符合我们的编码规范”或“将这个组件的文档翻译成日文”),它不再需要事事亲为,而是可以“召唤”一个专门负责这项任务的 sub-agent 来处理。

    每个 sub-agent 都拥有自己独立的上下文窗口、一套专属的工具集和独特的**系统提示 (System Prompt)**,这让它们成为了特定领域的高效专家。

    完成任务后,sub-agent 会将结果交还给主对话线程,而不会用繁杂的执行过程干扰你的主工作流程。

    为什么要使用 sub-agents ?

    你可能会问,这听起来不错,但它具体好在哪里?

    • 上下文“减负” (Context Preservation): 这是最核心的优势之一。通过将特定任务隔离出去,sub-agents 可以防止主对话的上下文窗口被无关信息填满,让你的主会话始终聚焦于更高层次的战略目标。再也不用担心“聊着聊着 AI 就忘了前面说过啥”了!
    • 专业的人做专业的事 (Specialized Expertise): 你可以为 sub-agents 精心设计非常具体的指令和系统提示,让它们在特定任务上表现得远超通用模型。例如,你可以创建一个只负责数据库迁移脚本生成的 sub-agent ,并为它提供所有相关的背景知识和规范。
    • 可复用与团队共享 (Reusability & Collaboration): 一旦你创建了一个高效的 sub-agent ,它就可以在不同的项目中重复使用。更棒的是,你可以将项目级的 sub-agents 纳入版本控制(如 Git ),与团队成员共享,确保整个团队工作流的一致性和高效性。
    • 灵活的权限控制 (Flexible Permissions): 你可以精确控制每个 sub-agent 能访问哪些工具。比如,你可以只授权给“代码审查” sub-agent 读取文件的权限,而不给它执行代码的权限,从而实现更精细化的安全管理。

    如何创建和使用 sub-agents ?

    创建和管理 sub-agents 非常灵活,主要有两种方式:

    1. 使用 /agents 命令 (推荐): 在 Claude Code 中输入 /agents,会弹出一个交互式界面。你可以在这里轻松地查看、创建、编辑和删除 sub-agents ,整个过程都有引导,非常方便。
    2. 直接管理文件: sub-agents 本质上是存储在特定目录下的 Markdown 文件(带有 YAML frontmatter )。
      • 项目级 sub-agents: 存储在项目目录的 .claude/agents/ 下,仅对该项目有效。
      • 用户级 sub-agents: 存储在 ~/.claude/agents/ 下,对你的所有项目都有效。

    一个 sub-agent 的配置文件大概长这样:

    ---
    name: code-reviewer
    description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
    tools: Read, Grep, Glob, Bash
    ---
    
    You are a senior code reviewer ensuring high standards of code quality and security.
    
    When invoked:
    1. Run git diff to see recent changes
    2. Focus on modified files
    3. Begin review immediately
    
    Review checklist:
    - Code is simple and readable
    - Functions and variables are well-named
    - No duplicated code
    - Proper error handling
    - No exposed secrets or API keys
    - Input validation implemented
    - Good test coverage
    - Performance considerations addressed
    
    Provide feedback organized by priority:
    - Critical issues (must fix)
    - Warnings (should fix)
    - Suggestions (consider improving)
    
    Include specific examples of how to fix issues.
    

    使用时,Claude Code 会根据你的指令自动判断是否需要委派任务给某个 sub-agent 。当然,你也可以明确指定> 让 code-reviewer 检查我最近的提交

    最佳实践

    • 从生成开始: 让 Claude Code 帮你生成第一个 sub-agent ,然后在此基础上进行修改和完善。
    • 保持专注: 设计功能单一、职责明确的 sub-agent 。
    • 详细的指令: 系统提示写得越详细、越清晰,sub-agent 的表现就越好。
    • 限制工具: 按需授权,只给 sub-agent 完成任务所必需的工具。
    • 拥抱版本控制: 将项目级的 sub-agents 加入 Git ,与团队一起维护和迭代。

    总结

    sub-agents 功能的推出,标志着 AI 编程助手正从一个“无所不知的通才”向一个“由众多专家组成的协作团队”转变。

    这不仅提升了 AI 处理复杂任务的能力和效率,也为我们开发者提供了前所未有的灵活性和控制力。我们可以像组建一个真实的开发团队一样,去“搭建”和“管理”我们的 AI 助手团队。

    AI 编程的未来,正朝着更模块化、更专业化、更智能化的方向大步迈进。快去试试 Claude Code 的 sub-agents 功能,亲自感受一下这场正在发生的变革吧!


    官方文档: https://docs.anthropic.com/en/docs/claude-code/sub-agents

    35 条回复    2025-08-22 20:54:05 +08:00
    samzong
        1
    samzong  
       40 天前
    这个感觉是 cursor 的自定义模式?
    terryso
        2
    terryso  
    OP
       40 天前
    @samzong 很不一样, 子代理能有自己的上下文. 并且 cc 能根据你的提示词在执行过程自动判断要不要交给子代理去处理, 这里面的想象空间大很多
    JRay
        3
    JRay  
       40 天前
    舒服了,多角色协调配合
    terryso
        4
    terryso  
    OP
       40 天前
    @JRay 是阿, 关键子代理能有自己的独立上下文这个爽
    JRay
        5
    JRay  
       40 天前
    @terryso #4 有推荐的角色提示词吗?来几份试试
    SWALLOWW
        6
    SWALLOWW  
       40 天前
    ok ,我是开多个 chat 来实现这个的,有些问题不应该在主线上
    terryso
        7
    terryso  
    OP
       40 天前
    @JRay https://docs.anthropic.com/en/docs/claude-code/sub-agents 官方文档有几个示例, 你可以去看看
    terryso
        8
    terryso  
    OP
       40 天前
    @SWALLOWW 多开 chat 没这个想象空间大
    Grin1024
        9
    Grin1024  
       40 天前
    类似 Roo Code 的多种模式吗
    terryso
        10
    terryso  
    OP
       40 天前
    @Grin1024 Roo Code 没用过, 不太了解
    Dogxi
        11
    Dogxi  
       40 天前
    有点 AI 团队的感觉了 前后端业务都分离
    yh7gdiaYW
        12
    yh7gdiaYW  
       40 天前
    文档举的几个例子毫无吸引力,就是几个不长的 prompot...
    进阶用法里的"Chaining sub agents",看起来可以等同于 cli 版本的 workflow ,同样没什么吸引力
    duuu
        13
    duuu  
       40 天前
    @Grin1024 听起来就是 roocode 的回旋镖模式
    AEDaydreamer
        14
    AEDaydreamer  
       40 天前
    感觉有点像完整版的 superclaude 呢, 每个 sub agent 相当于一个 persona.
    terryso
        15
    terryso  
    OP
       40 天前
    @AEDaydreamer 嗯, 每个子代理就相当于一个角色, 我觉得子代理有自己的上下文比较重要
    terryso
        16
    terryso  
    OP
       40 天前
    @yh7gdiaYW 我觉得关键是子代理的上下文是独立的, 这点很重要
    otakustay
        17
    otakustay  
       40 天前
    但其实 Claude Code 现在的那个 Task 工具也是独立 context 的
    terryso
        18
    terryso  
    OP
       40 天前
    @otakustay 嗯, 不过那个控制起来不太方便
    maolon
        19
    maolon  
       40 天前
    @Grin1024 我在想能不能把 roo 的那几个专家移植几个过去
    ouou0701
        20
    ouou0701  
       40 天前
    是不是可以理解多了几个人,每个人负责不同的东西,例如一个子代理开发了一个背包系统,然后以后都是他负责,每次都要迭代,都找他.开发任务系统,又找另外一个子代理,以后都是他负责这一块的迭代?
    Akikiki
        21
    Akikiki  
       40 天前
    谷歌搞的 agent2agent 那套的实际应用吧。每个 agent 里有可以定义自己的一套 mcp 来用
    billzhuang
        22
    billzhuang  
       40 天前 via iPhone
    有点意思
    terryso
        23
    terryso  
    OP
       40 天前
    @ouou0701 可以简单理解为通过子代理能创建角色, 比如: 代码 Reivew 子代理, 你里面可以定位 Review 的流程和规范, 当 AI 写完代码, 需要做 code review 的时候, 就会自动调用这个子代理去 review
    terryso
        24
    terryso  
    OP
       40 天前
    @Akikiki a2a 的理想更大一些, 这个子代理只是解决内部问题
    terryso
        25
    terryso  
    OP
       40 天前
    @billzhuang 可以玩很多东西
    JRay
        26
    JRay  
       40 天前
    我建了几个,但是使用的时候看不出来有没有在工作。你实际操作有对应的提示吗
    terryso
        27
    terryso  
    OP
       40 天前
    @JRay 我暂时是主动在提示词里面去说明要用某个子代理, 自动的我还没测试
    sampeng
        28
    sampeng  
       40 天前
    如果这个工具可以设置使用哪个模型就更好了
    CEBBCAT
        29
    CEBBCAT  
       40 天前
    @Livid V2EX 之前规定了不允许 AI 生成的内容作为技术问题的回答,但没有明确可否发布 AI 生成、辅助编辑的文章,不知道有没有规划?
    lyon95
        30
    lyon95  
       40 天前   ❤️ 4
    @CEBBCAT #29 就你 B 事多,不喜欢看拉黑就行了
    CEBBCAT
        31
    CEBBCAT  
       40 天前
    @Livid @lyon95 #30 讲话不太文明
    flcwk
        32
    flcwk  
       39 天前
    不就是并行 task 吗,也没这么玄乎
    terryso
        33
    terryso  
    OP
       39 天前 via iPhone
    @flcwk 独立上下文,子代理互不影响这点很重要
    jiangliqiang
        34
    jiangliqiang  
       37 天前
    领导发来让我做评估的,顺手也发这个话题下一份,纯个人观点,不同意勿喷:
    “前几天看到这个功能来着,个人感觉用处不大:meow_jojo: 简单理解,它就是多线程 agent ,问题有两点,第一现在 98%的同学,单 agent 还没用出人家真正性能的 80%呢,更别提多 agent 了……第二实际应用下来这种场景其实不太多,比如有个 idea ,以前是创意、市场分析、产品定位、系统设计、研发自测等等各方向 agent 一遍,现在顶多通过多 agent 一把嗦,还是回到第一点,本质上还是得分别校正各 agent 幻觉和质量。所以,从最终效果看,没觉得革命性提升了个啥。反观上周还是上上周,openai 即将出的“智能体”,倒是很看好,从传统 prompt 、agent ,过度到实际跨应用实践的结合。”
    HeyCaptainJack
        35
    HeyCaptainJack  
       11 天前
    @jiangliqiang 我想了很久,确实也没想明白我哪个地方会使用上这个功能,字面意思上 sub agents 以及功能大家都能理解,但如你所说,单 agent 大家还没玩转呢,代码以外的功能,我直接对接 api 或者 n8n 也可以,为什么要在 sub agents 里面呢。我更加喜欢粗暴的多开几个命令行,这样不就直接隔离开来了,而且使用 sub agents 我觉得增加了我的理解成本😄
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:44 · PVG 20:44 · LAX 05:44 · JFK 08:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.