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:
2026-07-19 15:16:43 +08:00
committed by GitHub
parent 64d295a489
commit d52e61e041
13 changed files with 302 additions and 1804 deletions

View File

@@ -6,235 +6,74 @@
通过自然语言对话收集需求,调用 ManageAgent 内置工具创建专业化的数字智能体。
## L1概述与使用场景
## L1概述
### 能力描述
create-agent 是一个**元技能Meta-Skill**,赋予 DesireCore 创建其他 Agent 的能力。它通过多轮对话收集用户需求,生成 persona 和 principles 内容,调用 `ManageAgent` 内置工具完成创建。
### 使用场景
- 用户想要一个专业领域的数字助手(如法律顾问、财务分析师)
- 企业需要快速部署定制化的业务 Agent
- 开发者需要基于模板快速创建 Agent 原型
### 核心价值
- **降低门槛**:无需编程知识,用对话就能创建 Agent
- **专业化**:根据领域模板生成合适的 persona 和 principles
- **可治理**:创建的仓库符合 AgentFS v2 规范,支持版本管理
元技能:多轮对话收集需求 → 生成 persona/principles → `ManageAgent(action='create')` 落地。用于为用户培养某专业领域的数字助手(法律顾问、财务分析师等)。价值在工具给不了的部分:领域化的人格/原则生成 + 创建前的预览确认。
## L2详细规范
### 对话流程
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 意图识别 │ ──→ │ 需求收集 │ ──→ │ 内容生成 │
└──────────────┘ └──────────────┘ └──────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 回执生成 │ ←── │ 工具创建 │ ←── │ 用户确认 │
└──────────────┘ └──────────────┘ └──────────────┘
```
流程:意图识别 → 需求收集 → 内容生成 → 用户确认 → 创建 → 回执。
### 阶段 1意图识别
**触发条件**(任一满足):
- 用户明确说"创建一个 Agent"或"帮我做一个助手"
- 用户描述需要某领域的专业帮助,且当前 Agent 不具备该能力
- 用户询问"能不能帮我培养一个..."
**输出**:确认用户的创建意图,进入需求收集阶段。
触发(任一):用户明说"创建 Agent / 帮我做个助手";描述某领域专业需求而当前 Agent 不具备;问"能不能培养一个…"。确认意图后进入需求收集。
### 阶段 2需求收集
**必填信息**
| 字段 | 说明 | 引导问题示例 |
| -------------- | ---------- | ------------------------------ |
| `name` | 智能体名称 | "你想给这个智能体起什么名字?" |
| `role` | 核心职责 | "它主要负责什么工作?" |
| `target_users` | 目标用户 | "谁会使用这个智能体?" |
| `domain` | 专业领域 | "它需要哪些专业知识?" |
**选填信息**
| 字段 | 说明 | 默认值 |
| ------------ | --------- | ---------------- |
| `style` | 沟通风格 | 根据领域模板决定 |
| `boundaries` | 禁区/红线 | 根据领域模板决定 |
| `language` | 主要语言 | 中文 |
**收集策略**
- 优先通过用户的自然描述推断信息
- 仅追问用户未提及的必填项
- 每轮最多追问 2 个问题
- 必填:`name`(名称)、`role`(核心职责)、`target_users`(目标用户)、`domain`(专业领域)。
- 选填:`style`(沟通风格)、`boundaries`(禁区/红线)、`language`(默认中文)——缺省由领域模板决定。
- 策略:优先从用户自然描述推断,只追问未提及的必填项,每轮最多问 2 个。
### 阶段 3内容生成
根据收集的需求,组装结构化的 persona principles 数据。**不要输出原始 markdown**,而是按字段整理后向用户展示。
按结构化字段组织 persona principles(不要输出 raw markdown按字段整理后再展示)。未收集到的字段留空,由系统补全默认:
**Persona 字段**(所有字段均可选,未收集到的由系统自动补全):
- **persona**L0 一句话核心身份L1 `role`(角色定位)/ `personality`(特征标签数组)/ `communication_style`沟通风格L2 专业领域、价值观、决策偏好free-form
- **principles**L0 一句话最高原则L1 `must_do` / `must_not`(安全红线)/ `priority`优先级排序L2 治理原则、升级规则free-form
| 层级 | 字段 | 说明 |
| ---- | --------------------- | --------------------------------------------- |
| L0 | — | 一句话核心身份 |
| L1 | `role` | 角色定位 |
| L1 | `personality` | 性格特征标签 |
| L1 | `communication_style` | 沟通风格 |
| L2 | — | 专业领域、核心价值观、决策偏好等free-form |
**领域匹配参考**(据 domain 推荐人格与红线):
**Principles 字段**(同样全部可选):
| 层级 | 字段 | 说明 |
| ---- | ---------- | --------------------------------- |
| L0 | — | 一句话最高原则 |
| L1 | `must_do` | 必须做的事项 |
| L1 | `must_not` | 绝不做的事项(安全红线) |
| L1 | `priority` | 优先级排序 |
| L2 | — | 治理原则、升级规则等free-form |
**领域匹配参考**
| 领域关键词 | 推荐 personality | 默认 must_not |
| ---------------- | ------------------ | ---------------------------------- |
| 法律、合同、法务 | 专业、严谨、审慎 | 不提供诉讼代理、不替代正式法律意见 |
| 财务、会计、投资 | 精确、分析性、保守 | 不提供投资建议、不处理真实交易 |
| 代码、开发、架构 | 逻辑、务实、直接 | 不直接访问生产环境、不存储凭证 |
| 通用/其他 | 友好、有帮助 | 通用安全规范 |
| 领域 | 推荐 personality | 默认 must_not |
| --- | --- | --- |
| 法律 / 合同 / 法务 | 专业、严谨、审慎 | 不提供诉讼代理、不替代正式法律意见 |
| 财务 / 会计 / 投资 | 精确、分析性、保守 | 不提供投资建议、不处理真实交易 |
| 代码 / 开发 / 架构 | 逻辑、务实、直接 | 不直接访问生产环境、不存储凭证 |
| 通用 / 其他 | 友好、有帮助 | 通用安全规范 |
### 阶段 4用户确认
向用户展示预览时,以自然语言/表格形式呈现各字段,**不展示原始 markdown 源码**
以自然语言/表格向用户展示预览(名称、描述、人格设定、行为原则;**不展示 raw markdown 源码**),例如
> 即将创建智能体:
>
> **名称**:法律顾问小助手
> **描述**:专注于合同审查和法律风险评估的数字智能体
>
> ---
>
> **人格设定**
>
> | 字段 | 内容 |
> | -------- | ------------------------------------------------ |
> | 核心身份 | 你是法律顾问小助手,专注于合同审查和法律风险评估 |
> | 角色定位 | 专注于合同审查和法律风险评估的数字法律顾问 |
> | 性格特征 | 专业、严谨、审慎 |
> | 沟通风格 | 准确使用法律术语,同时提供通俗解释 |
>
> **行为原则**
>
> | 字段 | 内容 |
> | -------- | ------------------------------------------------ |
> | 最高原则 | 以用户利益为最高优先级,不替代正式法律意见 |
> | 必须做 | 准确引用法律条文、标注不确定性、建议咨询专业律师 |
> | 绝不做 | 提供诉讼代理、替代正式法律意见、泄露用户咨询内容 |
> | 优先级 | 用户安全 > 准确性 > 效率 |
>
> ---
>
> 即将创建「法律顾问小助手」——专注合同审查与法律风险评估。
> **人格**:数字法律顾问;专业、严谨、审慎;准确用法律术语并给通俗解释。
> **原则**:以用户利益优先、不替代正式法律意见;必做——引用法条 / 标注不确定性 / 建议咨询律师;不做——诉讼代理 / 泄露咨询内容;优先级 用户安全 > 准确性 > 效率。
> 确认创建?(确认 / 修改 / 取消)
**"修改"分支处理**
用户选择"修改"时:
1. 询问用户要修改哪个字段(如"想修改哪一项?"
2. 用户指出要修改的字段(如"性格特征改成更活泼的"
3. Agent 重新收集该字段内容
4. 更新预览中的对应字段
5. 再次展示完整预览 → 重新进入确认流程
用户选"修改":问改哪个字段 → 重新收集该字段 → 更新预览 → 再次展示并确认。
### 阶段 5调用 ManageAgent 创建
**工具调用**(结构化格式
结构化调用persona/principles 也接受 markdown 字符串;未提供的字段系统自动补全
```
ManageAgent({
"action": "create",
"name": "法律顾问小助手",
"description": "专注于合同审查和法律风险评估的数字智能体",
"persona": {
"L0": "你是法律顾问小助手,专注于合同审查和法律风险评估的数字智能体。",
"L1": {
"role": "专注于合同审查和法律风险评估的数字法律顾问",
"personality": ["专业", "严谨", "审慎"],
"communication_style": "准确使用法律术语,同时提供通俗解释"
}
},
"principles": {
"L0": "以用户利益为最高优先级,不替代正式法律意见。",
"L1": {
"must_do": ["准确引用法律条文", "标注不确定性", "建议咨询专业律师"],
"must_not": ["提供诉讼代理", "替代正式法律意见", "泄露用户法律咨询内容"],
"priority": "用户安全 > 准确性 > 效率"
}
}
"persona": { "L0": "…", "L1": { "role": "…", "personality": ["专业","严谨","审慎"], "communication_style": "…" } },
"principles": { "L0": "…", "L1": { "must_do": ["…"], "must_not": ["…"], "priority": "用户安全 > 准确性 > 效率" } }
})
```
**最简创建**(只需 name其余全自动生成)
- 最简创建只需 `{ "action": "create", "name": "我的助手" }`其余全自动生成)
- 可选 `id`kebab-case slug`core` / `desirecore` 为核心保留标识不可用,含 name 自动生成命中的情况)、`config.llm`(仅 llm 增量mcp_servers 等敏感字段会被拒,需创建后经界面调整)。
- 创建后智能体立即在线可用,返回 ID 可直接用于 ManageTeam / Delegate。若工具报错已存在 / 命中保留标识 / config 非白名单字段等),向用户说明原因并按提示调整后重试。
```
ManageAgent({ "action": "create", "name": "我的助手" })
```
### 阶段 6回执
**基础创建**name + descriptiondescription 自动填充 persona L0
以用户友好方式呈现(不暴露内部路径/技术细节):告知创建成功,并提示下一步——直接对话、添加技能、调整人格或规则。
```
ManageAgent({ "action": "create", "name": "法律顾问", "description": "专注合同审查" })
```
### 背景与约束
所有未提供的字段由系统自动补全为合理默认值。`persona` `principles` 也支持传入原始 markdown 字符串(向后兼容)
**可选参数**
- `id`:指定 kebab-case slug ID如 "法律顾问" → "legal-advisor")。不指定时系统会自动从 name 生成。注意 `core` / `desirecore` 是核心智能体保留标识,不可使用(包括 name 自动生成命中的情况)。
- `config`agent.json 配置增量,仅允许 `llm` 字段模型、温度等mcp_servers/tool_permissions 等敏感配置会被拒绝,需在创建后经配置界面调整。
**成功返回**
> 智能体「法律顾问小助手」已创建 (ID: fa-lv-gu-wen-xiao-zhu-shou),已注册可用。可直接用于 ManageTeam 组队或 Delegate 委派。
创建完成后智能体立即注册在线,无需等待或刷新;返回的 ID 可直接用于后续 ManageTeam / Delegate 调用。
### 阶段 6回执生成
**回执报告**
创建成功后,以用户友好的方式呈现回执(不要暴露内部路径或技术细节):
> 智能体「法律顾问小助手」已创建成功!
>
> **下一步你可以**
>
> - 直接开始对话
> - 为它添加技能,让它更强大
> - 调整它的性格或行为规则
### 背景知识
> AgentFS 仓库结构、排查要点与受保护路径详见 `_agentfs-background.md` 和 `_protected-paths.yaml`。
### 错误处理
| 错误场景 | 处理方式 |
| -------------------------------- | ------------------------------ |
| 缺少 name 或 ID 格式无效 | 提示用户检查输入 |
| Agent ID 已存在already exists| 建议使用其他名称或指定其他 id |
| ID 命中核心智能体保留标识 | 更换名称或显式提供其他 id |
| config 含白名单外字段 | 仅保留 llm 字段后重试 |
### 权限要求
- 一律通过 `ManageAgent` 内置工具完成创建,**禁止**调用本机 HTTP API、curl 或直接写 AgentFS 目录
- create 操作免系统审批,但本技能的对话流程仍要求先向用户展示预览并获得确认(阶段 4
### 依赖
- `ManageAgent` 内置工具(客户端 ≥ 10.0.90
- AgentFS 结构、排查要点与受保护路径详见 `_agentfs-background.md` `_protected-paths.yaml`
- 一律经 `ManageAgent` 创建,禁止 curl / HTTP 或直接写 AgentFS 目录;需客户端 ≥ 10.0.90。