企业智能体工程体系v1.1|企业智能体工程卷 · 第7期 ·工作记忆治理——记忆是企业资产,不是私货
企业智能体工程体系v1.1企业智能体工程卷 · 第7期工作记忆治理——记忆是企业资产不是私货作者技术治理研究组系列企业智能体工程卷发布版 v1.1主案例CASE-CR-0042信用提额申请本集对象MemoryItem适合读者架构师、技术负责人、AI 产品经理、企业级 Agent 开发者 本文档声明性质本文为企业智能体工程化设计参考框架的第 7 期聚焦 Agent 工作记忆的治理边界提供架构思路与教学级示意代码不构成生产级实现方案或法律合规意见如 GDPR、个人信息保护法等。证据锚定文中案例CASE-CR-0042为教学示意不对应任何真实客户系统。系列定位本篇在第 0 期企业公民·身份与审计确立的“证件号不进长程记忆”红线基础上引入MemoryItem 对象为 Agent 系统建立“有边界、有生命周期、有权限、有审计”的工作记忆治理框架。摘要在第 0 期中我们确立了一条红线证件号等强身份信息不得进入长程记忆。但仅靠“红线原则”远远不够——我们需要一套可执行的机制来落地这条红线。CASE-CR-0042 的处理链路中客户可能发送证件号、银行账号截图文字。如果放任 Agent 将这类信息写入记忆系统会发生什么风险场景后果客服 Agent “为下次方便”写入长程记忆隐私数据永久留存数据 Agent 缓存原始身份字段其他个案检索时命中跨 Agent 记忆共享非授权人员访问敏感信息无过期机制数据“永久”存在无法清理记忆是企业资产——有边界、生命周期、权限、审计。本期引入MemoryItem对象为 Agent 的工作记忆建立四维治理框架边界什么能记、生命周期记多久、权限谁能看、审计谁看了。一句话核心记忆治理不替代契约它管“留下来的东西”。1. 问题记忆是资产不是私货1.1 CASE-CR-0042 中的记忆风险在 CASE-CR-0042 的处理链路中多个环节涉及客户敏感信息环节可能接触的敏感信息风险客服受理证件号、营业执照号、银行账号“为下次方便”写入长程记忆数据 Agent信用报告、财务流水、身份字段缓存原始身份字段财务裁决客户资料、收入证明跨 Agent 记忆共享导致权限泄露核心矛盾Agent 需要记忆来提升效率“记住这个客户的偏好”但不能因此牺牲隐私合规“记住客户的证件号”。1.2 失控记忆的三种后果后果说明隐私泄露证件号、账号等敏感信息被其他 Agent 或非授权人员检索到合规违规违反 GDPR、个人信息保护法等法规对数据最小化、存储期限的要求审计失效无人知晓“谁写了什么、谁读了什么、什么时候过期”2. 四维治理框架2.1 治理维度维度CASE-CR-0042 要求实现机制边界禁止证件号、完整账号进长程记忆写入前过滤正则 规则引擎生命周期会话摘要 TTL裁决摘要更长但可审计expires_at时间戳 定时清理权限support 记忆 ≠ finance 默认可读owner字段 读取权限检查审计写入/读取留痕AuditEvent 全链路记录2.2 短程记忆 vs 长程记忆维度短程记忆长程记忆用途当前会话上下文跨会话经验复用生命周期会话结束清理TTL ≤ 24h按策略保留TTL 可配置内容类型完整对话、临时状态工单号、决策编号、非敏感摘要敏感数据禁止写入禁止写入3. 与主架构的关系DecisionRecord / 工具结果 → 过滤 → MemoryItem.put → 失败则仅 AuditEvent 记拦截记忆治理不替代契约SkillContract契约管“能不能做这件事”记忆治理管“这件事做完后什么东西能被留下来”。4. 最小代码过滤 TTL 属主以下为教学级示意代码展示 MemoryItem 的过滤、生命周期和权限管理from__future__importannotationsimportreimporttimefromdataclassesimportdataclassfromtypingimportOptional# 敏感信息识别规则教学级 # 正则匹配 18 位身份证号含最后一位 X/xSENSITIVE_ID_CARDre.compile(r\b\d{17}[\dXx]\b)# 匹配银行卡号16-19 位数字SENSITIVE_BANK_CARDre.compile(r\b\d{16,19}\b)# 匹配手机号11 位以 1 开头SENSITIVE_PHONEre.compile(r\b1\d{10}\b)defcontains_sensitive(text:str)-bool:检查文本是否包含敏感信息。returnbool(SENSITIVE_ID_CARD.search(text)orSENSITIVE_BANK_CARD.search(text)orSENSITIVE_PHONE.search(text))# MemoryItem 对象 dataclassclassMemoryItem:工作记忆条目——有边界、有生命周期、有属主。key:strvalue:strexpires_at:float# Unix 时间戳owner:str# 写入者身份如 agent.support.intakecase_id:str# 关联案例编号created_at:float# 创建时间# 治理型记忆存储 classGovernedMemory:受治理的工作记忆存储——写入前过滤读取时检查权限和过期。def__init__(self)-None:self._store:dict[str,MemoryItem]{}defput(self,key:str,value:str,owner:str,case_id:str,ttl_sec:int,)-None: 写入记忆条目。 Args: key: 记忆键 value: 记忆值文本 owner: 写入者身份 case_id: 关联案例 ttl_sec: 生存时间秒 Raises: ValueError: 当记忆值包含敏感信息时 # 1. 敏感信息过滤边界检查ifcontains_sensitive(value):raiseValueError(f拒绝写入敏感信息:{key}(检测到证件号/银行卡/手机号))# 2. 创建带 TTL 的记忆条目self._store[key]MemoryItem(keykey,valuevalue,expires_attime.time()ttl_sec,ownerowner,case_idcase_id,created_attime.time(),)defget(self,key:str,reader:str)-Optional[str]: 读取记忆条目。 Args: key: 记忆键 reader: 读取者身份 Returns: 记忆值如果不存在或已过期则返回 None Raises: PermissionError: 当读取者无权限时 itemself._store.get(key)# 不存在ifitemisNone:returnNone# 过期清理iftime.time()item.expires_at:delself._store[key]returnNone# 权限检查只有属主和审计角色可读ifreader!item.ownerandnotreader.startswith(auditor:):raisePermissionError(f无权读取记忆:{key}(owner{item.owner}, reader{reader}))returnitem.valuedeflist_by_case(self,case_id:str)-list[MemoryItem]:按案例列出所有有效记忆用于审计。result[]foriteminself._store.values():ifitem.case_idcase_idandtime.time()item.expires_at:result.append(item)returnresult# 使用示例CASE-CR-0042 if__name____main__:memGovernedMemory()print(*50)print(【场景 1写入正常记忆】)print(*50)mem.put(keycase:CASE-CR-0042:summary,value星河零售申请提额至 120000已转数据复核,owneragent.support.intake,case_idCASE-CR-0042,ttl_sec3600,# 1 小时)print(✅ 写入成功: case:CASE-CR-0042:summary)print(\n*50)print(【场景 2读取记忆属主本人】)print(*50)valuemem.get(case:CASE-CR-0042:summary,agent.support.intake)print(f✅ 读取成功:{value})print(\n*50)print(【场景 3写入敏感信息被拦截】)print(*50)try:mem.put(keycase:CASE-CR-0042:id_card,value法人证件 110101199001011234,owneragent.support.intake,case_idCASE-CR-0042,ttl_sec86400,)exceptValueErrorase:print(f 拦截:{e})print(\n*50)print(【场景 4跨 Agent 越权读取被拦截】)print(*50)try:mem.get(case:CASE-CR-0042:summary,agent.finance.limit)exceptPermissionErrorase:print(f 拦截:{e})print(\n*50)print(【场景 5按案例审计】)print(*50)itemsmem.list_by_case(CASE-CR-0042)foriteminitems:print(f -{item.key}| owner{item.owner}| expires_at{item.expires_at:.0f})运行输出 【场景 1写入正常记忆】 ✅ 写入成功: case:CASE-CR-0042:summary 【场景 2读取记忆属主本人】 ✅ 读取成功: 星河零售申请提额至 120000已转数据复核 【场景 3写入敏感信息被拦截】 拦截: 拒绝写入敏感信息: case:CASE-CR-0042:id_card (检测到证件号/银行卡/手机号) 【场景 4跨 Agent 越权读取被拦截】 拦截: 无权读取记忆: case:CASE-CR-0042:summary (owneragent.support.intake, readeragent.finance.limit) 【场景 5按案例审计】 - case:CASE-CR-0042:summary | owneragent.support.intake | expires_at1768000000代码要点治理维度代码实现说明边界contains_sensitive()写入前检查命中则拒绝生命周期expires_at读取时自动检查并清理过期条目权限owner 读取者匹配仅属主和审计角色可读审计list_by_case()按案例列出所有有效记忆5. 三个教训教训含义证据默认最小记忆不默认写入全部内容只有经过过滤的、非敏感的信息才能进入记忆系统put()中的敏感信息检查TTL 靠机制不靠自觉不能依赖 Agent “自觉清理”记忆必须由系统强制过期expires_at时间戳 读取时自动清理治理内建在 put 路径记忆治理必须在写入时执行不能“事后补救”敏感过滤在put()中而不是在get()中事故后补救成本高一个数量级数据一旦写入清理和追溯成本远高于写入前拦截拦截发生在写入前而非写入后6. 思考题以下问题供团队内部讨论帮助将记忆治理概念落地到具体场景裁决摘要的生命周期CASE-CR-0042 的裁决摘要财务 Agent 的最终决定应 TTL 多久谁有权限读取提示审计合规 vs 业务效率的权衡影像 OCR 文本治理如果客户上传了身份证照片OCR 识别出的文本应如何处理如何将影像文本纳入同一边界策略提示OCR 文本是否也适用“证件号不进长程记忆”规则审计角色设计当前代码中auditor:前缀的用户可读取所有记忆。这种设计是否足够审计员是否需要更细粒度的权限控制7. 下期预告第 8 期落地验收AssuranceReport整条提额链路的 AssuranceReport 与 P4Hotfix-8h。将前 7 期的所有治理机制Identity、SkillContract、四轴、DecisionBoard、ToolSpec、MemoryItem收束为一份可复核的放行证据包。8. 延伸阅读资源说明Metis: Memory Foundation ModelarXiv:2607.26760记忆基础模型研究GDPR 第 5 条数据最小化原则个人数据处理的合法性原则个人信息保护法 第 6 条最小必要原则中国个人信息处理的最小必要原则本卷第 0 期企业公民——Identity AuditEvent身份与审计基础本卷第 1 期技能即契约——SkillContract能力边界契约化本卷第 3 期无状态决策记忆——DecisionBoard多环节决策传递本卷第 8 期落地验收预告AssuranceReport 完整设计本文是「企业智能体工程卷」十期专栏的第 7 期。工作记忆治理——记忆是企业资产不是私货让 Agent 的记忆从“随心所欲的私货”进化为“有边界、有生命周期、有权限、有审计”的企业资产。欢迎转载请注明出处与原文标题。2026-08-10 | 发布

相关新闻

轻量推理模型实战:从Ling-3.0-tiny部署到工程化应用

轻量推理模型实战:从Ling-3.0-tiny部署到工程化应用

在模型部署和推理加速的实践中,我们常常面临一个核心矛盾:如何在保持模型强大能力的同时,使其能够在资源受限的边缘设备或高并发服务中高效运行?近期,蚂蚁集团推出的“百灵”大模型系列新成员——Ling-3.0-tiny&#x…

2026/8/10 3:06:32 阅读更多 →
Python+Django健身房课程预约系统开发实践

Python+Django健身房课程预约系统开发实践

1. 项目背景与核心价值健身房课程预约管理系统是当前健身行业数字化转型的关键基础设施。传统健身房普遍面临课程安排混乱、会员预约效率低下、教练资源分配不合理等问题。我们团队基于PythonDjango/Flask技术栈,结合AI算法能力,开发了一套智能化管理系统…

2026/8/10 3:06:32 阅读更多 →
老薛主机2026终身7折优惠活动详解与配置指南

老薛主机2026终身7折优惠活动详解与配置指南

1. 项目背景与核心价值作为长期关注主机服务的老用户,我发现2026年老薛主机推出的"终身七折新购专享"优惠活动在业内实属罕见。这种长期折扣机制不同于常见的首年促销,它真正解决了用户续费成本高的痛点。根据我近五年跟踪主机市场的经验&…

2026/8/10 3:06:32 阅读更多 →

最新新闻

Vue3 检索增强应用选型:轻量级 Vector 客户端与服务端 RAG 的架构权衡

Vue3 检索增强应用选型:轻量级 Vector 客户端与服务端 RAG 的架构权衡

Vue3 检索增强应用选型:轻量级 Vector 客户端与服务端 RAG 的架构权衡 检索增强应用常在两种方案之间取舍:在浏览器中运行向量模型和索引,或由服务端 Vector DB 提供检索并通过 Server-Sent Events(SSE)返回结果。 端侧…

2026/8/10 4:02:01 阅读更多 →
字母异位词分组算法解析与优化实践

字母异位词分组算法解析与优化实践

1. 字母异位词分组问题解析 遇到字符串处理问题时,字母异位词分组是个经典案例。我在刷LeetCode Hot 100时发现这道题考察点很全面,既考验基础编码能力,又需要巧妙的算法优化思路。这道题要求将给定字符串数组中的字母异位词组合在一起&#…

2026/8/10 4:02:01 阅读更多 →
降低技术工具使用门槛:从“能量-能耗”模型设计低摩擦工作流

降低技术工具使用门槛:从“能量-能耗”模型设计低摩擦工作流

你有没有过这样的体验:明明知道某个工具、某个方法能提升效率,但就是提不起劲去用?或者,你精心准备了一套“最佳实践”分享给团队,大家听完都说好,可一个月后,发现没几个人真的在用。问题可能不…

2026/8/10 4:02:01 阅读更多 →
Netcat网络工具:从基础使用到安全实践

Netcat网络工具:从基础使用到安全实践

1. 网络工程师的"口袋神器":Netcat初探第一次接触Netcat是在2013年的一次应急响应中,当时客户的内网服务器被入侵,所有常规远程管理工具都被攻击者卸载。在近乎绝望的情况下,一位前辈递给我一个不到100KB的可执行文件—…

2026/8/10 4:02:01 阅读更多 →
C语言未定义行为解析与防范指南

C语言未定义行为解析与防范指南

1. C语言未定义行为:程序员必须警惕的暗礁第一次遇到未定义行为是在大学二年级的C语言实验课上。当时我花了整整三个晚上调试一个看似简单的链表程序,每次运行时输出结果都不同,甚至在不修改代码的情况下,程序时而崩溃时而正常运行…

2026/8/10 4:02:01 阅读更多 →
SQLSugar:高性能.NET ORM框架的核心优势与实践

SQLSugar:高性能.NET ORM框架的核心优势与实践

1. 为什么选择SQLSugar作为.NET ORM框架在.NET生态系统中,ORM框架的选择往往让开发者陷入"选择困难症"。SQLSugar作为国产ORM的佼佼者,最近在.NET Core项目中获得了越来越多的采用。根据我在三个企业级项目中的实战经验,SQLSugar的…

2026/8/10 4:01:01 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →