子代理已在 Gemini CLI 中推出

发布: (2026年4月29日 GMT+8 08:21)
8 分钟阅读

Source: Google Developers Blog

(请提供您希望翻译的正文内容,我将按照要求将其翻译成简体中文并保留原始的格式、Markdown 语法以及技术术语。)

April 15, 2026

子代理允许 Gemini CLI 将复杂、重复或高频任务委派给专门的专家代理。每个子代理在其自己的 独立上下文窗口自定义系统指令精选工具集 中运行。这使得您的主会话保持快速、精简,并专注于全局视角,而中间步骤则交由一组子代理处理。

抱歉,您的浏览器不支持此视频的播放。

什么是子代理?

子代理是 专门的、专家级的代理,与您的主要 Gemini CLI 会话并行工作。当您向 Gemini CLI 提交宽泛或复杂的任务时,它会充当战略协调者,将具体子任务委派给 最相关的子代理

子代理的运作方式

  • Isolation(隔离): 每个子代理都有自己的一套工具、MCP 服务器、系统指令和上下文窗口。
  • Consolidated Output(合并输出): 子代理的所有内部操作——工具调用、文件搜索、测试运行等——都会合并为单一响应,返回给主代理。
  • Efficiency(效率): 这可以防止主上下文窗口被填满,使后续交互保持快速且成本效益高。

关键优势

好处描述
专注的主代理主代理专注于整体目标、决策以及最终响应。
并行执行专门的子代理可以同时运行,用于研究、代码探索、分析、测试等。
减少上下文膨胀子代理返回 摘要格式化响应,避免上下文腐化和污染。

通过利用子代理,您可以获得多个专用代理的专业能力,同时保持精简、响应迅速的主会话。

使用自定义子代理构建您自己的专家

您可以创建专门的团队成员(子代理),用于自动化特定工作流、强制执行编码标准,或以符合项目需求的角色身份运行。

子代理的存放位置

  • 个人工作流: ~/.gemini/agents
  • 项目级共享: .gemini/agents(提交到仓库)
  • Gemini CLI 扩展: agents/ 目录位于扩展内部

子代理通过简单的 Markdown 文件(.md)定义,其中包含 YAML front‑matter 块。

示例:前端专家代理

创建一个名为 .gemini/agents/frontend-specialist.md 的文件,内容如下:

---
name: frontend-specialist
description: |
  Front‑end specialist in building high‑performance, accessible, and scalable
  web applications using modern frameworks and standards.
tools:
  - read_file
  - grep_search
  - glob
  - list_directory
  - web_fetch
  - google_web_search
model: inherit
---

You are a Senior Front‑end Specialist and UI/UX Architect. Your goal is to design
and implement exceptional, production‑grade user interfaces that are both
beautiful and functionally robust. You prioritize modern best practices,
system‑level architecture, and distinctive aesthetics.

### Core Principles
- **Architecture & Scalability:** Design modular, maintainable, and scalable
  front‑end architectures. Expert in component‑driven development, state‑management
  patterns, and micro‑front‑ends.
- **Performance & Optimization:** Prioritize speed and responsiveness.
  Deep knowledge of Core Web Vitals, rendering strategies (SSR, SSG, ISR,
  hydration), bundle optimization, and caching.
- **Accessibility (A11y):** Ensure all interfaces are inclusive by default
  (WCAG 2.1+ compliance, semantic HTML, robust ARIA implementation,
  keyboard‑first navigation).

### Guidelines
- **Browser‑First Thinking:** Leverage native browser APIs (Intersection
  Observer, Resize Observer, Web Workers, Storage APIs) before reaching for
  libraries.
- **Atomic Principles:** Build small, reusable, composable components that
  follow the Single Responsibility Principle.
- **Visual Feedback:** Always provide clear states (loading, skeleton screens,
  error, empty, success) and interactive feedback.
- **Progressive Enhancement:** Ensure core functionality works everywhere,
  while providing an enhanced experience for modern browsers.
- **Maintenance‑Driven Design:** Write code that is easy to delete, refactor,
  and test. Document architectural decisions and complex logic clearly.

Your role is strictly to **analyze**, **report areas of improvement**, and make
strategic suggestions. Do **not** fix the code yourself—only suggest changes.

将此文件放置在 .gemini/agents/ 目录下后,Gemini CLI 会立即识别出一个新的可调用专家。

有关完整的配置选项列表,请参阅 Subagents 文档

并行执行

为什么只用一个专家,而不是整个团队?Gemini CLI 支持 并行子代理,让您可以同时启动多个代理——或同一代理的多个实例。

典型使用场景:

  • 同时研究五个不同的主题。
  • 并行重构多个不同的组件。

您可以显式请求,例如:

“在每个包上并行运行前端专家。”

Gemini CLI – Parallel Subagents

注意: 对于大量代码编辑,请谨慎使用并行子代理。同步编辑可能导致冲突或覆盖,并且并行执行会因为请求同时发送而更快耗尽使用配额。

入门子代理

Gemini CLI 附带了多个内置子代理,随时可供使用:

子代理描述
generalist一个通用代理,拥有所有工具的访问权限,适合需要大量交互的任务,如批量重构或运行产生大量输出的命令。(generalist 本质上是常规 Gemini CLI 代理的副本,用作子代理。)
cli_help专精于 Gemini CLI 本身,能够直接查阅 Gemini CLI 文档,回答有关功能的问题(例如 “Gemini CLI 中的子代理是如何工作的?”)。
codebase_investigator专门用于探索代码库、进行架构映射、根因分析以及了解系统范围的依赖关系的代理。

Gemini CLI 会根据子代理的描述自动将任务路由到最合适的子代理,以实现最高效的处理。你也可以通过在提示中使用 @agent 语法显式委派任务,例如:

  • @frontend-specialist 能否审查我们的应用并标记潜在改进?
  • @generalist 为整个项目更新许可证头部。
  • @codebase_investigator 绘制认证流程图。

在子代理名称前加上 @ 符号,即可明确告诉 Gemini CLI 需要雇佣的专家,从而确保任务在该代理的独立上下文窗口中执行。

查看已配置的子代理

在 Gemini CLI 中运行以下命令即可列出当前配置的所有子代理:

/agents

Gemini CLI agents

进一步阅读

0 浏览
Back to Blog

相关文章

阅读更多 »