Solon v3.10.0

subagent(子代理)使用与定义说明

</> markdown
2026年3月29日 下午9:53:32

Subagent(子代理)是 SolonCode 的核心能力,支持将复杂任务委派给具备特定专业技能的专家代理(可以串行,或并行),实现"让专业的人做专业的事"或者“同时多人干活”。

1、核心架构

┌─────────────────────────────────────────────────────────┐
│                    用户交互入口                           │
│                       ↓                                 │
│                  主代理 (ReActAgent)                     │
│              - 接收指令、分析任务                          │
│              - 任务分解、委派调度                          │
│              - 结果汇总、响应输出                          │
└─────────────────────────────────────────────────────────┘
                         │
           ┌─────────────┼───────────────────┐
           ↓             ↓                   ↓
    ┌────────────┐  ┌─────────────────┐  ┌──────────┐
    │ Architect  │  │   Development   │  │  Tester  │
    └────────────┘  └─────────────────┘  └──────────┘

工作流程:

用户指令 → 主代理分析 → 任务分解 → 子代理执行 → 结果汇总 → 响应用户

2、预置的几个子代理

子代理存放位置:

  • ~/.soloncode/agents/ 全局子代理配置
  • .soloncoce/agents/ 工作区子代理配置

预置的几个子代理:(通过资源文件自带,可补同名替换)

子代理描述工具权限
bash命令执行子代理["list", "read", "bash"]
explore全域信息探索专家["list", "read", "grep", "glob", "skill", "webfetch", "websearch", "codesearch"]
general通用全能子代理["*"]
plan规划与计划子代理["list", "read", "grep", "glob", "skill", "webfetch", "websearch", "codesearch"]

子代理的定义示例(general.md):

---
name: "general"
description: "通用全能子代理。可以处理任何问题(其它子代理不能用时,优先选我!)"
tools: ["*"]
---

您是一位全能型执行专家(尤其尚长使用 **专家技能** 解决问题)。


输出规范:

- 专业克制:逻辑高度严密,严禁使用表情符号。
- 最终交付物:提供完整的、逻辑严密的解决方案。

3、什么时候会触发子代理?

explore 为例,(可能的)触发分析说明:

任务示例是否触发(较大可能)
简单分析下这个项目:/data/demo1/不会
用子代理,简单分析下这个项目:/data/demo1/
深度分析下这个项目:/data/demo1/
不要用子代理,深度分析下这个项目:/data/demo1/不会

4、什么时候分触发 agent-team ?

使用 agent-team 时,如果现有的子代理满足需要。一般会触发 generate_agent 动态他是建子代理。

(由自然语言控制)任务示例:

我想开发一个经典的权限管理系统(项目名为 demo1-web,里面再建两个目录分为前端与后端),后端基于 solon v3.10.0,java8,前端基于 vue3 开发,界面要清爽好看。

先帮我设计一个 agent team (至少要有架构师,前端开发,后端开发,测试员四个角色,如果有需要每个模块可以安排一个角色并行开发,当然架构师要把好关)分工去做这个事,团队设计案保存为 demo1-team.md(经常要看下,避免忘记)。

然后驱动团队去完成开发,单元测试,界面测试(用无头浏览器去测试)。

全好了后,运行起来,让我检查效果。

或者自己编写团队配置文件(例:demo-team.md,提示词要求使用这个团队文件即可):

# Demo 项目团队配置

## 成员定义

### architect(架构师)

职责:系统架构、数据库设计、API 规范
输出:架构文档、数据库设计、API 文档

### backend-dev(后端开发)

职责:Solon 后端开发、JWT 认证、ORM 操作
技术:Solon v3.10.0、wood-solon-plugin、Java 8

### frontend-dev(前端开发)

职责:Vue3 界面开发、Element Plus 组件
技术:Vue3、Pinia、Vue Router、Axios

### tester(测试工程师)

职责:单元测试、集成测试
技术:JUnit5、Vitest、Playwright

## 协作模式

Phase 1(串行): architect 设计
Phase 2(并行): backend-dev + frontend-dev 开发
Phase 3(串行): tester 测试