Files
GenericAgent/memory/memory_management_sop.md

4.3 KiB
Raw Blame History

0. 核心公理 (Core Axioms - 最高优先级)

  1. 行动验证原则 (Action-Verified Only)

    • 定义:任何写入 L1/L2/L3 的信息,必须源自成功的工具调用结果(如 shell 执行成功、file_read 确认内容存在、代码运行通过)。
    • 禁止:严禁将模型的“固有知识”、“推理猜测”、“未执行的计划”或“未验证的假设”作为事实写入。
    • 口号No Execution, No Memory. (无行动,不记忆)
  2. 神圣不可删改性 (Sanctity of Verified Data)

    • 定义凡是经过行动验证的有效配置、避坑指南、关键路径在重构Refactoring/GC严禁丢弃
    • 操作:可以压缩文字、可以迁移层级(从 L2 移到 L3但绝不能丢失信息的准确性和可追溯性。
  3. 禁止存储易变状态 (No Volatile State)

    • 定义:严禁存储随时间/会话高频变化的数据。
    • 示例:当前时间戳、临时 Session ID、正在运行的 PID、某个具体绝对路径、连接的设备信息

记忆层级架构

L1: global_mem_insight.txt (极简索引层 - 严格控制 ≤50 行)  
    ↓ 导航指向 (Pointer)  
L2: global_mem.txt (事实库层 - 现短但会膨胀)  
    ↓ 详细引用 (Reference)  
L3: ../memory/ (记录库层 - 包含 .md/.py 等各类文件)  

各层职责与原则

L1全局内存索引 (global_mem_insight.txt)

职责:为 L2 和 L3 提供极简导航索引。

特征

  • 体积限制:≤ 50 行(硬约束)
  • 内容CONSTITUTION、STORES、ACCESS、TOPICS、LESSONS_LEARNED
  • 更新L2 有新增/删除事实时同步;当发现通用且极其重要的规律时,追加 LESSONS。

禁止:严禁在此层直接写入 IP、密码、完整路径、API Key。L1 只能是索引指针,不能是数据容器。不写 "How to" 或详细解释。严禁包含特定任务的技术细节特定任务细节应该在L3


L2全局事实库 (global_mem.txt)

职责:存储全局环境性事实(路径、凭证、配置、常量等)。

特征

  • 趋势:随环境扩展而膨胀(可接受)
  • 内容:按 ## [SECTION] 组织的事实条目
  • 同步:变化时更新 L1 的相应 TOPIC 导航行

禁止:禁止存储易变状态、禁止存储猜测、严禁存储大模型可推理的通用常识


L3任务级精简记录库 (../memory/)

职责:补充 L1/L2 无法容纳、但对特定任务未来复用至关重要的少量详细信息。内容必须在满足复用需求的前提下尽可能短

原则:

  • 只记录:跨会话仍重要、且难以通过少量 file_read / web_scan / 简单脚本快速重建的要点。
  • 优先写:该任务特有的隐藏前置条件、典型易踩坑点,一旦遗忘会导致高成本重试的信息。
  • 不记录:普通操作步骤、可在几步探测中重新获得的路径或状态信息。

形式:

  • SOP*_sop.md为单一任务或小类任务保留极简的「关键前置 + 典型坑」清单,避免长篇教程。
  • 工具脚本(*.py仅封装高复用、逻辑相对复杂且不希望每次都重新推理的处理流程。

L1 ↔ L2 同步规则

L2 操作 L1 同步
新增事实 在 TOPICS.GLOBAL_MEM 添加导航行
删除事实 在 TOPICS.GLOBAL_MEM 删除导航行
修改值 保持导航行不变

信息分类快速决策树

"这条信息该放哪层?"

是『环境特异性事实』? (IP、非标路径、凭证、ID、API 密钥等,大模型 Zero-shot 无法生成准确)
  ├─ YES → L2 (global_mem.txt)
  │        然后 → L1 [TOPICS.GLOBAL_MEM] 添加导航行
  │
  └─ NO
       ↓
       是『通用操作规律』? (全局性避坑指南、排查方法、不针对特定任务的通用准则)
       ├─ YES → L1 [LESSONS_LEARNED] (仅限 1-2 句脱水准则)
       │
       └─ NO
            ↓
            是『特定任务技术』? (艰难尝试才能成功,且未来还能用到的任务,如:微信解析参数、特定游戏坐标、临时工具配置)
            ├─ YES → L3 (../memory/ 专项 SOP 或脚本)
            │
            └─ NO → 判定为『通用常识』或『冗余信息』: 严禁存储,直接丢弃