Sub Agent
功能概述:Sub Agent是iFlow CLI的智能Agent系统,根据任务类型自动选择最合适的专业Agent处理请求。
学习时间:10-15分钟
前置要求:已安装iFlow CLI,了解基本的斜杠命令使用
什么是Sub
Sub Agent是iFlow CLI中的智能分工系统,类似于拥有一个专业团队,每个成员都有自己的专长领域。系统能够根据不同的任务类型自动选择最合适的专业Agent来处理您的请求,确保每个任务都能得到最专业的处理。
核心特点
| 特点 | 说明 | 优势 |
|---|---|---|
| 专业化分工 | 每个Sub Agent针对特定领域优化 | 提高任务处理质量 |
| 工具访问控制 | 不同Agent访问不同工具集合 | 安全性和效率兼顾 |
| 智能调度 | 根据任务描述自动选择Agent | 用户无需手动选择 |
| 模型验证 | 自动验证模型兼容性 | 确保最佳性能表现 |
| 动态扩展 | 支持自定义和第三方Agent | 满足个性化需求 |
工作原理
任务分析与Agent选择
用户请求 → 任务分析 → Agent匹配 → 工具授权 → 任务执行
↓
[描述内容] → [领域识别] → [最佳Agent] → [工具集合] → [专业处理]
Agent类型分类
- 开发类Agent:代码审查、前端开发、后端开发、测试等
- 分析类Agent:数据分析、性能分析、安全分析等
- 创作类Agent:文档编写、内容创作、翻译等
- 运维类Agent:部署管理、监控报警、故障诊断等
详细功能说明
Agent管理
查看可用Agent
| 命令 | 功能 | 说明 |
|---|---|---|
/agents list | 列出本地Agent | 显示已安装的Agent列表 |
/agents list desc | 详细描述 | 显示Agent的详细功能说明 |
/agents online | 在线市场 | 浏览可安装的Agent |
/agents install | 安装向导 | 创建新Agent的引导式安装 |
/agents refresh | 刷新Agent | 从源文件重新加载Agent配置 |
Agent市场导航
在线浏览操作
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 向下浏览 | j 或 ↓ | 移动到下一个选项 |
| 向上浏览 | k 或 ↑ | 移动到上一个选项 |
| 返回上级 | h | 返回上级目录 |
| 进入选中项 | l 或 Enter | 查看详细信息或安装 |
| 退出浏览 | q | 退出浏览模式 |
| 刷新列表 | r | 重新加载Agent列表 |
# 进入在线Agent市场
/agents online
Agent安装管理
通过CLI命令安装
# 添加项目级别的Agent
iflow agent add <agent-name-or-id> --scope project
# 添加用户级别的Agent(全局作用域)
iflow agent add <agent-name-or-id> --scope global
# 实际示例
iflow agent add python-expert --scope project
iflow agent add code-reviewer --scope global
# 其他管理命令
iflow agent list # 列出所有已配置的Agent
iflow agent remove <name> # 移除指定Agent
iflow agent get <name> # 查看Agent详细信息
iflow agent online # 浏览在线Agent市场
重要提醒:使用第三方Sub Agent时请谨慎选择!确保您信任要安装的Agent配置,特别是那些可能访问敏感数据的Agent。
引导式安装(推荐)
使用 /agents install 命令启动引导式安装向导,支持三种创建方式:
# 启动Agent安装向导
/agents install
安装向导功能:
-
智能创建模式:
- iFlow生成(推荐):通过智能引导创建Agent
- 手动配置:逐步手动配置Agent参数
- 在线仓库:从在线Agent仓库安装
-
配置选项:
- 安装位置选择(项目级别/用户级别)
- 工具权限配置
- MCP服务器访问权限
- 自定义系统提示词
- Agent外观颜色选择
-
向导导航:
- 使用方向键
↑/↓或j/k导航选项 Enter确认选择Esc返回上一步q退出向导
- 使用方向键
使用示例:
# 步骤1:启动安装向导
/agents install
# 步骤2:选择安装位置
→ Project Agent (仅当前项目可用)
User Agent (全局可用)
# 步骤3:选择创建方式
→ Generate with iFlow (recommended)
Manual configuration
From Online Repository
# 步骤4:描述Agent目标(iFlow模式)
Describe your agent goal: 审查代码安全性和最佳实践
# 步骤5:配置工具和权限
Select tools: [✓] Read [✓] Write [✓] Bash [ ] WebFetch
Select MCP servers: [✓] filesystem [✓] git
# 步骤6:预览并确认创建
Agent Type: code-security-reviewer
Description: 专门审查代码安全性和最佳实践的专家Agent
Tools: Read, Write, Bash
Location: Project Agent
手动安装
- 创建Agent目录
mkdir -p ~/.iflow/agents
- 创建自定义Agent
# 创建新的Agent文件
nano ~/.iflow/agents/my-agent.md
- 重启 CLI 加载新Agent
iflow
注意 iFlow CLI会使用Task工具调用Sub Agent
快速调用功能
使用 $ 符号快速调用
iFlow CLI支持使用 $ 符号快速调用Sub Agent,类似于 @ 符号选择文件的方式:
基本语法
$<agent-type> <任务描述>
使用示例
$code-reviewer 对当前项目进行代码审查
$frontend-developer 创建一个响应式的导航组件
$python-expert 优化这个算法的性能
$data-scientist 分析这个数据集的趋势
快速调用特性
| 特性 | 说明 | 优势 |
|---|---|---|
| 智能补全 | 输入 $ 后显示可用Agent列表 | 快速选择合适Agent |
| 快速执行 | 直接在当前对话中执行 | 无需额外配置步骤 |
| 实时反馈 | 显示Agent执行状态和过程 | 了解任务进展情况 |
| 可视化界面 | 工具调用过程可视化展示 | 提高用户体验 |
| 结果展示 | Agent响应直接显示在对话中 | 无缝集成到工作流 |
使用技巧
- 快速选择:输入
$后使用方向键或鼠标选择Agent类型 - 明确任务:提供清晰、具体的任务描述
- 上下文感知:Agent会自动获取当前项目的上下文信息
- 工具权限:Agent根据其配置获得相应的工具访问权限
预置Agent类型
内置Agent
| Agent类型 | 功能描述 | 适用场景 |
|---|---|---|
| general-purpose | 通用Agent | 复杂的多步骤任务 |
扩展Agent
更丰富的Agent可以通过心流AI在线市场进行快速安装,包括:
- 代码审查专家:专门用于代码质量检查
- 前端开发专家:专注于前端技术和UI开发
- 数据分析专家:处理数据分析和可视化任务
- 文档编写专家:专业的技术文档创作
使用示例
常见使用场景
代码审查
$code-reviewer 请对当前项目进行全面的代码审查,关注代码质量和最佳实践
前端开发
$frontend-developer 创建一个响应式的用户登录组件,支持表单验证
数据分析
$data-scientist 分析sales_data.csv中的销售趋势,生成可视化图表
文档编写
$doc-writer 为这个API端点编写详细的技术文档和使用示例
Agent协作场景
多个Agent可以在同一个项目中协作工作:
# 首先进行代码审查
$code-reviewer 检查当前代码的安全性问题
# 然后优化性能
$performance-expert 基于审查结果优化代码性能
# 最后生成文档
$doc-writer 为优化后的代码生成完整文档
智能模型管理
自动模型验证
| 功能 | 说明 | 优势 |
|---|---|---|
| 兼容性检测 | 执行前自动检查模型支持情况 | 避免执行错误 |
| 智能推荐 | 推荐最佳替代模型 | 保证任务质量 |
| 用户选择 | 提供模型选择对话框 | 保持用户控制权 |
| 偏好记忆 | 记住用户的模型选择偏好 | 简化后续操作 |
模型切换模式
交互模式(默认)
- 显示模型选择对话框
- 用户可以从可用模型列表中选择替代模型
- 支持"一次性"和"永久记住"两种选择
YOLO模式
- 自动使用推荐的替代模型
- 显示警告信息说明模型切换情况
- 无需用户干预,快速执行
自定义Agent配置
配置文件管理
在项目的 .iflow/agents/ 目录中创建自定义Agent配置:
---
agentType: "custom-expert"
systemPrompt: "你是一个自定义领域的专家..."
whenToUse: "当需要处理特定领域任务时使用"
model: "claude-3-5-sonnet-20241022"
allowedTools: ["*"]
proactive: false
---
# Custom Expert Agent
这是一个自定义专家Agent的详细说明...
配置属性说明
必需属性
| 属性 | 类型 | 说明 |
|---|---|---|
| agentType | 字符串 | Agent的唯一标识符 |
| systemPrompt | 字符串 | Agent的系统提示词 |
| whenToUse | 字符串 | 何时使用此Agent的说明 |
可选属性
| 属性 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| model | 字符串 | 偏好的AI模型 | - |
| allowedTools | 数组 | 可使用的工具列表 | [] |
| allowedMcps | 数组 | 允许访问的MCP服务器列表 | [] |
| isInheritTools | 布尔值 | 是否继承父级Agent的工具权限 | true |
| isInheritMcps | 布尔值 | 是否继承父级Agent的MCP权限 | true |
| proactive |