mirror of
https://git.openapi.site/https://github.com/desirecore/agent-desirecore.git
synced 2026-02-28 10:38:13 +08:00
12 KiB
12 KiB
name, description, version, type, risk_level, status, disable-model-invocation, requires, tags, metadata
| name | description | version | type | risk_level | status | disable-model-invocation | requires | tags | metadata | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| self-evolve | 在会话中提炼可复用经验,生成可审阅进化建议,并在用户确认后写回用户域或智能体域。Use when 用户显式教学、要求总结学习结果、希望持续优化 Agent,或在会话结束后执行进化复盘。 | 1.1.0 | meta | high | enabled | true |
|
|
|
self-evolve 技能
L0:一句话摘要
让 Agent 在交互中持续学习,自主提出改进建议并在用户确认后进化自身。
L1:概述与使用场景
能力描述
self-evolve 是一个元技能(Meta-Skill),赋予 Agent 自我学习和进化的能力。它能在对话中捕获有价值的信息,会话结束后自动提炼经验,并在用户确认后将改进写入仓库配置。
使用场景
- 会话结束后自动分析对话质量,提取可改进点
- 用户显式教学("记住这个"、"以后都这样做")
- 定期自省,识别能力边界和改进方向
- 从错误中学习,避免重复犯错
核心价值
- 持续进化:越用越懂你,越用越好用
- 透明可控:所有进化需用户确认,不会"暗箱操作"
- 安全边界:核心人格和安全红线不可被进化覆盖
L2:详细规范
进化三层机制
┌─────────────────────────────────────────────────────────────────┐
│ 自我进化闭环 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 交互捕获 │ ──→ │ 复盘提炼 │ ──→ │ 行为固化 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ↑ │ │
│ └───────────────────────────────────┘ │
│ 持续迭代 │
└─────────────────────────────────────────────────────────────────┘
| 层级 | 机制 | 存储位置 | 确认要求 |
|---|---|---|---|
| L1 交互捕获 | 实时捕获对话中的关键信息 | 会话缓存 | 无需确认 |
| L2 复盘提炼 | 会话结束后提炼经验教训 | 待审队列 | 需用户确认 |
| L3 行为固化 | 将验证过的经验写入仓库 | agent 根目录 | 需用户确认 |
触发机制
| 触发方式 | 触发条件 | 处理流程 |
|---|---|---|
| Session Finalize | 会话结束时自动触发 | 分析对话 → 提取学习点 → 生成建议 |
| 显式教学 | 用户说"记住这个"等 | 立即捕获 → 生成 diff → 请求确认 |
| 周期性自省 | 定时触发(如每周) | 回顾历史 → 识别模式 → 提出改进 |
| 错误学习 | 用户纠正 Agent 错误 | 记录错误 → 分析原因 → 生成规则 |
触发关键词
显式教学触发词:
- "记住这个"、"以后都这样"
- "学会这个"、"记下来"
- "这是规则"、"这很重要"
- "不要再..."、"以后别..."
自省触发词:
- "你最近学到了什么"
- "回顾一下我们的对话"
- "你有什么改进建议"
进化类型与目标(AgentFS v2 扁平结构)
| 进化类型 | 目标域 | 示例 |
|---|---|---|
| 用户偏好 | ~/.desirecore/users/<id>/profile.md |
用户喜欢简洁回答 |
| 关系记忆 | ~/.desirecore/users/<id>/agents/<agent_id>/memory/ |
用户的项目背景 |
| 行为规则 | principles.md |
新的行为准则 |
| 技能优化 | skills/ |
技能执行改进 |
| 知识积累 | memory/ |
领域知识条目 |
风险分级
| 风险等级 | 条件 | 确认要求 | 示例 |
|---|---|---|---|
| 低 | 仅影响用户关系域 | MVP:需确认 | 更新用户偏好 |
| 中 | 影响 Agent 记忆或技能 | 需确认 | 添加知识条目 |
| 高 | 影响 Agent 行为规则 | 详细确认 | 修改 principles |
| 禁止 | 触及受保护路径 | 阻断 | 修改核心人格 |
受保护路径(不可进化覆盖)
进化变更应用前必须检查是否触及受保护路径。完整定义见共享配置文件 _protected-paths.yaml。
关键规则摘要:
persona.mdL0 section → block(核心身份不可被对话改变)principles.md"绝不做" section → block(安全红线必须由人类显式修改)agent.jsonaccess_control / privacy → owner_only(权限变更需 owner 审批)~/.desirecore/users/*/privacy.md→ owner_only(隐私设置需用户本人修改)
进化流程详解
流程 1:Session Finalize(会话结束进化)
会话结束
│
↓
┌──────────────────┐
│ 对话质量分析 │
│ - 任务完成度 │
│ - 用户满意信号 │
│ - 出现的问题 │
└──────────────────┘
│
↓
┌──────────────────┐
│ 学习点提取 │
│ - 用户偏好 │
│ - 领域知识 │
│ - 行为改进 │
└──────────────────┘
│
↓
┌──────────────────┐
│ 生成进化建议 │
│ - 分类整理 │
│ - 风险评估 │
│ - diff 预览 │
└──────────────────┘
│
↓
[等待用户确认]
会话分析指标:
| 指标 | 正向信号 | 负向信号 |
|---|---|---|
| 任务完成 | 用户确认完成 | 用户放弃/换话题 |
| 满意度 | "好的"、"谢谢" | "不对"、"重新来" |
| 效率 | 快速理解需求 | 多次澄清 |
| 准确性 | 一次正确 | 多次修正 |
流程 2:显式教学
用户输入:"记住,我喜欢你用表格来展示对比信息"
处理流程:
- 识别教学意图:
teaching_intent:
type: preference
target: response_format
content: "用表格展示对比信息"
- 生成 Diff:
# ~/.desirecore/users/<user_id>/profile.md
## 沟通偏好
+ ### 格式偏好
+ - 对比信息使用表格展示
- 请求确认:
学习确认
我理解你希望我:
- 在展示对比信息时使用表格格式
这将记录到你的个人偏好中。确认吗?
[确认] [取消] [修改]
- 确认后写入:
git add ~/.desirecore/users/<user_id>/profile.md
git commit -m "learn(preference): 用户偏好表格展示对比信息
- 更新用户沟通偏好
- 来源:显式教学
Learned by: self-evolve skill
User confirmed: true
"
流程 3:错误学习
场景:Agent 犯错,用户纠正
用户:"不对,合同金额要用大写数字"
处理流程:
- 识别纠正:
correction:
type: error_correction
domain: contract
wrong: "100万元"
correct: "壹佰万元整"
rule: "合同金额使用大写数字"
- 分析影响范围:
impact_analysis:
affects: contract-review skill
frequency: high (合同场景常见)
risk_level: medium
- 生成改进建议:
# skills/contract-review/SKILL.md
## 格式规范
+ ### 金额表示
+ - 合同金额必须使用大写数字
+ - 示例:壹佰万元整(不是100万元)
进化建议展示格式
会话结束时的进化建议:
本次对话学习总结
我从这次对话中发现了以下可以改进的点:
┌─────────────────────────────────────────────────────┐
│ 1. [用户偏好] 你喜欢简洁的回答 │
│ 风险:低 | 目标:~/.desirecore/users/xxx/profile.md│
├─────────────────────────────────────────────────────┤
│ 2. [行为规则] 讨论预算时先确认货币单位 │
│ 风险:中 | 目标:principles.md │
├─────────────────────────────────────────────────────┤
│ 3. [领域知识] XX公司的审批流程是三级审批 │
│ 风险:低 | 目标:memory/ │
└─────────────────────────────────────────────────────┘
请选择要应用的改进:
[全部应用] [逐条确认] [跳过]
进化回执
# ~/.desirecore/runs/<run_id>/receipts/evolution-<timestamp>.yaml
receipt:
type: self-evolution
timestamp: "2024-01-15T18:00:00Z"
trigger: session_finalize
session_analysis:
session_id: "sess_abc123"
duration_minutes: 25
task_completion: true
user_satisfaction: positive
learning_items:
- type: user_preference
content: "用户喜欢简洁回答"
target: "~/.desirecore/users/xxx/profile.md"
risk_level: low
status: applied
git_commit: "abc123"
- type: behavior_rule
content: "讨论预算时先确认货币单位"
target: "principles.md"
risk_level: medium
status: user_rejected
rejection_reason: "用户认为不需要"
metadata:
total_items: 3
applied: 2
rejected: 1
skipped: 0
MVP 约束
在 MVP 阶段,self-evolve 技能有以下约束:
| 能力 | MVP 支持 | 说明 |
|---|---|---|
| Session Finalize | 支持 | 会话结束后生成建议 |
| 显式教学 | 支持 | 识别并处理教学意图 |
| 用户确认 | 支持 | 所有变更需确认(不支持自动审批) |
| 进化回执 | 支持 | 记录所有进化操作 |
| 周期性自省 | 不支持 | 后续版本支持 |
| 自动审批(低风险) | 不支持 | 后续版本支持 |
| 跨会话学习聚合 | 不支持 | 后续版本支持 |
错误处理
| 错误场景 | 处理方式 |
|---|---|
| 尝试修改受保护路径 | 阻断,告知用户需手动修改 |
| 用户拒绝所有建议 | 记录到回执,不强制 |
| Git 提交失败 | 保留变更文件,提示手动处理 |
| 学习内容与现有规则冲突 | 展示冲突,请用户决策 |
附录:进化质量评估
进化健康指标
| 指标 | 健康范围 | 说明 |
|---|---|---|
| 建议采纳率 | > 60% | 用户接受的进化建议比例 |
| 规则冲突率 | < 10% | 新规则与现有规则冲突的比例 |
| 回滚率 | < 5% | 进化后被回滚的比例 |
| 人格稳定性 | 100% | 核心人格未被意外修改 |
进化审计日志
# 示例:进化审计视图
时间 类型 内容摘要 状态 确认人
─────────────────────────────────────────────────────────────
01-15 18:00 偏好学习 用户喜欢简洁回答 已应用 user_a
01-15 18:00 行为规则 确认货币单位 已拒绝 user_a
01-14 12:30 错误学习 合同金额用大写 已应用 user_a
01-13 09:00 显式教学 重要邮件抄送领导 已应用 user_a