Learn 学习系统
wesgine Learn Handle:惯例扫描、编辑纠正反馈与 Agent 学习。
Learn API
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /learn/scan-conventions | 扫描项目惯例 |
| POST | /learn/edit-rejected | 报告用户拒绝的编辑 |
| POST | /learn/edit-modified | 报告用户修改的编辑 |
| GET | /learn/corrections | 纠正列表(?agent_id=) |
| GET | /learn/conventions | 惯例列表(?agent_id=) |
扫描惯例
scan-conventions 扫描项目目录,检测:
- 缩进风格(tab/space)
- 命名约定
- 文件组织模式
- 依赖管理方式
Convention 存储
Convention 是 runtime probe-cache(cwd LRU),不入 memory store(INV-MEM-12)。
每次扫描结果按 Cell 缓存,不持久化为记忆条目。
编辑反馈
拒绝反馈
用户拒绝 AI 编辑时:
POST /learn/edit-rejected
{
"file_path": "src/main.go",
"original": "...",
"proposed": "...",
"reason": "不符合项目风格"
}
修改反馈
用户修改 AI 编辑后:
POST /learn/edit-modified
{
"file_path": "src/main.go",
"original": "...",
"proposed": "...",
"final": "..."
}
Correction vs Convention
| 类型 | 来源 | 持久性 |
|---|---|---|
| Correction | 用户编辑反馈 | L4 记忆(账号×Agent,跨项目生效) |
| Convention | 项目扫描 | runtime cache(不持久化) |
与 Memory 的关系
Correction 写入 Memory 时经过完整 saveCore 管线:
- 威胁扫描
- 质量门控
- DedupKey 去重
- Actor 必填
Agent 级学习
纠正和惯例按 agent_id 隔离:
GET /learn/corrections?agent_id=agent-legal
GET /learn/conventions?agent_id=agent-legal
不同 Agent 学到的纠正互不干扰。
相关文档
- Memory 层模型 →
memory-layer-model.md - Agent 配置 →
agent-config.md - Memory 写入管线 →
memory-write-pipeline.md