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

View File

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

View File

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