Agent无记忆之痛:为什么用户说了3次“交互屏组装A线”它还在问?

Agent Memory:从“金鱼记忆“到“持久智能“ Cortex Memory:AI记忆框架改变人机交互模式 Cortex Memory是一个基于Rust的高性能AI记忆框架,通过三层架构(抽象→概览→细节)实现智能化长期记忆。对比传统AI交互,具备记忆能力的AI助手能实现: 自然延续对话:无需重复背景说明,直接延续历史上下文 关系型服务:从任务执行升级为个性化伙伴关系 四大场景价值:长期陪伴(学习进度记忆)、客户服务(问题追溯)、知识管理(碎片整合)、Agent自主决策(经验积累) 动态用户画像:构建包含职业背景、偏好模式、目标愿景的立体画像 GitHub 阅读详情
🏭导航收藏不迷路—>制造业数据与AI践行者老蒋的技术博客全系列文章汇总(持续更新)

文章摘要

        与Agent对话时,用户分三次提供了意图、日期、产线名称,但Agent每次都重新询问缺失信息,仿佛患上“失忆症”。本文剖析Agent无状态(Stateless)的设计本质,揭示AgentExecutor默认不携带Memory的机制缺陷,并提供ConversationBufferMemory的接入方案。适用于所有基于LangChain构建对话Agent的开发者。

问题现象

        兄弟们,前面五篇排坑笔记你们一路跟下来了。导入链污染、版本碎片化、中文括号、嵌套JSON、花括号战争——我们一个接一个地解决了。

我以为Agent终于可以好好干活了。

然后我做了一个测试——模拟真实用户的对话习惯,分三次输入信息:

🧑‍💻 你: oee
🤖 Agent: 您好,请告知我要查询哪条产线以及具体是哪个日期的数据?

🧑‍💻 你: 2026-07-18
🤖 Agent: 您想查询哪条生产线在2026-07-18的OEE呢?请提供具体的产线名称。

🧑‍💻 你: 交互屏组装A线
🤖 Agent: 请问您想查询哪一天的OEE数据?

        我当时的第一反应又是:这不科学啊......😀

        我跟它说了三次话:第一次说我要查OEE,第二次给了日期,第三次给了产线名称。正常人(或者说正常程序)应该能把这三条信息拼在一起,然后给我答案吧?

        结果它倒好,我说OEE它问产线,我给产线它问日期,我给日期它又问产线——就像一条金鱼,记忆力只有3秒钟。

根因分析

        说句实在话,这其实不是Agent的Bug,而是它的出厂设置就是这样。但问题是,LangChain的文档里没有把这个“特性”用大字标出来,导致我一开始以为是自己代码写错了。

第一层:Agent是无状态的(Stateless by Design)

        LangChain的AgentExecutor在默认情况下,每次调用invoke()都是一次独立的对话。它不会记住上一次用户说了什么,也不会记住上一次它自己说了什么。

        每次调用时,Agent接收到的信息只有:

  • 当前这一次的用户输入(input)

  • 当前这一次的工具调用历史(intermediate_steps)

        它看不到之前的对话记录。

        这就意味着,当你分三次输入信息时,Agent的视角是这样的:

第1次调用:用户说"oee" → 我不知道产线和日期 → 我问他要
第2次调用:用户说"2026-07-18" → 我不知道这是日期还是别的什么 → 我问他产线
第3次调用:用户说"交互屏组装A线" → 我不知道日期 → 我问他日期

每一次都是全新的一轮对话,之前的上下文全部丢失。

第二层:为什么会这样设计?

        LangChain的设计者可能认为,Agent应该是无状态的、可独立调用的函数——每次输入都独立处理,不依赖外部状态。这样的设计在微服务架构、批量处理等场景下是合理的。

但问题是,我们做的是对话Agent。

        对话的本质是多轮交互,用户不会一次性把所有信息都告诉你,而是像跟人聊天一样,想到哪儿说到哪儿。一个没有记忆的对话Agent,就像一个每次见面都问你“你叫什么名字”的朋友——你会觉得他要么是记性太差,要么是根本不在乎你。

第三层:你可能会问——那我用ConversationBufferMemory不就行了吗?

        是的,ConversationBufferMemory就是解决方案。但LangChain 0.3.x版本中,AgentExecutor对memory的支持方式发生了变化,不是简单传进去就能用的。如果只是把memory塞给AgentExecutor,你会发现它根本不搭理你。

        这也是我花了点时间才搞明白的。

解决方案

        说实话,ConversationBufferMemory这个方案本身不复杂,但LangChain的文档写得跟天书一样,东一榔头西一棒槌。我踩了一遍坑之后,整理出一套能直接跑的办法。

第一步:在common/base_agent_builder.py中注入Memory

        修改BaseAgentBuilder的build方法,把memory挂到AgentExecutor上:

from langchain.memory import ConversationBufferMemory

class BaseAgentBuilder:
    def __init__(self, temperature: float = 0.1, max_iterations: int = 5, with_memory: bool = True):
        self.llm = get_llm(temperature=temperature)
        self.max_iterations = max_iterations
        self.with_memory = with_memory
        self._tools = None

    def build(self) -> AgentExecutor:
        tools = self._register_tools()
        prompt = PromptTemplate.from_template(self._get_prompt_template())
        agent = create_react_agent(self.llm, tools, prompt)
        
        # ---- 关键:注入Memory ----
        memory = None
        if self.with_memory:
            memory = ConversationBufferMemory(
                memory_key="chat_history",
                return_messages=True
            )
        
        executor = AgentExecutor(
            agent=agent,
            tools=tools,
            memory=memory,  # 这里传入memory
            verbose=True,
            max_iterations=self.max_iterations,
            handle_parsing_errors=True
        )
        return executor

第二步:修改Prompt模板,让Agent知道“历史记录”的存在

        这一步是很多人会漏掉的。你光给Agent塞了Memory,但如果不告诉它“你有历史记录可以用”,它还是会无视。

        在_get_prompt_template中,增加chat_history的引用:

def _get_prompt_template(self) -> str:
    return """
    你是一个专业的制造业AI助手。
    
    以下是对话历史记录:
    {chat_history}
    
    当前用户的问题是:{input}
    
    你有权使用以下工具:{tools}
    ...
    """

        这样Agent在每次推理时,都会把之前所有的对话记录都加载到Prompt里,实现“记忆”的效果。

第三步:验证——Agent终于“长记性”了

        修改之后,重新运行测试:

🧑‍💻 你: oee
🤖 Agent: 请问您要查询哪条产线、哪一天的OEE呢?

🧑‍💻 你: 交互屏组装A线
🤖 Agent: 好的,产线是交互屏组装A线,请问具体是哪一天呢?

🧑‍💻 你: 2026-07-12
🤖 Agent: 正在计算交互屏组装A线在2026-07-12的OEE...
🤖 Agent: 交互屏组装A线在2026-07-12的OEE为86.39%。

        这才是对话该有的样子!

经验总结

        怕你忘了,我再啰嗦一遍:Agent默认是金鱼记忆,想让它有长期记忆,你得主动给它装一个“记忆芯片”。

落到具体操作上就是四条:

  1. AgentExecutor默认不携带memory。这是它的设计机制,不是Bug。想让Agent记住对话,必须主动注入ConversationBufferMemory或其它Memory类型。

  2. 注入Memory的同时,必须在Prompt模板里添加{chat_history}占位符。如果你只注入不引用,Agent依然会无视历史记录——就像你给一个健忘症患者配了笔记本,但没告诉他要翻笔记本一样。

  3. ConversationBufferMemory会随着对话变长而膨胀。如果对话轮次很多(超过20轮),建议换成ConversationSummaryMemory或ConversationBufferWindowMemory,避免Token超限。

  4. Case02将完整实现带记忆的Agent。本文只介绍了核心原理和最小实现方案。在即将发布的Case02中,我们会做一个完整的、可直接复用的带记忆Agent,支持持久化存储和跨会话记忆。

系列导航

📚 排坑笔记系列汇总

至此,《数据与AI工程排坑笔记》系列6篇文章已全部交付:

编号标题状态
坑01__init__.py导入链污染✅ 已发布
坑02LangChain版本碎片化✅ 待发布
坑03Pydantic中文括号SyntaxError✅ 待发布
坑04Agent嵌套JSON套娃✅ 待发布
坑05PromptTemplate花括号冲突✅ 待发布
坑06Agent无记忆之痛✅ 待发布

本文问题源自:智联工坊实战:制造知识库工具调用Agent从零搭建(OEE+手册+排班)-优快云博客 完整源码及深度教程见该文详细内容。

💡 建议收藏:下次遇到Agent“金鱼记忆”问题,可以快速对照本文排查。

互动与交流

         你在使用LangChain Agent时,有没有被它“金鱼般的记忆”折磨过?欢迎在评论区吐槽,或者分享你配置Memory时遇到的奇葩问题——咱们互相支支招。

关于作者

        制造业数据与AI践行者老蒋,23年IT老兵。聚焦制造业数据架构与AI融合落地。全流程实战,全源码开源。

标签:#排坑笔记 #LangChain #Agent #记忆系统

GPU服务器选购避坑指南:从硬件配置到场景化性能调优 本文提供GPU服务器选购的全面指南,涵盖硬件架构解析、应用场景配置策略和性能调优实践。针对大模型训练、推理服务和科学计算等场景,详细分析GPU选型、内存带宽匹配和散热设计等关键因素,帮助技术决策者避免常见配置误区,实现成本效益最大化。 阅读详情

相关推荐

3款主流AIGC模型部署方案对比:本地、云端与混合架构的成本与性能分析

本文对比分析了3种主流AIGC模型部署方案(本地、云端与混合架构)的成本与性能差异,帮助企业在预算、性能和维护复杂度之间找到最佳平衡点。通过实际案例和详细数据,展示了不同部署方式在延迟、扩展性、数据隐私等方面的优劣势,为技术决策者提供实用参考。

weixin_33158887的博客 370

从“金鱼脑”到“大象记忆”:AI Agent 短期记忆与长期记忆的存储与检索全解

短期记忆和长期记忆,是 Agent 认知架构的两大支柱。短期记忆保证了 Agent 在当前任务中的流畅与专注;长期记忆则赋予了它跨越时间的连续性与学习能力。理解它们的区别,不是学术探讨,而是工程落地的必修课。在此基础上,OpenClaw 的 Dreaming 机制为我们展示了一个更前沿的方向——让 Agent 不只是“存储”和“检索”,而是像人类一样,在“睡眠”中主动对记忆进行巩固、提炼和升华,最终实现从“记住”到“理解”的跨越。底部锚点⬆ ⬆ 顶部 ⬆ ⬆⬇ ⬇ 底部 ⬇ ⬇。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1490

基于docker进行安装部署seata,解决Seata的版本与Nacos的版本不匹配

本文分享了在Docker环境下部署Seata时遇到Nacos 3.x API不兼容问题的解决方案。由于Seata 2.0.0内置的nacos-client 1.4.2无法调用Nacos 3.x重构后的接口,导致注册失败。通过下载Seata 2.6.0源码自行构建Docker镜像,并调整启动方式(直接执行Java命令绕过Shell脚本),最终成功实现与Nacos 3.x的集成。关键步骤包括:创建自定义Dockerfile、配置application.yml、处理启动脚本兼容性问题,最终采用java直接运行方案

Dd52698的博客 404

总算有人把Agent智能体记忆说清楚了

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

star_nwe的博客 1805

Maya ACES工作流程配置(Arnold 及 RedShift 贴图配置规范-还原出SP-Aces流程下贴图正确的效果) PS还原Aces流程下渲染的图

*如果使用SP,项目工程如果新建的时候设置的就是Aces的流程的话,按规范正常导出即可,贴图会带上相对应的后缀,然后贴图导入材质球的时候会根据后缀自动设置相对应的色彩空间;**万一不是,就自己手动设置一下对应的色彩空间即可;然后点击选择当前的或者选择全部导入的贴图,点击右下角后,开始转换;我复制了一下,一个默认没有LUT的效果,然后另外一个是加载2个LUT后的还原效果,和渲染的效果应该是没有区别的,至少我没有看出明显的区别;把需要转换的贴图拖拽到左侧,然后右面选择需要转换到的相对应的色彩空间;...

Yuulily 7992

DDR内存设计必看:DFI接口协议详解与实战避坑指南(附时序图解析)

本文深入解析了DDR内存设计中连接内存控制器与物理层的DFI接口协议,聚焦于DDR4/DDR5设计的实际痛点。文章详细阐述了协议版本兼容性、时钟架构(匹配频率与频率比系统)、PCB信号完整性设计以及上电初始化与调试等关键环节,为硬件工程师提供了一套从理论到实战的完整避坑指南,并附有时序图解析以助理解。

weixin_29256771的博客 329

Agent如何帮助大模型“增强记忆”?

Reflection是对Agent每步子任务的反馈,把反馈放入记忆中,就像Agent的错题集一样,能够在未来遇到类似的任务时,能够提供的对应的Reflection改进建议,从而提高准确率。这意味着,Agent可以根据用户的历史交互记录,逐渐了解用户的习惯、偏好和特定需求,从而在未来的交互中提供更个性化和精准的服务。在实际使用Chat类以及Agent类应用的时候,在开启新的话题时,用户会选择开启新的Session(会话)来进行对话,这不仅是一种对于交互主题的一种分类,也能让每个会话的记忆相互隔离。

2401_82452722的博客 1357

[Unity3D]水族馆游戏教程四

文章目录0.接上篇1.速度控制器2.修改FishAI3.修改后的效果4.总结 0.接上篇 上一篇,实现了鱼AI的随机游动、自动转向,并且学习了如何分析调试过程中遇到的报错。 本篇将继续优化鱼AI。 1.速度控制器 上一篇虽然实现了鱼的随机游动,但是可以看到,鱼在转向的时候,会显得很突然。因此先要解决这个问题。 我们的思路是,让鱼在刚转向的时候,速度由慢到快,等到游动到快要到达目标点的时候,速度减慢...

延澈左的专栏 1035

【论文阅读】Agent 记忆机制(1):A-Mem——让 Agent 记忆从“存储”走向“自进化”

最近Agent超火,然而我的科研课题和 Agent 没有一点关系,于是读读 Agent 相关论文,希望学习一下这一最新的技术,后续打算自己也做一做 Agent 项目。本文主要整理的是 **A-Mem: Agentic Memory for LLM Agents** 这篇论文。先暂时写一个初稿,后续慢慢补充。

weixin_45642847的博客 748

001、专栏导论:为什么我们需要MLIR与算子中间表示

五年前,大家还在争论“TVM还是XLA”。现在回头看,TVM的Relay IR和XLA的HLO都是特定领域的IR,它们解决了各自的问题,但缺乏通用性。MLIR的出现,本质上是因为硬件异构化已经到了一个临界点——CPU、GPU、NPU、DSP、FPGA,每个硬件都有自己的指令集和内存层次,没有一个统一的IR能同时高效表达所有硬件的计算模式。MLIR的“方言+渐进式lowering”模式,恰好提供了这种灵活性。你可以为每个硬件定制一套方言,然后共享公共的lowering路径。

Jack010169的博客 485

Serial RapidIO Gen2 IP 说明(一)

概述 高速IO(RapidIO)互联架构,用来兼容当前最流行的集成通信处理器、主处理器、联网的数字信号处理器,是一种高性能、分组交换(报文交换)的互联技术。它解决了高性能嵌入式产业稳定性、高带宽以及系统内部更快的总线速率的需求。 高速IO(RapidIO)标准由三层定义:逻辑层、传输层、物理层。逻辑层定义了所有的协议内容和报文格式。这些是终端发起和完成一次传输所必需的信息。传输层提供了报文从一个端点传输到另外一个端点必要的路线信息。物理层则描述了设备级的端口声明,如报...

记录所学,分享知识,结识挚友 1497

Prompt 在游戏 NPC Agent 中的应用:角色一致性、记忆和交互逻辑

NPC Agent 的 Prompt 工程是一门"角色约束的艺术"——不是让 LLM 自由发挥,而是通过多层约束把 LLM 锁定在一个角色里。角色档案:定义"我是谁"——身份、性格、故事。知识边界:定义"我知道什么"——不能超出。禁令列表:定义"我绝对不能做什么"——最后防线。记忆系统:提供上下文——"我们之前聊过什么"。关系系统:提供情感上下文——"我对你的好感度是多少"。一致性自检:兜底——"我刚才说的符合角色吗?前五层是约束的注入,第六层是约束的验证。两者缺一不可。

2401_87746054的博客 2883

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LangGraph 向量语义记忆:让 Agent 拥有「联想」能力

本文围绕向量语义记忆展开,介绍如何借助真实嵌入模型与ChromaDB,让智能体突破线程限制,按语义跨会话召回用户偏好、事实与历史信息。文章通过向量存储、对话召回、多用户隔离和故障降级四组实战,拆解“召回—回答—写回”闭环,并复现持久化场景下的记忆污染与用户串味问题。重点说明显式传入向量、元数据过滤、稳定标识去重、冷启动兜底及召回质量评估等工程方法,强调向量记忆应与检查点协同使用:前者负责联想,后者负责精确恢复,从而构建安全、可靠、可持续演进的长期记忆系统。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

深入理解AI Agent用户记忆的双层次结构:从Contextual RAG到自主进化的完整指南

在当今AI Agent快速发展的时代,用户记忆系统已成为衡量智能助手能力的关键指标。《深入理解AI Agent:设计原理与工程实践》一书中深入探讨了用户记忆的双层次结构及其实现机制,为我们揭示了AI Agent如何从"聪明"走向"熟练"的核心秘密。本文将带你了解用户记忆的双层次结构设计原理,以及Contextual RAG技术在其中的关键作用,帮助你构建真正具备个性化、连续性服务的智能助手。 #

gitblog_01085的博客 428

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【Spring AI Alibaba】⑥ 记忆管理(Memory):让Agent拥有“长期记忆“的智能方法

本文聚焦2024年AI领域的关键突破与社会影响。从生成式大模型的商业化落地,到AI在医疗诊断、教育个性化中的创新应用,我们深入剖析技术如何重塑行业生态。同时,文章探讨数据隐私、就业转型等挑战,强调伦理治理与跨领域协作的必要性。通过全球案例与数据支撑,作者提出“向善AI”发展路径,呼吁企业、政府与公众共同构建负责任的创新环境。本综述为技术从业者、政策制定者及普通读者提供清晰洞见,助力在AI浪潮中把握机遇、应对变革,推动技术真正服务于人类福祉的可持续未来。

xiezhiyi007的专栏 1725

如何搭建一个「带记忆」的语音 AI Agent

要把这种“短期记忆的对话玩具”变成一个真正能陪伴、能成长的 Agent,缺的就是记忆层。

zgjyds的博客 1686

为什么你的 Agent 总是“断片”?

本文深入探讨了AI Agent的记忆系统构建,提出Qwen-Agent的三级RAG架构解决方案:L1关键词检索(BM25算法)、L2并行分块阅读和L3多跳逻辑推理。针对海量数据处理,推荐使用Elasticsearch作为永久存储,并详细介绍了其安装配置和BM25算法原理。同时阐述了从字符匹配到语义对齐的感知力跨越,通过Qwen3-Embedding实现语义检索,以及MCP机制实现实时外部数据获取。最后展示了Gradio的界面优化技巧,包括布局设计和交互体验提升,形成完整的Agent信息处理闭环。文末提供完整

【javatoai17819112191】→Java && python && AI Agent工程师 913

Agent记忆模块详解:让AI拥有“记忆“的工程实践与面试技巧!

本文深入解析Agent记忆模块的原理与工程实现,详细说明短期记忆(上下文缓存)与长期记忆(向量存储)的区别与应用场景,探讨存储方式选择、内容更新机制等工程化问题,并通过企业知识助手、会议纪要等真实案例展示记忆系统的落地方法,为面试和实际开发提供全面指导,帮助开发者掌握Agent记忆系统的设计精髓。

m0_63171455的博客 1645

面试官问:Agent的记忆模块是怎么实现的?

记忆模块的核心价值: 让模型具备“长期状态感”,从短期问答进化为真正的 Agent。两类核心机制: 短期记忆保上下文一致性,长期记忆保知识持续性。实现关键: 存储(Vector Store)+ 检索(Retrieval)+ 更新(Summarize)。工程取舍: 灵活与效率、容量与可控之间永远是平衡问题。面试启发: 会讲原理没用,能解释“为什么这样设计”才显得懂工程。

jennycisp的博客 1172

AI Agent 记忆技术浅析

Agent记忆(Agent Memory)是指AI Agent在执行任务过程中存储和管理信息的能力和机制。它类似于人类的记忆系统,使Agent能够记住过去的交互、经验和知识,并在后续任务中利用这些信息做出更好的决策。这种记忆机制对于实现持续学习和处理长期任务至关重要。

m0_59163425的博客 2915

Agent Memory 面试通关 18 问:面试官问「用户昨天说了什么」你怎么答?

面了 8 家 Agent 岗,6 家追问 Memory。 不是"你了解 Memory 吗"这种送分题——是"你的 Agent 跨会话怎么记住用户偏好"、"记忆里存了矛盾信息你怎么处理"、"设计一个支持 100 万用户的记忆系统"。

m0_59235245的博客 366

智能体的记忆系统:为什么你的Agent总是“忘了上回说了什么“

用户说"把刚才那个改成红色的",Agent回"请问您说的'那个'是指什么?"——这是大部分Agent demo的通病。本文从工程角度拆解智能体记忆系统的三层架构:短期记忆、长期记忆、工作记忆,带完整的实现方案和代码结构。

z_soft_ym的博客 316

AI Agent 企业大脑:为什么你的 Agent 总是“金鱼记忆“?

企业大脑这个概念最近两年被频繁提及,但大多数人的理解还停留在"一个很厉害的 AI 系统"这个模糊的层面上。先澄清一个容易混淆的点:这里说的"记忆",不是简单地指"把企业的文档资料存起来"。它借鉴了人类记忆的机制,包含了更丰富的含义——既包括企业的制度文档、操作手册这类"知识性资料",也包括企业过去发生的事件记录(比如某客户上个月投诉过什么、某项目去年延期原因是什么),还包括 Agent 的操作技能(比如怎么调 ERP 接口、怎么走审批流程)。

xiancai_xianyu的博客 348

[工欲善其事] 从Agent到MCP到A2A

近期在疯狂复习LLM领域的相关知识,想着还是通过输出的方式沉淀下来, 今天介绍的是应用层面的东西。

邮箱 rex.guan@outlook.com 808

为什么说记忆是 AI Agent 的“灵魂”?从一道面试题聊起

为什么说记忆是 Agent 的“灵魂”?从一道面试题聊起。记忆不是简单的历史记录存储,而是 Agent 理解上下文、积累经验、选择行动的核心机制。某种意义上,它决定了 Agent 是否真正“像一个长期协作的智能体”。

gufachongyang02的专栏 442

# Agent记忆机制:人工智能拥有“记忆”意味着什么

如果你正在构建一个真正智能的AI助手,它能否记住上一次对话中用户提到的偏好?能否从过去的失败中学习到有效的策略?能否在处理长文档时保持对关键信息的追踪?这些能力的背后,都离不开一个核心机制——Agent记忆系统。本文将深入浅出地解析当前AI Agent领域最前沿的记忆机制设计。

白洞,白色的明天在等着我们 866
上一篇: 离谱!PromptTemplate 遇上 JSON,花括号直接引发解析战争
下一篇: 我用 WorkBuddy 分析了 30 篇 优快云 博客,发现 3 个反直觉的流量真相
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值