274 lines
17 KiB
Markdown
274 lines
17 KiB
Markdown
---
|
||
version: 1.0
|
||
last-updated: 2026-02-24
|
||
status: design
|
||
---
|
||
|
||
# Agent 自我进化架构 - 总览
|
||
|
||
## 产品定位
|
||
|
||
**Qiming Agent** 是一个可以**自我进化**的 AI 助手桌面应用。与传统 Agent 不同,它不仅能执行任务,还能从经验中学习,实现持续成长。
|
||
|
||
### 核心愿景
|
||
|
||
> 让 Agent 不是静态工具,而是可以成长的伙伴。第 100 次使用比第 1 次更聪明。
|
||
|
||
---
|
||
|
||
## 核心原则
|
||
|
||
### 1. 双层环境架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 用户界面层 │
|
||
│ - 简洁、友好、零门槛 │
|
||
│ - 用户不需要知道底层细节 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
↕
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ Agent 运行环境层 │
|
||
│ - 受限但有弹性 │
|
||
│ - 可以安装工具、自我迭代 │
|
||
│ - 与用户环境隔离 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2. 三区隔离模型
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────────┐
|
||
│ 应用核心区 (App Core) │
|
||
│ ───────────────────────── │
|
||
│ - 内容: Electron, Node.js, uv, 核心引擎 │
|
||
│ - 特点: 完全受控,不可变 │
|
||
│ - 目的: 保证应用稳定性 │
|
||
│ - Agent 权限: 只读 │
|
||
├──────────────────────────────────────────────────────────────────┤
|
||
│ Agent 工作区 (Agent Workspace) │
|
||
│ ──────────────────────── │
|
||
│ - 内容: 工具、依赖、缓存、临时文件 │
|
||
│ - 特点: Agent 可写,受应用管理 │
|
||
│ - 目的: Agent 自我迭代的空间 │
|
||
│ - Agent 权限: 完全控制 │
|
||
├──────────────────────────────────────────────────────────────────┤
|
||
│ 用户系统区 (User System) │
|
||
│ ──────────────────── │
|
||
│ - 内容: 系统工具、用户配置 │
|
||
│ - 特点: 只读访问,受污染风险 │
|
||
│ - 目的: 兼容性回退 │
|
||
│ - Agent 权限: 只读调用 │
|
||
└──────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 3. Agent 自由度边界
|
||
|
||
| 能力 | 允许 | 限制 | 原因 |
|
||
|------|------|------|------|
|
||
| **安装 npm 包** | ✅ 到工作区 | ❌ 到全局 | 避免污染用户环境 |
|
||
| **安装 Python 包** | ✅ 通过 uv | ❌ 系统 pip | 隔离环境 |
|
||
| **修改配置** | ✅ 工作区内 | ❌ 应用配置 | 保护核心 |
|
||
| **执行系统命令** | ✅ 只读工具 | ❌ 写入操作 | 安全考虑 |
|
||
| **自我升级** | ✅ 工作区依赖 | ❌ 引擎核心 | 稳定性优先 |
|
||
|
||
---
|
||
|
||
## 架构概览
|
||
|
||
### 系统架构图
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ AGENT 自我进化系统 │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌───────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 感知层 (Perceive) │ │
|
||
│ │ • 收集任务输入、环境状态、用户反馈 │ │
|
||
│ └───────────────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ ┌───────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 记忆层 (Recall) │ │
|
||
│ │ • 查询 EvoMap 决策图谱、历史经验、可用技能 │ │
|
||
│ └───────────────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ ┌───────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 规划层 (Plan) │ │
|
||
│ │ • 生成多个候选方案,按置信度排序 │ │
|
||
│ └───────────────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ ┌───────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 执行层 (Act) │ │
|
||
│ │ • 执行选定的方案,实时监控 │ │
|
||
│ └───────────────────────────────────────────────────────────────────┘ │
|
||
│ │ │
|
||
│ ┌───────────┴───────────┐ │
|
||
│ │ │ │
|
||
│ ┌───▼────┐ ┌───▼────┐ │
|
||
│ │ 成功 │ │ 失败 │ │
|
||
│ └───┬────┘ └───┬────┘ │
|
||
│ │ │ │
|
||
│ ▼ ▼ │
|
||
│ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │
|
||
│ │ 强化学习 (Reinforce) │ │ 自我修复 (Repair) │ │
|
||
│ │ • 编码成功记忆 │ │ • 分析失败原因 │ │
|
||
│ │ • 更新 EvoMap 置信度 │ │ • 查询备选方案 │ │
|
||
│ │ • 提取/优化技能 │ │ • 尝试备选方案 │ │
|
||
│ │ • 更新 Soul.md │ │ • 记录失败教训 │ │
|
||
│ └──────────────┬──────────────┘ └──────────────┬──────────────┘ │
|
||
│ │ │ │
|
||
│ └────────────┬───────────────────┘ │
|
||
│ ▼ │
|
||
│ ┌───────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 反思层 (Reflect) │ │
|
||
│ │ • 定期反思(每 N 次任务或每天) │ │
|
||
│ │ • 发现模式、生成洞察、提炼原则 │ │
|
||
│ └───────────────────────────────────────────────────────────────────┘ │
|
||
│ ↓ │
|
||
│ 更新记忆/EvoMap/Soul │
|
||
│ ↓ │
|
||
│ 下次任务更聪明 │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 核心组件关系
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ 核心组件 │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ Memory │◄────►│ EvoMap │◄────►│ Skills │ │
|
||
│ │ 记忆系统 │ │ 进化图谱 │ │ 技能库 │ │
|
||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||
│ │ │ │ │
|
||
│ └──────────────────────┼──────────────────────┘ │
|
||
│ ▼ │
|
||
│ ┌──────────────┐ │
|
||
│ │ Soul.md │ │
|
||
│ │ 灵魂文件 │ │
|
||
│ └──────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 用户体验对比
|
||
|
||
| 维度 | 传统 Agent | 自我进化 Agent |
|
||
|------|-----------|----------------|
|
||
| **学习** | 每次重新探索 | 记住有效方法 |
|
||
| **错误** | 重复犯错 | 从失败中学习 |
|
||
| **效率** | 随时间不变 | 越用越快 |
|
||
| **能力** | 固定能力 | 持续成长 |
|
||
|
||
### 用户可见的变化
|
||
|
||
```
|
||
第 1 次使用:
|
||
Agent: "让我分析这个日志..."
|
||
[使用 grep,耗时 5s]
|
||
Agent: "完成,发现 23 个错误"
|
||
|
||
第 10 次使用:
|
||
Agent: "分析日志中..."
|
||
[使用专用技能,耗时 2s]
|
||
Agent: "完成,发现 23 个错误"
|
||
|
||
第 N 次使用:
|
||
Agent: "又是这个项目,我已经知道你的偏好了..."
|
||
[自动应用最佳方案]
|
||
```
|
||
|
||
---
|
||
|
||
## 安全与控制
|
||
|
||
### 用户控制权
|
||
|
||
```typescript
|
||
interface EvolutionControl {
|
||
settings: {
|
||
allowSelfRepair: boolean; // 允许自我修复
|
||
allowSkillCreation: boolean; // 允许创造新技能
|
||
allowToolInstallation: boolean;// 允许安装工具
|
||
maxMemorySize: string; // 记忆大小限制
|
||
learningMode: 'aggressive' | 'balanced' | 'conservative';
|
||
};
|
||
|
||
actions: {
|
||
resetLearning(): void; // 重置学习
|
||
exportSkills(): Skill[]; // 导出技能
|
||
importSkills(skills: Skill[]): void; // 导入技能
|
||
reviewInsights(): Insight[]; // 审查洞察
|
||
};
|
||
}
|
||
```
|
||
|
||
### 安全边界
|
||
|
||
1. **工具安装** → 用户确认或白名单
|
||
2. **系统修改** → 沙箱限制
|
||
3. **网络访问** → 透明日志
|
||
4. **技能执行** → 可审计
|
||
|
||
---
|
||
|
||
## 数据目录结构
|
||
|
||
```
|
||
~/.qimingclaw/
|
||
├── soul/ # Agent 自我认知
|
||
│ ├── soul.md # 主灵魂文件
|
||
│ ├── principles.md # 学习到的原则
|
||
│ └── anti-patterns.md # 避免的陷阱
|
||
│
|
||
├── memory/ # 记忆存储
|
||
│ ├── short-term.md # 当前会话记忆
|
||
│ ├── successes/ # 成功经验
|
||
│ ├── failures/ # 失败教训
|
||
│ ├── insights/ # 洞察
|
||
│ └── index.json # 检索索引
|
||
│
|
||
├── skills/ # 技能库
|
||
│ ├── core/ # 核心技能(内置)
|
||
│ └── learned/ # 学到的技能
|
||
│
|
||
└── evo-map/ # 进化图谱
|
||
├── decisions/ # 决策树
|
||
└── patterns/ # 模式库
|
||
```
|
||
|
||
---
|
||
|
||
## 核心思想总结
|
||
|
||
```
|
||
Agent 不是静态工具,而是可以成长的伙伴
|
||
|
||
通过:
|
||
- Memory: 记住经验
|
||
- Skill Creator: 创造能力
|
||
- EvoMap: 智慧决策
|
||
- Soul.md: 自我认知
|
||
|
||
实现:
|
||
- 越用越快
|
||
- 越用越懂你
|
||
- 越用越强
|
||
```
|
||
|
||
---
|
||
|
||
## 相关文档
|
||
|
||
- [核心组件](./COMPONENTS.md) - Memory、Skill Creator、EvoMap、Soul.md 详细设计
|
||
- [循环流程](./LOOP.md) - 七层循环、接口定义、数据流
|
||
- [存储实现](./STORAGE.md) - Markdown 格式、索引机制、读写接口
|
||
- [隔离策略](./ISOLATION.md) - 三区模型、环境变量、安全边界
|
||
- [OpenClaw 参考](./REF-OPENCLAW.md) - openclaw 架构参考
|