Skip to content
Go back

Foundry Memory at Build 2026:让 Agent 记住步骤和边界

Microsoft Foundry 这篇 Build 2026 更新,讲的是 Agent memory。它的重点从“记住用户喜欢什么”,扩展到一个更工程化的问题:Agent 能不能从过去的任务里学到可复用步骤,之后遇到相似任务时更稳定地执行。

如果你正在做客服、审批、订单、差旅这类多步骤 Agent,这篇更新值得看。因为很多失败来自流程执行问题:跳过校验、误用工具、漏掉政策检查,或者在相似任务里反复犯同一种错。

记忆的新重点

原文开头把背景说得很清楚:memory 一直关系到个性化和连续性,但当客户把 Agent 从 demo 推到生产环境后,可靠性变得同样重要。

这次更新围绕几个能力展开:

这些能力合在一起,说明 Agent memory 的方向正在变化。它不只服务于“下次聊天更像认识你”,也服务于“下次执行同类任务时更少漏步骤”。

流程记忆

procedural memory 可以翻译成“流程记忆”。通俗地说,它保存的是“什么情况下该按哪些步骤做”。

原文给出的失败例子很具体:企业 Agent 可能知道正确事实,仍然会因为没有执行正确流程而失败。比如跳过 validation step,误用 tool,漏掉 required policy check,或在类似任务中重复错误模式。

procedural memory 的工作方式分两步。

第一步,系统摄取并审计 agent trajectories。这里的 trajectory 可以理解为 Agent 完成任务时留下的执行轨迹,包括对话、工具调用、结果和中间决策。系统会从中识别成功模式、低效路径和缺失步骤,再提取结构化流程记忆。

这些流程记忆会记录两类信息:

第二步,Agent 遇到相似任务时,系统检索相关流程并注入上下文。这样 Agent 会看到明确的步骤级约束,比如必须做哪些验证、工具参数该怎么填、哪些政策检查不能省。

这类记忆对企业任务很关键。因为企业任务常常会改变系统状态:退款、改订单、更新账号、确认资格。漏一步可能带来真实成本。

评估证据

原文提到,Microsoft 几周前发布了 STATE-Bench,全称是 Stateful Task Agent Evaluation Benchmark。它是一个开源、memory-agnostic 的 benchmark,用来衡量 Agent 是否能在真实企业任务中随着经验改善。

这里的 memory-agnostic 是指它不限定你使用哪一种记忆实现。你可以带自己的 memory 系统来测试,重点看 Agent 表现有没有变好。

STATE-Bench 的发布文章补充了更多信息:它覆盖 customer support、travel、shopping 三个领域,共 450 个任务,任务包含 policy compliance、information synthesis 和 multi-step reasoning procedures。

它关注三类特征:

这比单纯测试“能不能从 50 轮前找回一个名字”更接近生产环境。原文还提到,在启用 procedural memory 后,Microsoft 在 STATE-Bench 和 Tau-Bench 评估里看到约 5% 改善。

这个数字不该被解读成所有 Agent 都会自动提升 5%。更合理的理解是:如果你的任务包含重复流程、工具调用和政策检查,流程记忆开始有可测量价值。

管理和可见性

企业团队使用 memory 时,另一个问题是透明度。Agent 记住了什么,为什么记住,能不能改,能不能删,这些都不能靠猜。

这次 Foundry portal 增加了 memory 管理体验。开发者可以直接查看 stored memories,并对单个 memory item 做 CRUD 操作。CRUD 是 create、read、update、delete 的缩写,意思是创建、读取、更新和删除。

Microsoft Learn 的 memory 文档也给出了一组更具体的管理接口:创建 memory store、更新属性、列出 store、创建 memory item、读取 item、列出 item、更新 item、删除 item,以及按 scope 删除某个用户或团队的记忆。

这里的 scope 是 memory 的隔离键。你可以把它理解成“这条记忆属于谁”。文档建议在使用 memory search tool 时把 scope 设为 {{$userId}},系统可以从 x-memory-user-id 请求头解析最终用户身份。直接调用底层 memory API 时,需要自己显式传入 scope。

这个细节很重要。Agent memory 一旦进入生产环境,隔离错误会比“记错一句偏好”严重得多。最基本的要求是不同用户、团队或租户的记忆不能串到一起。

TTL 和用户控制

原文这次还提到 Memory TTL。TTL 是 Time-to-Live,意思是生存时间。创建 memory store 时可以配置默认 TTL,让旧的、价值较低的记忆自动退休。

TTL 有两个现实用途:

原文给出的 Python 配置片段里,default_ttl_seconds=30 * 24 * 60 * 60,也就是默认 30 天。

options = MemoryStoreDefaultOptions(
    chat_summary_enabled=True,
    user_profile_enabled=True,
    procedural_memory_enabled=True,
    default_ttl_seconds=30 * 24 * 60 * 60,
    user_profile_details=(
        "Avoid irrelevant or sensitive data, such as age, financial details, "
        "or anything not useful for personalizing future conversations."
    ),
)

direct memory commands 解决的是另一个用户体验问题:用户可以明确告诉 Agent 记住或忘记某件事。对用户来说,这比被动猜测系统是否记录了信息更清楚。

Microsoft Learn 的最佳实践里也强调了类似要求:实现按用户隔离的访问控制,只存必要数据,支持隐私和合规,允许用户访问和删除数据,记录删除操作,监控 memory 使用,并在产品界面里说明保留策略。

多模态记忆

multimodal support 让 Agent 可以理解并记住图片里的信息。原文提到,这对 e-commerce 和 customer support 场景尤其有用。

举个更贴近日常开发的例子:用户上传商品照片、故障截图、收据、包装标签或 UI 错误界面时,Agent 不只需要回答当前问题,也可能需要记住与后续处理相关的信息。

这类能力也要谨慎使用。图片里的信息可能包含地址、订单号、联系人、价格、设备序列号或敏感业务内容。是否写入长期 memory,应该由明确的规则控制,不能把“看过”自动等同于“应该长期保存”。

文件记忆

原文还提到,memory 也会通过 file-based memory 进入 Microsoft Agent Framework。它的目标是降低开发者起步成本:一开始可以用 Markdown 文件做本地 memory,方便检查、理解和版本管理;应用成熟后,再沿着相同开发模型扩展到更完整的存储和管理形态。

原文给出的 Python 示例大致是这样:

from agent_framework import Agent, MemoryContextProvider, MemoryFileStore

store = MemoryFileStore(
    base_path=Path("./memory"),
    owner_state_key=MEMORY_OWNER_STATE_KEY,
)

memory_provider = MemoryContextProvider(store=store)

agent = Agent(
    client=client,
    name="MemoryDemoAgent",
    instructions="You are a helpful assistant.",
    context_providers=[memory_provider],
)

这个设计对早期原型很友好。文件记忆可以直接打开看,也容易纳入测试和版本记录。等系统需要托管、隔离、审计和规模化存储时,再迁移到 Foundry Agent Service 的 memory store。

实践判断

如果你正在评估 Agent memory,可以按四个问题来判断这次更新是否相关。

你的 Agent 是否经常重复执行相似流程?如果是,procedural memory 可能比普通偏好记忆更有价值。

你的任务是否会改变系统状态?如果会,STATE-Bench 这类评估方式更有参考意义,因为它关心工具执行、政策检查和最终状态。

你的产品是否需要用户信任?如果需要,管理 UI、CRUD、scope、TTL、删除记录和 direct memory commands 都要进入设计清单。

你的团队是否还在原型阶段?如果是,file-based memory 可以先让开发者看清 memory 到底存了什么,再决定是否接入托管 memory store。

这篇更新最值得带走的判断是:Agent memory 的难点不只是“记得多”,还包括“记得准、用得对、能解释、能删除、能过期”。当 Agent 开始执行真实业务时,这些边界会决定它能走多远。

如果你关注 AI 助手、开发工具和软件工程实践,可以关注 Aide Hub。这里会继续分享能实际使用的工具教程、技术观察和项目经验。

参考


Tags


Next

Microsoft Agent Framework at Build 2026:从本地 Agent 到生产运行