ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

cc-haha 多 Agent 实战指南:六种内置 Agent、后台任务、Agent Teams 与自定义 Agent 全解析

cc-haha 多 Agent 实战指南:六种内置 Agent、后台任务、Agent Teams 与自定义 Agent 全解析 人工智能AI 应用桌面应用代码智能体MCP Clients【免费下载链接】cc-hahaLocal-first cross-platform desktop workspace for Claude Code / agents: multi-agent, Git worktrees, code diffs, skill marketplace, multi-model, Computer Use, task-aware desktop pets, with WeChat, Feishu, DingTalk, Telegram, WhatsApp and H5 access.项目地址https://gitcode.com/gh_mirrors/cl/cc-haha点击查看免费下载本指南以 cc-hahaClaude Code 的本地优先桌面工作区内置的多 Agent 编排框架为核心系统讲解如何让主 Agent 生成并调度多个专业化子 Agent 并行处理复杂任务覆盖六种内置 Agent、前台/后台/并行三种生成方式、后台任务管理、Agent Teams 协作模式以及通过 Markdown 文件自定义 Agent 的完整写法与模型/推理强度解析规则。读完你即可在自己的会话中组合Agent、SendMessage、TeamCreate等工具搭建出可落地的多 Agent 工作流并理解其底层实现依据。什么是多 Agent 系统Claude Code 的多 Agent 系统是一套智能任务编排框架让主 Agent 能够生成多个专业化的子 AgentSubagent各自独立执行不同的任务最终将结果汇总给用户。核心理念把大任务拆分为多个专业小任务并行执行提高效率。场景传统方式多 Agent 方式调研 5 个模块的架构逐个串行探索5 个 Explore agent 并行扫描实现 测试 文档顺序完成Team 成员各自负责一块代码审查单线程逐文件看多个 reviewer 并行审查调试复杂 bug一个假设一个假设试多个 debugger 并行验证子 Agent 的委派并非没有成本启动、传递上下文和汇总都需要额外开销。简单搜索、已定位的小改动或下一步必须等待其结果的短任务通常由主 Agent 直接完成更合适而可以独立完成的调查需阅读多个文件、可明确约定问题范围与应返回证据、可以并行的独立工作如分别调查前后端、有具体关注点的独立复核如分别检查权限边界和会话恢复才是派发子 Agent 的理想场景。这一判断准则在 docs/desktop/agents.md 中有更完整的论述。六种内置 AgentClaude Code 内置了 6 种专业 Agent每种都有特定的工具池和适用场景。从源码 src/tools/AgentTool/builtInAgents.ts 可以看到内置集合由general-purpose与statusline-setup两个常驻 Agent 打底Explore/Plan通过areExplorePlanAgentsEnabled()特性开关控制claude-code-guide仅对非 SDK 入口生效verification同样受特性开关管理——也就是说内置 Agent 集合会随 feature flag 和入口类型动态变化这一事实直接影响后文「覆盖内置 Agent」中未知 agentType 的处理逻辑。1. general-purpose通用型适用场景复杂的多步骤研究、代码搜索、需要完整工具访问的任务。Agent({ description: 调研认证模块, prompt: 分析 src/auth/ 下所有文件的认证流程..., subagent_type: general-purpose })工具池全部工具*模型继承父 Agent特点万能型不确定用哪个 agent 时选它2. Explore探索型适用场景快速搜索文件、搜索代码模式、回答代码库结构问题。Agent({ description: 搜索 API 端点, prompt: 找到所有 REST API 端点的定义..., subagent_type: Explore })工具池除 Agent、ExitPlanMode、Edit、Write、NotebookEdit 外的全部工具。注意 Bash 在内——它不能改文件但能跑任意命令模型Haiku快速低成本特点不能修改文件速度快适合调研底层实现见 src/tools/AgentTool/built-in/exploreAgent.ts其disallowedTools明确排除了 Agent、ExitPlanMode、FileEdit、FileWrite、NotebookEdit 五类工具并通过系统提示词强制只读模式禁止创建/修改/删除文件、禁止使用重定向与 heredoc 写文件同时omitClaudeMd: true表示 Explore 不需要加载 CLAUDE.md 中的提交/PR/lint 规则——这些规则由主 Agent 解释结果时掌握。模型取值上外部用户默认haiku图快图省而内部构建默认inherit跟随主会话这也印证了「模型解析默认值因构建而异、无法硬编码」的结论。3. Plan规划型适用场景设计实现方案、分析架构权衡、生成分步计划。Agent({ description: 规划重构方案, prompt: 设计将 monolith 拆分为微服务的方案..., subagent_type: Plan })工具池同 Explore同一组禁用清单模型继承父 Agent需要强推理能力特点输出结构化计划包含关键文件和依赖分析4. verification验证型适用场景独立验证实现是否正确运行测试边界检查。Agent({ description: 验证登录功能, prompt: 验证新实现的登录功能是否正确..., subagent_type: verification })工具池同 Explore系统提示额外允许在 tmp 下写临时测试脚本模型继承父 Agent特点始终在后台运行输出 PASS/FAIL/PARTIAL 判定红色标识5. claude-code-guide指南型适用场景回答关于 Claude Code、Agent SDK、Claude API 的问题。Agent({ description: 查询 Claude API 用法, prompt: 如何使用 tool_use 功能..., subagent_type: claude-code-guide })工具池Glob、Grep、Read、WebFetch、WebSearch内部构建下换成 Bash Read WebFetch WebSearch模型Haiku特点专注文档查询dontAsk 权限模式6. statusline-setup状态栏配置适用场景配置 Claude Code 状态栏显示。工具池仅 Read Edit模型Sonnet特点高度专业化范围极小Agent 类型对比表Agent读写工具池模型用途general-purpose读写全部继承通用任务Explore不能改文件全部工具减去编辑类Haiku快速探索Plan不能改文件同 Explore继承架构规划verification不能改项目文件同 Explore继承独立验证claude-code-guide只读搜索网络Haiku文档指南statusline-setup读写ReadEditSonnet状态栏配置如何生成 Agent基本参数Agent 工具接受以下参数参数类型必需说明descriptionstring是3-5 词任务简述promptstring是完整的任务描述subagent_typestring否Agent 类型见上表modelstring否模型覆盖sonnet/opus/haikurun_in_backgroundboolean否是否后台运行namestring否命名后可通过 SendMessage 寻址team_namestring否加入指定团队modestring否权限模式isolationstring否隔离模式worktree前台同步执行默认最简单的用法Agent 执行完毕后返回结果Agent({ description: 分析错误日志, prompt: 读取 logs/ 下最近的错误日志总结常见错误模式 })主 Agent 会等待子 Agent 完成然后收到结果继续工作。后台异步执行适合耗时任务主 Agent 可以继续做其他事情Agent({ description: 全面代码审查, prompt: 审查 src/ 下所有 TypeScript 文件的代码质量..., run_in_background: true })Agent 立即返回async_launched状态和 taskId主 Agent 继续工作不需要等待Agent 完成后自动收到task-notification通知通知包含任务状态、输出文件路径和结果摘要并行生成多个 Agent在一条消息中生成多个独立的 Agent实现真正的并行// 同时启动 3 个探索 agent Agent({ description: 探索前端, prompt: ..., subagent_type: Explore, run_in_background: true }) Agent({ description: 探索后端, prompt: ..., subagent_type: Explore, run_in_background: true }) Agent({ description: 探索数据库, prompt: ..., subagent_type: Explore, run_in_background: true })Worktree 隔离让 Agent 在独立的 git worktree 中工作不影响主工作区Agent({ description: 实验性重构, prompt: 尝试将模块 X 重构为..., isolation: worktree })自动创建 git worktree独立分支Agent 在隔离环境中自由修改文件完成后如有改动返回 worktree 路径和分支名无改动则自动清理后台任务管理任务状态后台 Agent 有四种状态状态说明running正在执行中completed执行成功failed执行失败killed被手动终止进度追踪后台 Agent 的进度实时更新Token 消耗输入/输出 token 计数工具使用已使用的工具次数最近活动最近 5 个工具调用描述循环缓冲区最后活动时间用于检测卡住的任务完成通知当后台 Agent 完成时主 Agent 收到 XML 格式的通知task-notification task-idabc123/task-id statuscompleted/status summaryAgent 探索前端 completed/summary output-file~/.claude/temp/.../tasks/abc123.output/output-file /task-notification自动后台化当tengu_auto_background_agents特性开启时前台 Agent 运行超过120 秒会自动转为后台执行释放主 Agent 继续工作。Agent Teams — 多 Agent 协作Agent Teams 是更高级的多 Agent 协作模式多个 Agent 以团队形式工作通过消息通信协调任务。从 src/utils/swarm/spawnUtils.ts 可以看到spawn 队友时会强制注入CLAUDECODE1与CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS1并显式转发 Provider 选择CLAUDE_CODE_USE_BEDROCK/VERTEX/FOUNDRY/AZURE_OPENAI、子 Agent 全局控制CLAUDE_CODE_SUBAGENT_MODEL、CLAUDE_CODE_EFFORT_LEVEL、代理与 CA 证书等环境变量——这是 tmux 后端在独立登录 shell 中保持与主会话行为一致的关键机制。创建团队TeamCreate({ team_name: feature-team, description: 开发用户认证功能 })团队创建后生成团队配置文件~/.claude/teams/{team_name}/config.json创建共享任务目录~/.claude/tasks/{team_name}/当前 Agent 自动成为Team Lead团队负责人添加团队成员通过 Agent 工具指定name和team_name生成队友Agent({ description: 前端开发, prompt: 负责实现登录页面的 React 组件..., name: frontend-dev, team_name: feature-team }) Agent({ description: 后端开发, prompt: 负责实现认证 API 端点..., name: backend-dev, team_name: feature-team })队友通信通过 SendMessage 工具发送消息// 发送给特定队友 SendMessage({ to: frontend-dev, message: API 接口已就绪格式是..., summary: 通知 API 接口格式 }) // 广播给所有队友 SendMessage({ to: *, message: 大家暂停需求变更了..., summary: 广播需求变更 })关停协调当任务完成后Team Lead 请求队友关停// 1. 发送关停请求 SendMessage({ to: frontend-dev, message: { type: shutdown_request, reason: 任务已完成 } }) // 2. 队友回复批准 SendMessage({ to: team-lead, message: { type: shutdown_response, request_id: ..., approve: true } }) // 3. 所有队友关停后清理团队 TeamDelete()执行后端Agent Teams 支持两种执行后端文档明列三种其中 tmux 与 iTerm2 本质同为独立终端进程模式均由 src/utils/swarm/spawnUtils.ts 的getTeammateCommand()决定拉起命令并默认把权限模式、--model、--settings、--plugin-dir、--teammate-mode等 CLI 参数逐项传播给队友进程后端说明适用场景in-process同进程运行AsyncLocalStorage 隔离默认模式轻量高效tmux独立 tmux pane 运行需要独立终端视图iTerm2独立 iTerm2 窗口运行macOS iTerm2 用户自定义 Agent除了内置 Agent你还可以创建自己的专业 Agent。桌面端管理与作用域桌面端入口是设置 → Agents。这里和 CLI 使用同一份 Agent 定义文件不会再把配置复制到数据库或localStorage作用域唯一事实源用途用户~/.claude/agents/*.md在所有项目中可用项目项目目录/.claude/agents/*.md只在当前项目中可用同名时覆盖用户 Agent用户和项目 Agent 可以在桌面端创建、编辑和删除保存结果会直接写回对应的 Markdown 文件。内置、插件、托管策略和 CLI 参数等其他来源也会显示在列表中但只能查看不能从桌面端改写其来源文件。内置 Agent 是一个例外它的模型和推理强度可以单独覆盖但覆盖写在 settings.json 而不是来源文件里source仍然是built-in详见下文「覆盖内置 Agent 的模型与推理强度」。当桌面端连接着当前运行会话时创建、编辑或删除 Agent 会原地热重载该会话下一次 spawn 立即使用新定义。如果没有可用的运行时或热重载失败文件保存仍然成功桌面端会显示不阻塞操作的警告并在下次启动时自动读取已保存的定义。定义格式在用户或项目的agents目录下创建.md文件--- name: code-reviewer description: 专业代码审查代理 tools: - Read - Grep - Glob - Bash model: sonnet effort: high permissionMode: dontAsk maxTurns: 10 --- 你是一个专业的代码审查员。请检查以下方面 1. 代码质量和可读性 2. 潜在的安全漏洞 3. 性能问题 4. 最佳实践遵循实操建议只给必需的工具。一个只负责读代码给结论的 Agent 不需要 Write 和 Bash——权限收窄了它跑偏的空间也就小了。这一原则同样适用于description主 Agent 正是靠它决定要不要派发这个 Agent写含糊了就永远不会被叫到。桌面端「创建 Agent」弹窗的完整字段配置范围、名称、描述、系统提示词、模型、思考强度、工具、颜色可参见 docs/desktop/agents.md。可配置字段字段类型说明namestringAgent 类型名称descriptionstring何时使用的说明toolsstring[]允许的工具列表[*]表示全部disallowedToolsstring[]禁止的工具列表modelstring使用的模型fable/opus/sonnet/haiku、完整模型 ID 或inheriteffortstring推理强度low/medium/high/xhigh/max以模型能力为准permissionModestring权限模式maxTurnsnumber最大对话轮数mcpServersobject[]需要的 MCP 服务器hooksobjectAgent 特定的钩子colorstringAgent 的界面标识颜色skillsstring[]可使用的技能memorystring记忆作用域user/project/localisolationstring隔离模式worktree/remotebackgroundboolean是否默认后台运行模型、推理强度与 Thinking要继承当前会话最清楚的写法是省略对应字段不写model就继承主会话模型不写effort就继承当前会话的推理强度。model: inherit是模型字段的等价显式写法effort没有inherit值。模型的解析优先级从高到低为CLAUDE_CODE_SUBAGENT_MODEL的具体模型值设为inherit时不锁定模型本次Agent({ ..., model: ... })调用指定的模型Agent Markdown frontmatter 中的modelsettings.json 中builtInAgentOverrides指定的model仅内置 Agent主会话模型这条优先级链在 src/utils/model/agent.ts 的getAgentModel()中有直接对应实现先读CLAUDE_CODE_SUBAGENT_MODEL非inherit则直接返回解析结果再处理工具调用显式指定的模型随后才落到 Agent 定义里的模型值inherit会走getRuntimeMainLoopModel()按权限模式完成运行时解析例如 plan 模式下的 opusplan→Opus 映射。值得注意的细节是 Bedrock 跨区域推理前缀会随别名模型一起继承给子 Agent保证 IAM 权限按区域生效而裸家族别名fable/opus/sonnet/haiku命中父模型同档时会直接复用父模型精确字符串避免降级。推理强度的解析优先级从高到低为CLAUDE_CODE_EFFORT_LEVELAgent Markdown frontmatter 中的effortsettings.json 中builtInAgentOverrides指定的effort仅内置 Agent当前会话的 effort模型默认值覆盖内置 Agent 的模型与推理强度内置 Agent 没有 Markdown 文件因此它的model/effort通过 settings.json 的builtInAgentOverrides调整key 是 spawn 时用的 agentType大小写敏感{ builtInAgentOverrides: { Explore: { model: sonnet, effort: low }, general-purpose: { effort: high } } }几条容易踩的规则只有这两个字段可改。系统提示词、工具范围和颜色仍由内置定义决定覆盖不会改变source因此内置 Agent 的工具特权保持不变。清除覆盖 删掉字段不是写inherit。各内置 Agent 的默认值互不相同Explore默认haiku、Plan默认inherit、general-purpose不写model所以model: inherit是一个正常取值含义是跟随主会话与恢复默认不同。未知的 agentType 会被忽略但不会被清理。内置 Agent 集合随 feature flag 和 entrypoint 变化自动清理会在开关翻转时销毁有效配置。组织策略strictPluginOnlyCustomization包含agents时用户级和项目级的覆盖在解析阶段就会被忽略只有 managed 来源生效。与 Agent Markdown 文件一样改完 settings.json 不会自动作用于已经在跑的会话桌面端保存时会触发一次会话重载手工改文件则需要重启会话或/reload-plugins。对应的桌面端入口见 子 Agent 与任务拆分。这些规则在 src/tools/AgentTool/builtInAgentOverrides.ts 中有完整实现resolveBuiltInAgentOverrides()按设置来源从低优先级到高优先级逐个读取记录每个字段最终来自哪个来源供桌面端控制可编辑性并按字段粒度合并——项目级model不会抹掉用户级effortstrictPluginOnlyCustomization在解析阶段即过滤非受信来源堵住了手工改 settings.json 绕过策略的路径。应用时applyBuiltInAgentOverrides只浅拷贝携带覆盖的条目未覆盖的 Agent 保持对象引用不变且不包装getSystemPrompt以避免serializeActiveAgent按函数参数个数分支时出错。Agent工具没有单次调用的effort参数因此应在 Agent 定义或会话层设置。low、medium、high、xhigh、max是否可用取决于解析后的真实模型及提供商能力Claude 模型会向下回退到可用档位其他提供商按各自的模型目录规范化不支持 effort 的模型不会应用该字段。整数形式的effort仅为既有 SDK/JSON 与内部配置兼容而保留不属于推荐的官方 Agent 配置桌面端 Agent 管理器只写入以上五个命名档位。子 Agent 通常继承主会话的扩展思考extended thinking开关但解析后的模型强制要求优先例如 Fable 5 会规范化为 adaptive thinking。目前不支持在单个 Agent frontmatter 中设置thinking或thinkingBudgeteffort也不是固定的 thinking token 预算。同名 Agent 的来源优先级当多个来源定义了同名 Agent 时cc-haha 按以下优先级选择实际生效的定义从高到低策略 Agentpolicy— 组织托管策略CLI 参数 Agentflag— 通过--agents注册项目 Agentproject—项目目录/.claude/agents/用户 Agentuser—~/.claude/agents/插件 Agentplugin— 由插件提供内置 Agentbuilt-in— 系统预定义这份优先级在 src/tools/AgentTool/loadAgentsDir.ts 的聚合逻辑中直接可见加载器把全部 Agent 按policySettings、flagSettings、projectSettings、userSettings、plugin、built-in分桶高优先级来源以Map.set方式覆盖低优先级同名项项目内则按最近 cwd 优先取首个命中。桌面端仍会展示被覆盖的定义及其来源但真正 spawn 时使用优先级最高的活动定义。权限模式每个 Agent 可以设置不同的权限模式模式说明default正常权限请求需要用户确认plan所有操作需要显式审批acceptEdits自动接受文件编辑其他操作需确认bypassPermissions跳过所有权限检查dontAsk拒绝所有未预批准的操作autoAI 驱动的权限分类仅 Ant 内部bubble权限提示冒泡到父 Agent 终端权限模式在 Teams 场景下还会沿 spawn 链路传播从 src/utils/swarm/spawnUtils.ts 的buildInheritedCliFlags()可见父会话为bypassPermissions时会向队友注入--dangerously-skip-permissionsacceptEdits时注入--permission-mode acceptEdits但plan 模式要求优先于 bypass——只要 planModeRequired 为真就不再继承绕过权限的旗标这是刻意保留的安全兜底。快速参考操作方法生成子 AgentAgent({ prompt: ..., subagent_type: Explore })后台运行Agent({ ..., run_in_background: true })并行生成单条消息中发送多个 Agent 调用Worktree 隔离Agent({ ..., isolation: worktree })创建团队TeamCreate({ team_name: ... })发送消息SendMessage({ to: name, message: ... })广播消息SendMessage({ to: *, message: ... })请求关停SendMessage({ to: name, message: { type: shutdown_request } })删除团队TeamDelete()管理自定义 Agent桌面端设置 → Agents或直接编辑~/.claude/agents/*.md/项目目录/.claude/agents/*.md指定模型Agent({ ..., model: haiku })指定推理强度在 Agent Markdown frontmatter 中设置effort: high命名 AgentAgent({ ..., name: researcher })若需继续深入可进一步阅读 Agent 内部机制 了解 spawn 与消息传递的完整链路或在 docs/desktop/agents.md 查看桌面端「设置 → Agents」的图形化管理操作。赞分享人工智能AI 应用桌面应用代码智能体MCP Clients【免费下载链接】cc-hahaLocal-first cross-platform desktop workspace for Claude Code / agents: multi-agent, Git worktrees, code diffs, skill marketplace, multi-model, Computer Use, task-aware desktop pets, with WeChat, Feishu, DingTalk, Telegram, WhatsApp and H5 access.项目地址https://gitcode.com/gh_mirrors/cl/cc-haha点击查看免费下载相关推荐cc-haha 桌面端子 Agent 完整指南任务委派、内置 Agent 与自定义配置cc haha 桌面端子 Agent 完整指南任务委派、内置 Agent 与自定义配置 子 AgentSubagent是 cc haha 桌面端多 Age人工智能AI 应用桌面应用代码智能体MCP Clientscc-haha 桌面端子 Agent 与任务拆分完全指南内置 Agent、来源优先级与自定义配置cc haha 桌面端子 Agent 与任务拆分完全指南内置 Agent、来源优先级与自定义配置 子 AgentSubagent是 Claude Code人工智能AI 应用桌面应用代码智能体MCP ClientsAionUi 多 AI Agent Cowork 平台全指南内置 Agent、多 Agent 协作与 24/7 自动化实战AionUi 多 AI Agent Cowork 平台全指南内置 Agent、多 Agent 协作与 24/7 自动化实战 AionUi 是一个免费开源的 A人工智能AI 应用大模型AI Agent交互助手前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表