--- name: discover-agent description: 根据用户需求推荐最匹配的智能体,展示候选列表并引导选择。Use when 用户描述需求但不确定该找哪个智能体帮忙,或想浏览可用的智能体。 version: 2.1.0 type: procedural risk_level: low status: enabled disable-model-invocation: false tags: - agent - discovery - recommendation metadata: author: desirecore version: 2.1.0 updated_at: '2026-02-26' market: icon: >- short_desc: 根据需求描述智能推荐最匹配的智能体,引导快速选择 category: productivity maintainer: name: DesireCore Official verified: true compatible_agents: [] channel: latest --- # discover-agent 技能 ## L0:一句话摘要 根据用户需求描述,在已注册的智能体中匹配并推荐最合适的 Agent。 ## L1:概述与使用场景 ### 能力描述 discover-agent 是一个**流程型技能(Procedural Skill)**,赋予 DesireCore 为用户发现和推荐合适智能体的能力。它通过理解用户需求描述,在已注册的 Agent 列表中进行多维度匹配,展示候选列表供用户选择。 ### 使用场景 - 用户描述了一个需求,但不知道该找哪个智能体帮忙 - 用户想浏览当前可用的智能体及其能力 - 用户需要为特定任务找到最合适的专业助手 - 新用户初次使用系统,需要了解有哪些智能体可用 ### 核心价值 - **降低门槛**:用户无需记住每个智能体的名称和能力 - **精准匹配**:基于需求语义进行智能推荐,而非简单关键词搜索 - **流畅衔接**:无匹配时自动建议创建新 Agent(衔接 create-agent 技能) ## L2:详细规范 ### 执行流程 ``` ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 需求理解 │ ──→ │ Agent 检索 │ ──→ │ 匹配评分 │ └──────────────┘ └──────────────┘ └──────────────┘ │ ↓ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 引导选择 │ ←── │ 结果展示 │ ←── │ 候选排序 │ └──────────────┘ └──────────────┘ └──────────────┘ ``` ### 阶段 1:需求理解 **触发条件**(任一满足): - 用户说"帮我找一个..."、"有没有..."、"谁能帮我..." - 用户描述了一个任务但未指定具体智能体 - 用户说"有哪些智能体"、"看看都有谁" - 系统检测到用户需求与当前 Agent 能力不匹配 **需求解析**: 从用户描述中提取以下维度: | 维度 | 说明 | 示例 | |------|------|------| | `domain` | 专业领域 | 法律、财务、技术、教育 | | `task_type` | 任务类型 | 咨询、审查、分析、创作 | | `keywords` | 关键词 | 合同、报表、代码、论文 | | `urgency` | 紧急程度 | 日常 / 紧急 | ### 阶段 2:Agent 检索 **数据源**:调用 `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 | ### 权限要求 - 建议优先通过 `Bash` 工具调用 curl 访问 Agent Service HTTP API 完成操作 - API 基础地址已注入到 system prompt 的「本机 API」小节,直接引用即可 - 只读操作,无风险 ### 依赖 - Agent Service HTTP API(`GET /api/agents`) - System prompt 中的本机 API 地址声明