Verboo Code:如何用 /agents 创建子代理
返回博客
文章verboo codetutorialagente de programaçãodev toolsprodutividade

Verboo Code:如何用 /agents 创建子代理

Mafra2026年11月5日阅读约 5 分钟

你让 Verboo Code 审查一个 PR,结果在讨论功能的对话中途,编程代理读了 40 个文件,把上下文塞满了。子代理可以解决这个问题:它在独立的上下文中执行任务,只使用你允许的工具,遵循你写的指令,最后只把结果交回主对话。本教程带你从编写文件到实际使用,创建一个子代理。

Verboo Code 中的子代理是什么?

它是主会话通过 Agent 工具调用的专用代理。每个子代理都是一个 Markdown 文件:frontmatter 定义名称、何时使用以及可用的工具;文件正文就是它的系统提示词。

Verboo Code 自带几个内置子代理,例如 general-purpose 和 statusline-setup。你创建的子代理会出现在同一个列表中。

如何用 /agents 创建子代理?

在会话中输入:

/agents

这会打开代理菜单,列出内置代理和你自己的代理。创建新代理时,向导会依次询问:

  1. 保存位置:Project (.verboo/agents/) 会进入代码仓库;Personal (~/.verboo/agents) 对你的所有项目生效。
  2. 创建方式:根据你的描述自动生成(标记为 recommended 的选项),或选择 Manual configuration。
  3. 接着设置:工具、模型、颜色和记忆。

完成后,/agents 会在所选文件夹中写入一个 .md 文件。你也可以手动编写这个文件,下一节就来演示。

Verboo Code 子代理流程图:创建带 name 和 description 的 .verboo/agents/revisor.md,在 /agents 中确认,再按名称调用,即 Agent(revisor)。如果主代理不自动委派,就在 description 中用 Use proactively 写明何时使用
从文件到子代理运行,以及它始终不被调用时该怎么办。

如何手动编写子代理文件?

mkdir -p .verboo/agents

然后创建 .verboo/agents/revisor.md,一个只读不改的审查代理:

---
name: revisor
description: Reviews the current diff looking for bugs, missing tests and broken contracts. Use proactively after any change in src/.
tools: Read, Grep, Glob, Bash
model: inherit
---

你是一名资深代码审查员。不要编辑任何文件。

1. 运行 git diff 查看改动。
2. 对每个改动的文件,检查:逻辑错误、未测试的边界情况、公共签名的变更。
3. 用简短的列表回复,按严重程度从高到低排列,注明文件和行号。
4. 如果没有发现问题,用一行说明即可。

再次运行 /agents,列表中就会出现 revisor。如果你是在会话打开时创建的文件,而它没有出现,请开启一个新会话。

陷阱:frontmatter 中没有 name 的文件会被静默忽略。Verboo Code 会把它当作文件夹里的普通文档,不会给出任何提示。有 name 但没有 description 时,文件解析失败,子代理同样不会加载。这两个字段都是必填的。

frontmatter 支持哪些字段?

字段作用不填写时
name子代理的标识符文件被忽略
description何时使用。主代理据此决定是否委派报错,不加载
tools逗号分隔的列表,例如 Read, Grep, Glob, Bash会话中的全部工具
disallowedTools即使列表允许也要禁用的工具不禁用任何工具
modelinherit 或菜单中的别名(sonnet、opus、haiku)inherit:与对话使用同一模型
effort子代理的推理级别会话默认值
permissionMode独立的权限模式会话的模式
maxTurns停止前的轮次上限(正整数)没有单独限制
memory持久记忆:user、project 或 local无记忆
backgroundtrue 表示始终在后台运行在前台运行
isolationworktree 表示在隔离的 git worktree 中运行在当前文件夹运行
color子代理在界面中的颜色无颜色

注意 tools:省略该字段表示允许全部工具,而写一个空的 tools: 会让子代理没有任何工具。另外,如果你在设置 tools 列表的同时开启了 memory,Verboo Code 会自动加上 Read、Write 和 Edit,因为子代理需要它们来读写自己的记忆。

如何让 Verboo Code 使用子代理?

有两种方式。最直接的是按名称请求:

use the revisor subagent on what I changed today

主代理会用 revisor 调用 Agent 工具,它在自己的上下文中读取 diff,只返回问题列表。

另一种是让主代理自行决定。它根据 description 来选择,所以 description 必须写明何时使用,而不只是角色。"代码审查员"太笼统;"Use proactively after any change in src/" 才是触发条件:当 description 表明子代理应被主动使用时,Agent 工具的提示词会指示模型无需你请求就调用它。

Verboo Code 在哪里查找子代理?

文件夹作用范围
~/.verboo/agents/你自己的,所有项目通用
.verboo/agents/ 或 .claude/agents/项目级。从当前文件夹向上直到 git 仓库根目录都有效

项目中原有的 .claude/agents/ 子代理无需复制即可使用。用户文件夹只有 ~/.verboo/agents/;如果你用 VERBOO_CONFIG_DIR 修改了配置目录,它会变为 $VERBOO_CONFIG_DIR/agents/。

两处有相同的 name?更具体的一方胜出,优先级从低到高依次为:内置、插件、你自己的、项目的、--agents 参数,最后是公司统一管理的。项目中的 general-purpose.md 会为所有在该项目工作的人替换内置版本。

能否只为单次运行定义子代理?

可以,使用接收 JSON 的 --agents 参数。适合脚本和 CI,无需创建文件:

verboo --agents '{"revisor": {"description": "Reviews the current diff", "prompt": "You are a code reviewer. Do not edit files.", "tools": ["Read", "Grep", "Glob", "Bash"]}}'

JSON 中 description 和 prompt 为必填,tools 是一个列表。该子代理只在本次会话中存在。单数形式的 --agent <name> 是另一回事:它指定主会话本身使用的代理。

子代理、skill 还是 AGENTS.md:该用哪个?

子代理SkillAGENTS.md
上下文独立,与对话分开对话的上下文对话的上下文
工具只有你列出的会话的工具会话的工具
适合读得多、回得少的任务:审查、搜索、分诊按名称调用的可重复流程项目的长期规则

如果任务需要对话中已有的内容,请使用 skill。如果是始终适用的规则,就写进 AGENTS.md,参见用 /memory 设置永久指令的教程。子代理用于把繁重的工作隔离在主上下文之外,可以配合 /context 查看上下文占用。

每个子代理都会打开自己的上下文并重新读取文件,因此委派比在主对话中完成所有工作消耗更多 token。在 Verboo Code 上 token 不限量,你可以放心委派,不用算账。

行为已于 2026-11-05 在 Verboo Code 源码(verbeux-ai/code,v0.15.41)中核实:src/commands/agents、src/tools/AgentTool/loadAgentsDir.ts、src/tools/AgentTool/prompt.ts、src/components/agents、src/utils/model/agent.ts、src/utils/markdownConfigLoader.ts 和 src/main.tsx。

喜欢这篇文章吗?
把知识分享给你的朋友。
// 继续阅读

相关文章