子智能体
Agent 可以委派任务的专门助手:上下文隔离与并行、内置的 Explore/Bash/Browser、自定义子智能体文件位置与格式、模型配置,以及与 skills 的取舍。
子智能体是 Cursor 的智能体可以委派任务的专门 AI 助手。每个子智能体在自己的上下文窗口里运行、处理特定类型的工作,并把结果返回给父智能体。用子智能体拆解复杂任务、并行工作,并为专门任务保留上下文。可以在编辑器、CLI 和云端智能体里使用。
- 上下文隔离:每个子智能体有自己的上下文窗口,长时间的调研或探索任务不会占用你主对话的空间
- 并行执行:同时启动多个子智能体,在代码库的不同部分工作而不必等待顺序完成
- 专门的专长:用自定义提示、工具访问和模型配置子智能体来处理领域特定的任务
- 可复用:定义自定义子智能体并在项目间使用
子智能体如何工作
Agent 遇到复杂任务时可以自动启动子智能体。子智能体收到带有所有必要上下文的提示、自主工作,并返回含结果的最终消息。子智能体从干净的上下文开始,父智能体要在提示里包含相关信息,因为子智能体无法访问之前的对话历史。它们以两种模式运行:前台(阻塞到子智能体完成,立即返回结果,适合你需要输出的顺序任务)和后台(立即返回,子智能体独立工作,适合长时间运行的任务或并行工作流)。
内置子智能体
Cursor 包含三个内置子智能体,自动处理重上下文的操作(它们是根据对达到上下文窗口限制的智能体对话的分析而设计的):
| 子智能体 | 用途 | 为什么是子智能体 |
|---|---|---|
| Explore | 搜索和分析代码库 | 代码库探索产生大量中间输出会撑大主上下文;默认用较快的模型运行许多并行搜索 |
| Bash | 运行一系列 shell 命令 | 命令输出通常很冗长,隔离它让父智能体专注决策而不是日志 |
| Browser | 通过 MCP 工具控制浏览器 | 浏览器交互产生嘈杂的 DOM 快照和截图,子智能体把它们过滤成相关结果 |
这三类操作的共同点:产生嘈杂的中间输出、受益于专门的提示和工具、可能消耗大量上下文。作为子智能体运行解决了几个问题:上下文隔离(中间输出留在子智能体里,父智能体只看到最终摘要)、模型灵活性(explore 子智能体默认用更快的模型,这让 10 次并行搜索与主智能体一次搜索的耗时相当)、专门配置、成本效率(更快的模型成本更低)。你不需要配置这些,Agent 在合适时自动使用。
何时用子智能体,何时用 skills
| 用子智能体,当… | 用 skills,当… |
|---|---|
| 需要为长时间的调研任务隔离上下文 | 任务单一目的(生成变更日志、格式化) |
| 并行运行多个工作流 | 想要快速、可重复的动作 |
| 任务需要跨许多步骤的专门专长 | 任务一次完成 |
| 想要对工作的独立验证 | 不需要单独的上下文窗口 |
如果你发现自己为「生成变更日志」或「格式化 import」这样简单的单一目的任务创建子智能体,考虑改用 skill。
自定义子智能体
自定义子智能体用来编码专门知识、强制团队标准或自动化重复工作流。快速开始:让 Agent 创建,例如「Create a subagent file at .cursor/agents/verifier.md with YAML frontmatter (name, description) followed by the prompt...」。想要更多控制就在项目或用户目录里手动创建。
文件位置:
| 类型 | 位置 | 范围 |
|---|---|---|
| 项目子智能体 | .cursor/agents/ | 仅当前项目 |
.claude/agents/ | 仅当前项目(Claude 兼容) | |
.codex/agents/ | 仅当前项目(Codex 兼容) | |
| 用户子智能体 | ~/.cursor/agents/ | 当前用户的所有项目 |
~/.claude/agents/、~/.codex/agents/ | 当前用户的所有项目(兼容) |
名字冲突时项目子智能体优先;多个位置有同名子智能体时,.cursor/ 优先于 .claude/ 或 .codex/。
文件格式:每个子智能体是带 YAML frontmatter 的 markdown 文件:
---
name: security-auditor
description: Security specialist. Use when implementing auth, payments, or handling sensitive data.
model: inherit
readonly: true
---
You are a security expert auditing code for vulnerabilities.
When invoked:
1. Identify security-sensitive code paths
2. Check for common vulnerabilities (injection, XSS, auth bypass)
3. Verify secrets are not hardcoded
4. Review input validation and sanitization
Report findings by severity:
- Critical (must fix before deploy)
- High (fix soon)
- Medium (address when possible)配置字段:
| 字段 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
name | 字符串 | 否 | 取自文件名 | 显示名和标识符,用小写字母和连字符 |
description | 字符串 | 否 | — | 显示在 Task 工具提示里的简短描述,Agent 据此决定是否委派 |
model | 字符串 | 否 | inherit | 使用的模型:inherit 或具体的模型 ID |
readonly | 布尔 | 否 | false | 为 true 时子智能体以受限的写权限运行(不能编辑文件,不能运行改变状态的 shell 命令) |
is_background | 布尔 | 否 | false | 为 true 时子智能体在后台运行,不阻塞父智能体 |
模型配置:model 字段控制子智能体使用哪个模型。inherit(默认)使用与父智能体相同的模型;具体的模型 ID 使用你指定的确切模型。需要子智能体与父智能体有同样的推理能力时选 inherit;需要特定模型的能力而不管父智能体用什么时,用具体的模型 ID。在模型 ID 后追加方括号可以设置每个模型的选项(如速度、推理强度和上下文窗口),选项写成 id=value 对,多个选项用逗号分隔,例如 claude-opus-5[effort=high,context=300k];可用选项取决于模型(模型名称以官方为准)。官方文档还列出了配置的模型不会被使用的几种情形,以官方原文为准。