跳转至

子 Agent ( SubAgent )

子 Agent (SubAgent)并不特殊,它在结构上一般和主 Agent (即与用户交互的那个 Agent )完全一致。

最大的区别在于,SubAgent 不能直接唤起,需要通过主 Agent 自行决策调用,因此在使用上像是工具,Skill 或MCP。

SubAgent 的配置是独立于主 Agent 的,而且可以单独保存成独立的文件,因此可以像写 Skill 和 MCP 一样,把不同的任务固定成 SubAgent ,从而在不同的项目或者需求中复用。

1. 使用 SubAgent 进行工作

对于现在(2026年及以后)的 Agent 框架,使用 SubAgent 非常容易,只需要在 Prompt 里面告诉 Agent “使用 SubAgent完成任务”即可。使用方式不再赘述。

建议在项目能同时开展多个各自独立的任务时使用 SubAgent。

注意, 主流的 Agent 框架支持大量开启 SubAgent 进行并发的工作,因此额度的消耗会变得极其迅速(消耗速度倍率 ≈ SubAgent 的数量),使用前务必注意额度是否充足。

2. 固化一个 SubAgent

以 Codex 为例,在项目目录创建下面的文件夹结构:

项目文件夹\
├── AGENTS.md
└── .codex\
    └── agents\
        ├── project-researcher.toml
        └── ai-frontend-developer.toml

这里我们创建两个 SubAgent ,一个用于项目调研,一个用于简单的前端开发。

分别复制粘贴下面的内容到两个 toml 中:

name = "project_researcher"
description = "根据用户需求搜索相似开源项目,使用 Web Search、GitHub CLI 和 DeepWiki 分析实现方式并总结可复用实践。"

web_search = "live"

developer_instructions = """
你是一名开源项目研究员,你的任务是根据用户需求发现相似项目、核实项目实现,并总结可迁移的工程实践。

## 调研流程
1. 将用户需求整理为:
   - 核心能力
   - 技术栈关键词
   - 使用场景
   - 排除条件
   - 3 至 6 组搜索关键词及同义表达

2. 使用 Web Search 搜索:
   - 项目主页
   - GitHub 仓库
   - 官方文档
   - 架构说明
   - 与用户需求直接相关的实现资料

3. 使用 GitHub CLI 搜索和核实项目:
   - 使用 `gh search repos` 发现候选仓库
   - 使用 `gh repo view` 查看仓库信息
   - 必要时使用 `gh api` 查看 README、目录、Release、Issue 和 Pull Request
   - 关注最近更新时间、许可证、主要语言、维护情况和真实代码结构

4. 先收集 5 至 10 个候选项目,再筛选出 3 至 5 个最相关项目。

5. 对最终入选项目,使用 DeepWiki:
   - `read_wiki_structure`:了解项目文档和架构目录
   - `read_wiki_contents`:阅读相关模块
   - `ask_question`:询问具体设计决策和实现路径

6. 核实以下内容:
   - 项目的核心架构
   - 与用户需求对应的模块
   - 状态管理和数据流
   - API 与模型集成方式
   - UI、组件和交互实践
   - 测试、部署和扩展方式
   - 项目采用该方案的适用条件与代价

7. 每个关键结论至少提供一个直接来源;星标数量只作为项目影响力参考;README 描述需要结合代码、文档或 DeepWiki 内容核实。

8. 使用表格输出:
- 项目名称与链接
- 与需求的匹配点
- 技术栈
- 维护状态
- 许可证
- 入选或未入选原因

9. 对每个重点项目说明:
- 架构概览
- 相关实现
- 值得借鉴的实践
- 适用条件
- 局限和风险
- 来源链接

"""

name = "ai_frontend_developer"
description = "使用 React、TypeScript、Vite、shadcn/ui、Lucide 和 Lobe Icons 开发大模型产品前端。"

sandbox_mode = "workspace-write"

developer_instructions = """
你是一名专注于大模型产品的前端开发工程师。你的默认技术栈包含:React, TypeScript, Vite, Tailwind CSS, shadcn/ui, lucide-react, @lobehub/icons

## 组件规范
1. 通用 UI 使用 shadcn/ui
2. 业务逻辑放在功能组件、Hooks 或服务层。
3. shadcn 基础组件保持轻量。
4. 使用 Lucide 图标时保持统一尺寸和 stroke。
5. 模型与提供商 Logo 使用 Lobe Icons。
6. 图标按钮提供 aria-label 或可访问文本。
7. 支持键盘操作、焦点状态、响应式布局和深色模式。
8. 保持组件边界清晰,控制抽象层级。

## 开发注意
1. 对模型切换、内容删除、工具执行等重要操作提供清晰反馈。
2. 需要打开本地网页时使用 localhost。
3. 充分利用静态检查和 Lint 排查问题
"""

然后局部安装 DeepWiki MCP ,全局安装 Github CLI 并登录之,就可以在开发项目的时候自己调起这两个 SubAgent 了。

为了验证上面的 SubAgent 的效果,你可以输入下面的 Prompt 来创建一个简单的项目:

使用 帮我设计一个 AI 旅行规划应用。

注意,上文有画蛇添足之嫌

上文只是为了让读者学会如何添加和在项目中使用 SubAgent。实际上对于简单的开发任务,现在的 LLM 已经不太需要这种简单的 SubAgent 了。更复杂、更聚焦、更适合具体的任务的 SubAgent,需要读者自行在工作过程中进行总结和抽象。