Files
agent-desirecore/skills/discover-agent/SKILL.md

230 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: discover-agent
description: 根据用户需求推荐最匹配的智能体展示候选列表并引导选择。Use when 用户描述需求但不确定该找哪个智能体帮忙,或想浏览可用的智能体。
version: "1.0.0"
type: procedural
risk_level: low
status: enabled
disable-model-invocation: false
requires:
tools:
- fetch_api
tags: [agent, discovery, recommendation]
metadata:
author: desirecore
updated_at: "2026-02-17"
---
# discover-agent 技能
## L0一句话摘要
根据用户需求描述,在已注册的智能体中匹配并推荐最合适的 Agent。
## L1概述与使用场景
### 能力描述
discover-agent 是一个**流程型技能Procedural Skill**,赋予 DesireCore 为用户发现和推荐合适智能体的能力。它通过理解用户需求描述,在已注册的 Agent 列表中进行多维度匹配,展示候选列表供用户选择。
### 使用场景
- 用户描述了一个需求,但不知道该找哪个智能体帮忙
- 用户想浏览当前可用的智能体及其能力
- 用户需要为特定任务找到最合适的专业助手
- 新用户初次使用系统,需要了解有哪些智能体可用
### 核心价值
- **降低门槛**:用户无需记住每个智能体的名称和能力
- **精准匹配**:基于需求语义进行智能推荐,而非简单关键词搜索
- **流畅衔接**:无匹配时自动建议创建新 Agent衔接 create-agent 技能)
## L2详细规范
### 执行流程
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 需求理解 │ ──→ │ Agent 检索 │ ──→ │ 匹配评分 │
└──────────────┘ └──────────────┘ └──────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 引导选择 │ ←── │ 结果展示 │ ←── │ 候选排序 │
└──────────────┘ └──────────────┘ └──────────────┘
```
### 阶段 1需求理解
**触发条件**(任一满足):
- 用户说"帮我找一个..."、"有没有..."、"谁能帮我..."
- 用户描述了一个任务但未指定具体智能体
- 用户说"有哪些智能体"、"看看都有谁"
- 系统检测到用户需求与当前 Agent 能力不匹配
**需求解析**
从用户描述中提取以下维度:
| 维度 | 说明 | 示例 |
|------|------|------|
| `domain` | 专业领域 | 法律、财务、技术、教育 |
| `task_type` | 任务类型 | 咨询、审查、分析、创作 |
| `keywords` | 关键词 | 合同、报表、代码、论文 |
| `urgency` | 紧急程度 | 日常 / 紧急 |
### 阶段 2Agent 检索
**数据源**:调用 `GET /api/agents` 获取所有已注册的智能体列表。
**API 调用**
```bash
GET /api/agents
```
**返回数据中的关键字段**
- `id` — 智能体唯一标识
- `name` — 智能体名称
- `description` — 智能体描述
- `skills` — 技能列表
- `status` — 当前状态online/offline/busy
**过滤规则**
- 默认只展示 `status: online``status: offline` 的智能体
- 排除系统内部智能体(如 DesireCore 自身,除非用户显式要求)
### 阶段 3匹配评分
**匹配维度与权重**
| 维度 | 权重 | 说明 |
|------|------|------|
| 描述相似度 | 40% | 智能体 description 与用户需求的语义相似度 |
| 技能匹配 | 30% | 智能体拥有的 skills 与任务类型的关联度 |
| 领域匹配 | 20% | 智能体专业领域与用户需求领域的匹配度 |
| 可用性 | 10% | 智能体当前状态online 优先于 offline |
**评分规则**
- 每个维度 0-100 分
- 加权计算综合得分
- 综合得分 >= 60 为"推荐"
- 综合得分 40-59 为"可能相关"
- 综合得分 < 40 不展示
### 阶段 4候选排序
**排序规则**
1. 按综合得分降序排列
2. 同分时 online 状态优先
3. 最多展示 5 个候选
### 阶段 5结果展示
**有匹配结果时**
```
根据你的需求,我推荐以下智能体:
┌─────────────────────────────────────────────────────┐
│ 1. 法律顾问助手 匹配度: 92% │
│ 专注合同审查和法律风险评估 │
│ 技能:合同审查、风险评估、法律研究 │
│ 状态:在线 │
├─────────────────────────────────────────────────────┤
│ 2. AI 文书助手 匹配度: 71% │
│ 专业文书撰写和格式优化 │
│ 技能:文书撰写、格式排版、合规检查 │
│ 状态:在线 │
├─────────────────────────────────────────────────────┤
│ 3. 数据分析师 匹配度: 45% │
│ 数据分析和可视化报告 │
│ 技能:数据分析、报表生成、趋势预测 │
│ 状态:离线 │
└─────────────────────────────────────────────────────┘
请选择一个智能体,或告诉我更具体的需求。
```
**无匹配结果时**
```
目前没有找到完全匹配你需求的智能体。
你可以:
1. 用更具体的描述再试一次
2. 创建一个新的专业智能体(我可以帮你)
3. 浏览所有可用的智能体
你想怎么做?
```
**浏览模式**(用户要求查看所有):
```
当前可用的智能体:
在线:
- 法律顾问助手 — 合同审查和法律风险评估
- AI 文书助手 — 专业文书撰写和格式优化
离线:
- 数据分析师 — 数据分析和可视化报告
- 翻译助手 — 多语言翻译和本地化
共 4 个智能体。需要了解某个智能体的详细信息吗?
```
### 阶段 6引导选择
**用户选择后的操作**
| 用户选择 | 后续操作 |
|---------|---------|
| 选择了某个智能体 | 切换到该智能体的对话,传递用户需求上下文 |
| 要求了解更多 | 展示该智能体的详细信息persona、skills、最近活跃时间 |
| 不满意候选 | 引导用户细化需求或建议创建新 Agent |
| 选择"创建新的" | 调用 create-agent 技能,传递已收集的需求信息 |
**切换上下文传递**
```yaml
context_handoff:
source_agent: desirecore
target_agent: legal-assistant
user_intent: "帮我审查这份合同的风险点"
discovery_metadata:
match_score: 92
match_dimensions:
description: 95
skills: 90
domain: 88
availability: 100
```
### 与其他技能的协作
| 协作技能 | 协作方式 |
|---------|---------|
| create-agent | 无匹配时建议创建新 Agent传递用户需求作为初始信息 |
| task-management | 匹配成功后可自动创建任务并分配给目标 Agent |
### 错误处理
| 错误场景 | 处理方式 |
|---------|---------|
| API 调用失败 | 提示网络错误,建议稍后重试 |
| Agent 列表为空 | 引导用户创建第一个智能体 |
| 用户描述过于模糊 | 追问具体需求,提供领域选项引导 |
| 推荐的 Agent 状态异常 | 标注状态,建议选择其他在线 Agent |
### 权限要求
- 需要调用 `fetch_api` 工具访问 Agent 列表 API
- 只读操作,无风险
### 依赖
- Agent Service HTTP API`GET /api/agents`
- Agent Registry 状态查询