mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-07-23 06:23:42 +08:00
perf(skills): 智能体 CRUD 四技能提示词改写压缩(功能不变,~65%) (#56)
## 摘要 / Summary ### 中文 四个智能体管理技能(create/update/delete/discover-agent)改用 `ManageAgent` 内置工具后,正文与工具契约大量重叠——ManageAgent 的 description + params 已**常驻每次 query 的上下文**,声明了五个 action 语义、参数约束、权限硬边界、错误语义、字段级合并、确认行为、list/get 返回格式;技能正文里再复述即冗余。本次对四技能做**强改写·语境融合**压缩: - 与工具契约重复的说明(参数/权限/错误码/确认行为/成功返回话术)**改写融入对应流程步骤**(如错误处理表 → 阶段一句、确认行为 → 阶段一句),不再照抄、不再表格化。 - 装饰性 ASCII 流程框图 → 一行文字流程;update 内部两张重复更新表 → 合并;YAML 元数据块(diff_metadata/context_handoff)融入流程;冗长示例(create 三份 JSON、update 附录 4 示例、discover ASCII 卡片)就地精简为代表示意。 - **不外置 references、不净删除任何内容**:所有决策/领域/交互意图完整保留——领域匹配表、persona/principles 的 L0/L1/L2 生成规范、update 两路径分流与字段级合并 vs 整体替换、防幻觉改名、回滚流程、discover 需求维度与无匹配衔接 create 等核心一字未丢。 zh 正文合计 **26542 → 9196 字符(降 ~65%)**;中英双份同步改写、逐段对齐,重算 i18n source_hash(validate-i18n 通过)。版本 create 2.5.1 / update 3.1.2 / delete 2.5.1 / discover 2.6.1,manifest 1.2.12。 ### English After the four agent-management skills adopted the `ManageAgent` builtin tool, their bodies heavily duplicated the tool contract — ManageAgent's description + params are **resident in every query's context** (action semantics, param constraints, permission hard-boundaries, error semantics, field-level merge, confirmation behavior, list/get return formats). This PR compresses all four via **aggressive rewrite + contextual fusion**: contract-duplicating text is rewritten into the relevant flow steps (not copied, not tabularized), decorative ASCII flow boxes become one-line text, update's two duplicate tables are merged, YAML metadata blocks are folded in, and long examples are trimmed in place to representative sketches. **No references externalization, no net deletion** — every decision/domain/interaction intent is preserved (domain matching table, persona/principles L0/L1/L2 generation spec, update's two-path split and field-level-merge-vs-full-replace, anti-hallucination rename, rollback flow, discover's need dimensions and create hand-off). zh bodies total **26542 → 9196 chars (~65% down)**; both locales rewritten and aligned, i18n source hashes recomputed (validate-i18n passes). Versions bumped, manifest 1.2.12.
This commit is contained in:
@@ -4,180 +4,49 @@
|
||||
|
||||
## L0:一句话摘要
|
||||
|
||||
安全删除指定的智能体及其关联数据,包括文件系统、内存状态和可选的会话历史。
|
||||
安全删除指定的智能体及其关联数据(文件系统、内存状态、可选会话历史)。
|
||||
|
||||
## L1:概述与使用场景
|
||||
## L1:概述
|
||||
|
||||
### 能力描述
|
||||
|
||||
delete-agent 是一个**元技能(Meta-Skill)**,赋予 DesireCore 安全删除其他智能体的能力。它通过进程内内置工具 **ManageAgent** 执行完整的前置检查、状态验证,并清理所有关联数据。
|
||||
|
||||
### 使用场景
|
||||
|
||||
- 用户想要清理不再使用的智能体
|
||||
- 删除测试或实验性质的临时智能体
|
||||
- 释放存储空间,删除旧智能体及其历史记录
|
||||
- 用户明确要求"删除"、"移除"某个智能体
|
||||
|
||||
### 核心价值
|
||||
|
||||
- **安全性**:工具层多重拒绝规则确保不会误删核心智能体、调用方自身或活跃智能体
|
||||
- **完整性**:清理文件系统、内存状态、消息订阅等所有关联数据,并处理团队级联
|
||||
- **可恢复性**:默认保留会话历史,可选择是否删除
|
||||
元技能:列出候选 → 确认意图(不可恢复)→ 询问是否删历史 → `ManageAgent(action='delete')` 执行。价值在工具给不了的部分:候选筛选与状态引导、删除前的意图确认。工具层多重拒绝(核心体 / 自身 / 活跃态)与团队级联由工具保证。
|
||||
|
||||
## L2:详细规范
|
||||
|
||||
### 执行流程
|
||||
流程:列出可选智能体 → 确认意图与目标 → 询问是否删历史 → 执行删除 → 回执。
|
||||
|
||||
### 阶段 1:列出候选
|
||||
|
||||
用户未指定具体智能体时,`ManageAgent(action='list')` 取列表,按状态分组展示:`offline` / `error` 可安全删除;`online` / `busy` / `recovery` 标注"需先停止"(会被工具拒绝),不进入后续流程。需详情用 `ManageAgent(action='get', id)`。例如:
|
||||
|
||||
```
|
||||
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
||||
│ 列出可选 │ ──→ │ 确认意图 │ ──→ │ 询问选项 │
|
||||
│ 智能体 │ │ 与目标 │ │ (删除历史?) │
|
||||
└──────────────┘ └──────────────┘ └──────────────┘
|
||||
│
|
||||
↓
|
||||
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
||||
│ 返回结果 │ ←── │ 执行删除 │ ←── │ 告知会弹确认 │
|
||||
│ 与回执 │ │ ManageAgent │ │ │
|
||||
└──────────────┘ └──────────────┘ └──────────────┘
|
||||
可删除:法律顾问助手 (legal-assistant, offline)、测试机器人 (test-bot, offline)
|
||||
需先停止:数据分析师 (data-analyst, online)
|
||||
```
|
||||
|
||||
### 阶段 1:列出可删除的智能体
|
||||
### 阶段 2:确认意图
|
||||
|
||||
**触发条件**:用户表达删除意图但未指定具体智能体
|
||||
|
||||
**操作**:
|
||||
|
||||
- 调用 `ManageAgent(action='list')` 获取所有智能体列表
|
||||
- 筛选出状态为 `offline` 或 `error` 的智能体(可安全删除)
|
||||
- 标注出 `online`/`busy`/`recovery` 状态的智能体(需先停止,否则会被工具拒绝)
|
||||
- 如需查看某个智能体的详细信息,调用 `ManageAgent(action='get', id='<agent-id>')`
|
||||
|
||||
**输出示例**:
|
||||
|
||||
```
|
||||
可删除的智能体:
|
||||
1. 法律顾问助手 (legal-assistant) - 状态: offline
|
||||
2. 测试机器人 (test-bot) - 状态: offline
|
||||
|
||||
当前活跃的智能体(需先停止才能删除):
|
||||
- 数据分析师 (data-analyst) - 状态: online
|
||||
```
|
||||
|
||||
### 阶段 2:确认用户意图与目标
|
||||
|
||||
**确认要点**:
|
||||
|
||||
- 用户指定的智能体名称/ID
|
||||
- 明确告知删除操作不可恢复
|
||||
- 展示智能体基本信息供用户确认
|
||||
|
||||
**对话示例**:
|
||||
|
||||
```
|
||||
您要删除智能体 "法律顾问助手" (legal-assistant)。
|
||||
⚠️ 警告:此操作不可恢复,该智能体的所有配置、技能、工具将被永久删除。
|
||||
|
||||
确认删除?(是/否)
|
||||
```
|
||||
向用户确认目标智能体(名称/ID),**明确告知不可恢复**(配置、技能、工具将永久删除),展示基本信息,等用户确认。
|
||||
|
||||
### 阶段 3:询问删除选项
|
||||
|
||||
**询问内容**:
|
||||
问是否同时删除该智能体的全部会话历史:是 → `deleteRuns=true`;否 → `deleteRuns=false`(默认、可省略,保留历史)。
|
||||
|
||||
```
|
||||
是否同时删除该智能体的所有会话历史?
|
||||
- 是:删除智能体及其所有对话记录
|
||||
- 否:保留会话历史,仅删除智能体本身
|
||||
### 阶段 4:执行删除
|
||||
|
||||
默认选项:否(保留历史)
|
||||
```
|
||||
|
||||
**参数映射**:
|
||||
|
||||
- 用户选择"是" → `deleteRuns=true`
|
||||
- 用户选择"否" → `deleteRuns=false`(默认,可省略)
|
||||
|
||||
### 阶段 4:告知工具级确认
|
||||
|
||||
`ManageAgent` 的 delete 动作在工具层**始终触发用户确认弹窗**,无需在技能层再重复一遍二次确认话术。但在调用前应先告知用户:
|
||||
|
||||
```
|
||||
即将删除智能体 "法律顾问助手" (legal-assistant),删除范围为智能体 + 会话历史(如用户选择)。
|
||||
系统会弹出确认窗口,请在弹窗中确认执行。
|
||||
```
|
||||
|
||||
### 阶段 5:执行删除(ManageAgent 工具)
|
||||
|
||||
**工具调用**:
|
||||
调用前告知用户"系统会弹确认窗,请在弹窗中确认"(delete 由工具层强制弹确认)。执行:
|
||||
|
||||
```
|
||||
ManageAgent(action='delete', id='legal-assistant', deleteRuns=true)
|
||||
```
|
||||
|
||||
**参数**:
|
||||
确认后完成删除,含团队级联:目标是组长的团队自动解散,是成员的自动移除。
|
||||
|
||||
- `id`:目标智能体 ID(必填)
|
||||
- `deleteRuns`:`true` 一并删除全部会话历史;`false`(默认)保留历史,可省略
|
||||
### 阶段 5:回执
|
||||
|
||||
工具会在执行前弹出用户确认;确认后完成删除,包含团队级联处理:目标是组长的团队自动解散,是成员的自动移除。
|
||||
据工具返回(已清理路径、删除会话数、内存清理详情)生成用户友好报告(不暴露内部路径),例如「✅ 已删除 XXX;清理了文件系统 / 调度 / 订阅 / MCP / N 条会话历史 / 团队级联」。
|
||||
|
||||
### 阶段 6:返回操作结果
|
||||
### 删除范围与边界
|
||||
|
||||
**成功回执处理**:工具返回删除结果,包含已清理路径、删除的会话数量、内存状态清理详情等字段。据此生成报告。
|
||||
|
||||
**结果报告模板**:
|
||||
|
||||
```
|
||||
✅ 智能体 "法律顾问助手" 已成功删除
|
||||
|
||||
清理详情:
|
||||
- 文件系统:已删除 2 个目录
|
||||
- 调度器:已停止所有定时任务
|
||||
- 消息订阅:已取消 3 个订阅
|
||||
- MCP 连接:已关闭
|
||||
- 会话历史:已删除 5 条记录
|
||||
- 团队级联:目标所在团队已解散/已从团队移除(如涉及)
|
||||
```
|
||||
|
||||
## 状态验证与错误处理
|
||||
|
||||
### 删除前状态检查
|
||||
|
||||
在阶段 1 列出智能体时,通过 `ManageAgent(action='list')` 返回的状态筛选:
|
||||
|
||||
| 状态 | 可否删除 | 阶段 1 展示方式 |
|
||||
| ------------------------------ | ----------- | ------------------------------ |
|
||||
| `offline` / `error` | ✅ 可删除 | 列入"可删除"列表 |
|
||||
| `online` / `busy` / `recovery` | ❌ 需先停止 | 标注"需先停止",不进入后续流程 |
|
||||
|
||||
> 活跃状态(online/busy/recovery)的智能体会被 `ManageAgent` 的 delete 动作直接拒绝。应提示用户在 UI 中手动停止该智能体,或等待其完成当前任务后再删除。
|
||||
|
||||
### 工具返回的错误语义
|
||||
|
||||
`ManageAgent(action='delete', ...)` 在以下情形会返回明确错误,应据此向用户解释并给出下一步建议:
|
||||
|
||||
| 拒绝场景 | 触发条件 | 处理方式 |
|
||||
| ---------------- | -------------------------------------------------------------- | -------------------------------------- |
|
||||
| 核心智能体拒绝 | 目标为核心智能体(desirecore/core/绑定 UUID) | 告知用户核心智能体不可删除 |
|
||||
| 自删拒绝 | 目标为调用方自身 | 告知用户智能体不能删除自己 |
|
||||
| 活跃状态拒绝 | 目标处于 `online`/`busy`/`recovery` 状态 | 提示用户先在 UI 中停止该智能体 |
|
||||
| 不存在 | 目标 ID 对应的智能体不存在 | 告知用户智能体已被删除或 ID 有误 |
|
||||
|
||||
## 删除范围说明
|
||||
|
||||
| 类别 | 删除内容 | 条件 |
|
||||
| ------------ | -------------------------------------------------------------------------------------------------------------------------- | ----------------- |
|
||||
| **始终删除** | AgentFS 目录(配置、人格、规则、技能、工具、记忆)、用户偏好数据、内存状态(调度器、队列、消息订阅、MCP 连接)、注册表条目 | 无条件 |
|
||||
| **可选删除** | 会话历史、话题索引 | `deleteRuns=true` |
|
||||
| **团队级联** | 目标是组长 → 解散其团队;目标是成员 → 从团队移除 | 自动 |
|
||||
| **保留不删** | 其他智能体数据、用户配置、全局设置、市场缓存 | — |
|
||||
|
||||
## 权限要求
|
||||
|
||||
- 通过进程内内置工具 `ManageAgent` 完成智能体的列出、查询与删除
|
||||
- delete 动作为高风险操作,工具层会强制弹出用户确认
|
||||
|
||||
## 依赖
|
||||
|
||||
- 进程内内置工具 `ManageAgent`(`action='list' | 'get' | 'delete'`)
|
||||
- **始终删**:AgentFS 目录(配置/人格/规则/技能/工具/记忆)、用户偏好数据、内存状态(调度器/队列/消息订阅/MCP 连接)、注册表条目。**可选删**(`deleteRuns=true`):会话历史与话题索引。**团队级联**(自动):组长 → 解散团队、成员 → 移除。**保留不删**:其他智能体、用户配置、全局设置、市场缓存。
|
||||
- 工具拒绝场景据此向用户解释并给下一步:核心智能体(desirecore / core / 绑定 UUID)不可删;不能删调用方自身;活跃态(online/busy/recovery)需先在 UI 停止或等其空闲;ID 不存在则智能体已删或 ID 有误。
|
||||
- 一律经 `ManageAgent`(`action='list' | 'get' | 'delete'`)完成;delete 为高风险操作,工具层强制弹确认。
|
||||
|
||||
Reference in New Issue
Block a user