AI Agent 开发新方式:使用 Memory Wrapper 简化 AI 长期记忆管理 📅 2026/8/5 5:07:40 AI 应用为什么需要 Memory随着大语言模型应用越来越普及很多开发者开始构建企业知识助手、AI 客服、智能 Agent 和个人 AI 助手。但是很快会遇到一个问题模型本身并不会真正记住用户。例如用户第一次告诉 AI“我喜欢使用 C# 和 .NET 开发”下一次聊天时说“帮我设计一个后端架构”如果没有记忆机制AI 并不知道用户的技术背景回答就会缺乏针对性。因此AI 应用通常需要增加 Memory记忆能力。一个完整的 AI Memory 流程通常包含用户输入 → 查询历史记忆 → 组合 Prompt → 调用 LLM → 提取新的用户事实 → 保存记忆。看起来简单但是在实际项目中每次聊天都需要重复编写查询记忆、拼接上下文、构造 Prompt、调用模型、提取新信息等代码。随着业务增长这部分代码会越来越多维护成本也在不断上升。Memory Wrapper把重复流程封装起来为了解决这个问题一些 AI Memory 框架开始提供类似MemoryEnabledChat这样的聊天包装服务。它的核心思想非常简单开发者只负责调用 LLM记忆管理交给框架。原本每次聊天都需要手动编写查询记忆、构造 Prompt、调用模型、保存记忆等步骤var memories await memory.QueryAsync(message, userId); var prompt BuildPrompt(systemPrompt, memories); var result await CallLLM(prompt, message); await memory.ExtractAsync(result, userId);使用 Memory Wrapper 后代码明显更加清晰只需要关注核心的业务调用var result await chat.ChatAsync( message, userId, (prompt, msg) CallOpenAiAsync(prompt, msg));MemoryEnabledChat 内部做了什么虽然调用代码变简单但内部依然执行完整的记忆管理流程。第一步检索历史记忆当用户输入“帮我设计一个订单系统”时系统首先查询用户的历史信息例如用户熟悉 .NET、使用 PostgreSQL、喜欢 DDD 架构等这些信息会作为上下文提供给模型让回答更加个性化。第二步自动构建 Prompt框架会自动组合 System Prompt、用户历史记忆和当前问题最终发送给 LLM。例如系统会构造类似“你是一名 .NET 架构专家。用户熟悉 ASP.NET Core喜欢 DDD 设计。问题帮我设计订单系统。”这样的完整提示让 AI 的回答更加符合用户背景。第三步调用大模型框架通过委托调用实际模型例如 OpenAI、Azure OpenAI、Claude、Ollama 或 DeepSeek。这样设计的好处是 Memory 层不关心具体使用哪种模型只需要提供一个统一调用入口即可。第四步后台提取新记忆一次聊天结束后系统可以自动从对话中提取新的用户事实。例如用户说“我现在主要使用 .NET 8 开发企业应用”系统可以自动提取出技术栈和业务领域等信息并保存下一次聊天时自动使用。为什么需要异常隔离Memory 属于增强能力不应该影响核心聊天功能。例如当数据库暂时不可用导致 Memory 查询失败时正确设计应该是让聊天功能继续运行只是缺少了一些历史上下文而不是让整个 AI 助手不可用。因此Memory 提取通常采用异常隔离的方式即使记忆操作失败核心聊天功能仍然可以正常响应。这种设计属于典型的降级设计确保系统的核心功能始终可用。灵活配置 Memory 行为实际项目中不同场景需要不同策略。例如可以通过QueryOptions控制查询数量只取最相关的 5 条记忆也可以设置相似度阈值避免召回大量无关信息。此外还可以自定义 System Prompt例如“你是一名企业级 .NET 架构专家回答问题时优先考虑性能、可维护性和企业实践”让 AI 保持稳定的行为风格。从手写 Memory 到自动管理传统方式中业务代码需要手动处理 Memory 查询、Prompt 拼接、LLM 调用和 Memory 保存导致重复代码多、容易遗漏步骤、不同模块实现不一致。优化后业务代码只关注用户想解决什么问题记忆管理全部交给MemoryEnabledChat自动处理。MemoryEnabledChat 是什么很多同学看到MemoryEnabledChat后第一个疑问就是它属于哪个 NuGet 包需要安装什么实际上它不是 OpenAI SDK 的功能也不是 ASP.NET Core 自带的能力而是 BlazorMemory 提供的聊天封装服务如果使用的是包含该功能的版本。它的作用是在聊天过程中自动完成记忆检索、Prompt 拼接和记忆提取让业务代码只关注调用大模型。如果你准备使用它首先需要安装 BlazorMemory 的核心包以及对应的存储、Embedding 和 Extractor 包例如dotnet add package BlazorMemory dotnet add package BlazorMemory.Storage.IndexedDb dotnet add package BlazorMemory.Embeddings.OpenAi dotnet add package BlazorMemory.Extractor.OpenAi如果是 ASP.NET Core 服务端项目则通常使用 EF Core 存储dotnet add package BlazorMemory.Storage.EfCore然后在Program.cs中注册服务builder.Services .AddBlazorMemory() .UseEfCoreStorageAppDbContext() .UseOpenAiEmbeddings(apiKey) .UseOpenAiExtractor(apiKey); // 如果你的版本支持再注册 .UseMemoryEnabledChat();★注意如果你使用的是作者尚未正式发布的版本需要以对应版本的 Release Notes 或 GitHub 文档为准。上面代码仅供参考具体请查看 GitHub: https://github.com/aftabkh4n/BlazorMemory总结AI Agent 的核心竞争力不只是调用大模型。真正优秀的 AI 应用还需要长期记忆、用户画像、上下文管理和 Prompt 优化等能力。但是 Memory 管理本身又容易产生大量重复代码。通过 Memory Wrapper 这种设计可以把“查询记忆 → 构造 Prompt → 调用模型 → 保存记忆”这一整套流程封装起来让开发者从繁琐的编排工作中解放出来。对于 .NET 开发者来说这种模式非常适合构建企业 AI 助手、RAG 应用、智能客服和 Agent 系统。未来 AI 应用开发很可能会从手动编排流程逐渐走向框架自动管理上下文的模式。开发者只需要关注业务逻辑和用户体验让框架来处理那些重复的、通用的基础设施工作。学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取四、AI大模型商业化落地方案作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。