refactor: insight两层场景映射格式 + L0同步 + 模板更新

This commit is contained in:
Liang Jiaqing
2026-02-18 11:28:25 +08:00
parent 55b5b4f8a3
commit 38b5b3b86d
3 changed files with 32 additions and 25 deletions

View File

@@ -80,8 +80,8 @@ class GeneraticAgent:
handler = GenericAgentHandler(None, self.history, './temp')
if self.handler and self.handler.key_info:
handler.key_info = self.handler.key_info
if '你确信任务已经改变' not in handler.key_info:
handler.key_info += '\n你确信任务已经改变,请先更新工作记忆去除无用部分\n'
if '需可更新工作记忆去除无用部分' not in handler.key_info:
handler.key_info += '\n需可更新工作记忆去除无用部分\n'
self.handler = handler
self.llmclient.backend = self.llmclient.backends[self.llm_no]
gen = agent_runner_loop(self.llmclient, sys_prompt, raw_query,

View File

@@ -1,13 +1,17 @@
[TOPICS.GLOBAL_MEM]
# 【引导注释 - 使用后请删除】
# 请模仿以下概括性 Tag 格式记录 global_mem.txt 中的事实:
# - env/network: 网络代理或环境描述 (Global Facts ## [SECTION])
# - auth/platform: 平台账号或认证信息 (Global Facts ## [SECTION])
# - pref/download_dir: 文件存储偏好路径 (Global Facts ## [SECTION])
# - tool/config: 核心工具运行参数 (Global Facts ## [SECTION])
[TOPICS.MEMORY_DIR]
# 【引导注释 - 使用后请删除】
# 请模仿以下格式登记 memory 目录下的独立文件:
# - sop/workflow: 标准操作流程文档 (.md)
# - tool/automation: 自动化执行脚本 (.py)
# [Global Memory Insight]
# 【引导注释 - 使用后请删除整个注释块
# 格式:两层「场景→记忆」映射 + RULES总计≤30行
#
# == 第一层:高频场景 key→value ==
# 每行格式: 触发场景关键词: sop名/py名/L2:section名(关键参数)
# 示例: 境外网站/API: proxies={'https':'http://127.0.0.1:2082'}
# 示例: 微信发消息: wechat_send_sop | 微信读聊天: wechat_db_sop+wechat_db_utils(quick_connect)
# 可用 | 分隔同类场景,括号内放硬参数
#
# == 第二层:低频关键词,自包含可只写一个词 ==
# 格式: 一行内用 | 分隔多个关键词,需要时 read L2 或 ls memory/ 查详情
# 示例: 邮件ezgmail | 游戏game | OCR | 华为云Huawei_Cloud
#
# == [RULES] ==
# 压缩的通用操作准则,每条一行
# 示例: 1. 搜索先行: 文件用es, 信息用google, 禁猜路径

View File

@@ -25,9 +25,11 @@ L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)
**职责**:为 L2 和 L3 提供极简导航索引。
**特征**
体积限制:≤ 30 行(硬约束)
- 内容:TOPICS、LESSONS_LEARNED
- 更新L2 有新增/删除事实时同步;当发现通用且极其重要的规律时,追加 LESSONS。修改时请极度小心不允许overwrite或code run。只能少量patch改不动宁愿不改。
**禁止**:严禁在此层直接写入 IP、密码、完整路径、API Key。L1 只能是索引指针,不能是数据容器。不写 "How to" 或详细解释。严禁包含特定任务的技术细节特定任务细节应该在L3。更加严禁写入日志记录
- 内容:两层「场景关键词→记忆定位」映射 + RULES压缩版避坑准则
- 第一层:高频场景 key→value直接给出 sop/py/L2 section 名),自包含可只写一个词
- 第二层:低频场景仅列关键词,需要时 read L2 或 ls L3 自行定位
- 更新L2/L3 有新增/删除时判断频率归入对应层。修改时请极度小心不允许overwrite或code run。只能少量patch改不动宁愿不改。
**禁止**严禁写入密码、API Key。允许内联非敏感触发参数如代理端口。不写 "How to" 或详细解释。严禁包含特定任务的技术细节特定任务细节应该在L3。更加严禁写入日志记录
---
### L2全局事实库 (global_mem.txt)
**职责**:存储全局环境性事实(路径、凭证、配置、常量等)。
@@ -47,12 +49,13 @@ L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)
- SOP*_sop.md为单一任务或小类任务保留极简的「关键前置 + 典型坑」清单,避免长篇教程。
- 工具脚本(*.py仅封装高复用、逻辑相对复杂且不希望每次都重新推理的处理流程。
---
## L1 ↔ L2 同步规则
| L2 操作 | L1 同步 |
## L1 ↔ L2/L3 同步规则
| 操作 | L1 同步 |
|---------|--------|
| 新增事实 | 在 TOPICS.GLOBAL_MEM 添加导航行 |
| 删除事实 | 在 TOPICS.GLOBAL_MEM 删除导航行 |
| 修改值 | 保持导航行不变 |
| L2/L3 新增场景 | 判断频率:高频→第一层加 key→value低频→第二层加关键词 |
| L2/L3 删除场景 | 删除对应层的关键词/映射行 |
| L2/L3 修改值 | 若不影响场景定位则不动 L1 |
| 发现通用避坑规律 | 压缩为一句加入 RULES |
---
## 信息分类快速决策树
```
@@ -60,12 +63,12 @@ L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)
是『环境特异性事实』? (IP、非标路径、凭证、ID、API 密钥等,大模型 Zero-shot 无法生成准确)
├─ YES → L2 (global_mem.txt)
│ 然后 → L1 [TOPICS.GLOBAL_MEM] 添加导航行
│ 然后 → 按频率归入 L1 第一层(key→value)或第二层(仅关键词)
└─ NO
是『通用操作规律』? (全局性避坑指南、排查方法、不针对特定任务的通用准则)
├─ YES → L1 [LESSONS_LEARNED] (仅限 1-2 句脱水准则)
├─ YES → L1 [RULES] (仅限 1 句压缩准则)
└─ NO