refactor: insight两层场景映射格式 + L0同步 + 模板更新
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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, 禁猜路径
|
||||
@@ -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
|
||||
↓
|
||||
|
||||
Reference in New Issue
Block a user