欧洲网站服务器提取卡密网站怎么做
2026/1/18 15:17:50 网站建设 项目流程
欧洲网站服务器,提取卡密网站怎么做,企业vi设计图片,上海网站策划引言 在与 AI Agent 的长时间交互中#xff0c;你是否遇到过这样的困扰#xff1a;明明上次已经告诉它你的偏好#xff0c;但这次它又重新询问#xff1f;或者在处理复杂任务时#xff0c;AI 突然失忆#xff0c;忘记了之前讨论的关键决策#xff1f; 这些问…引言在与 AI Agent 的长时间交互中你是否遇到过这样的困扰明明上次已经告诉它你的偏好但这次它又重新询问或者在处理复杂任务时AI 突然失忆忘记了之前讨论的关键决策这些问题的根源在于AI Agent 缺乏持久化的记忆能力。而记忆系统的引入正是为了让 AI 从健忘的助手进化为懂你的伙伴。一、为什么要引入记忆1.1 上下文的天然局限大语言模型LLM虽然强大但它们面临一个根本性约束上下文窗口是有限的。即使最新的模型支持 100 万甚至 200 万 token 的上下文在实际应用中仍然存在三个关键问题成本问题每次对话都携带完整历史记录计算成本呈线性增长效率问题上下文越长推理速度越慢用户体验下降噪音问题大量无关信息会干扰模型的判断降低输出质量1.2 用户体验的刚需从用户角度看记忆系统解决了几个核心痛点个性化体验记住用户的偏好、习惯和特殊要求连续性任务在多轮对话或跨会话中保持任务的连贯性效率提升避免重复性的信息输入和说明信任建立AI 能记住你说过的话增强人机信任感1.3 复杂任务的必然要求在代码开发、项目管理等复杂场景中记忆系统更是不可或缺记住项目的架构决策和设计模式跟踪已修复的 bug 和错误模式保存用户的编码规范和风格偏好维护任务的依赖关系和优先级二、记忆是如何实现的2.1 记忆系统的基本架构在Agent 记忆系统Agent Memory System的设计中核心目标是让 Agent 在长期交互与任务执行中既能记住重要的事又不会被无关信息拖慢或污染推理。从工程和认知两个维度来看Agent 的记忆通常可以分为以下几大类型并且在成熟系统中往往是组合使用的。维度一按「时间尺度」划分最常见、最核心记忆类型作用典型内容实现方式特点重要性短期记忆(Short-Term Memory /Working Memory)支撑当前一步或几步的推理类似人类的工作记忆• 最近 N 轮对话• 当前任务上下文• 中间推理结果scratchpad / chain-of-thought 的压缩版• Prompt 中直接拼接• Sliding Window• Recent Messages Buffer• 生命周期短• 每次请求都会加载• 成本高占 token几乎所有 Agent 都有中期记忆(Episodic Memory /Session Memory)记住发生过的事件跨多轮任务仍然可用但不是永久• 完成过哪些任务• 用户最近的偏好变化• 上一次失败 / 成功的策略• 结构化日志JSON / DB• 向量化存储 相似度检索• 会话级缓存Session Store• 可检索• 不每次都加载• 触发式注入上下文决定 Agent 是否有连续感长期记忆(Long-Term Memory /Persistent Memory)形成长期认知影响未来决策和行为风格• 用户稳定偏好• 固定事实User Profile• Agent 自身能力边界、经验总结• Key-Value Memory• 文本 Embedding• 显式 Memory Store如 Claude / Cursor Memory• 持久化• 写入受控• 读取高度选择性最难设计也最容易记坏维度二按「内容性质」划分比时间更重要记忆类型存储内容典型例子实现方式特点评价事实性记忆(Semantic /Factual Memory)不随时间变化的事实是什么• 用户使用 Java / Python• 项目技术栈• 业务规则结构化存储• 低频写高频读• 适合结构化存储最安全、性价比最高的记忆类型经验记忆(Procedural /Skill Memory)怎么做成功或失败的策略• 解决某类 Bug 的步骤• 某种 Prompt 模板效果很好• 排班问题用 CP-SAT 比 MILP 更稳• Rule / Template• Skill 文件• Tool 调用策略• 可复用• 高价值Claude Skills 就是典型代表情景记忆(Episodic Memory)一次完整事件含上下文、过程、结果• 在 2024-12 的一次排班优化中因为约束冲突导致模型不可行向量化存储• 高维、非结构化• 用于类比推理用于经验学习和问题诊断偏好与风格记忆(Preference /Personality Memory)用户偏好表达风格输出习惯• 喜欢表格而不是长文• 代码优先于解释• 中文 专业术语Key-Value 或配置文件• 影响交互体验• 需要动态更新决定 Agent 的个性化程度维度三按「使用方式」划分工程视角记忆类型定义特征示例优势风险显式记忆(Explicit Memory)明确写入明确读取有规则、有生命周期• 结构化• 可追溯• 用户可见{type: user_preference, key: response_style, value: engineering-oriented}✔ 可控✔ 可调试✔ 可删除需要显式管理接口隐式记忆(Implicit Memory)融入模型权重或 Prompt 模板用户不可见难以删除• 不可见• 难以修改• 系统级• System Prompt 中的行为约束• 微调模型的偏置不需要额外存储和检索⚠️ 风险高⚠️ 不适合个性化长期记忆一个成熟 Agent 的记忆组合架构/* by yours.tools - online tools website : yours.tools/zh/json2get.html */ ┌───────────┐ │ System │ ← 角色、规则几乎不变 └────┬──────┘ │ ┌────▼──────┐ │ Short-Term│ ← 最近对话 / 当前任务 └────┬──────┘ │ ┌────▼─────────────┐ │ Memory Retriever │ ← 向量 / 规则 └────┬─────────────┘ │ ┌────▼──────┐ │ Long-Term │ ← 事实 / 偏好 / 经验 └───────────┘关键设计原则非常重要1️⃣不是记得越多越好2️⃣写记忆要比读记忆更谨慎3️⃣事实、偏好、经验必须分层存储4️⃣记忆必须可解释、可回滚、可过期5️⃣Agent 失败80% 是记忆污染一句话总结Agent 的记忆不是聊天记录而是可被检索、可被治理的认知资产。三、引入记忆会带来什么问题3.1 上下文容量的权衡虽然记忆系统旨在缓解上下文限制但它本身也会占用上下文空间记忆注入开销每次对话需要注入相关记忆占用 token边际效益递减注入的记忆越多噪音也越大检索精度困境检索不准确会引入无关记忆反而降低性能3.2 记忆的一致性和准确性记忆冲突不同时间的记忆可能互相矛盾记忆失真模型可能错误理解或记录信息记忆过时用户偏好改变旧记忆成为干扰3.3 隐私和安全问题敏感信息泄露记忆可能包含用户不希望保留的敏感信息记忆污染攻击恶意用户可能故意植入误导性记忆跨会话泄漏不当的记忆管理可能导致信息跨用户泄漏3.4 系统复杂度的增加存储成本大规模记忆需要持久化存储和索引维护成本记忆的更新、删除、去重需要额外逻辑调试困难记忆系统引入新的不确定性问题排查更复杂四、Cursor 记忆工具的设计启示当我们为 Agent 引入记忆系统之后一个随之而来的核心问题便是如何更加合理地使用与维护这些记忆创建记忆本身并不困难真正具有挑战性的是记忆的更新与删除机制。一般而言我们最直观的做法是通过规则来解决这些问题。例如设定时间窗口或最近对话轮数来筛选可用记忆在生成新的对话内容后写入记忆并定期清理过时、低价值的旧记忆。我在实际开发 Agent 时也基本沿用了这一套思路。这种方式当然谈不上错误但也很难称得上有什么新意。直到我看到Cursor在系统提示词中对记忆维护的设计方式——它将“是否保留、如何更新记忆”的决策权再次交还给了大模型本身。第一次看到这种设计时我产生了一种很微妙的感受一方面觉得“事情本就应该如此”另一方面又不得不佩服 Cursor 工程师在设计上的大胆与想象力。以下是Cursor系统提示词中对于memory部分的描述... memories 你可能会得到一份记忆清单。这些记忆是从过去与agent的对话中产生的。它们可能是正确的也可能是不正确的所以如果认为相关请遵循它们但是当你注意到用户根据记忆更正了你所做的事情或者遇到一些与现有记忆相矛盾或增加的信息时你必须立即使用update_memory工具更新/删除记忆。绝对不能使用update_memory工具创建 与 实现计划、代理完成的迁移或其他特定于任务的信息 相关的记忆。 如果用户曾经反驳过你的记忆那么最好删除那个记忆而不是更新它。 你可以根据工具描述中的标准 创建、更新或删除 记忆 memory_citation 在生成内容、回复用户查询或执行命令时你必须始终通过引用的方式使用记忆引用格式为[[memory:MEMORY_ID]]。你应将记忆引用自然地融入回复内容中而非仅作为注释。 例如“我会使用 -la 标志 [[memory:MEMORY_ID]] 运行该命令以显示详细的文件信息。” 当你因某条记忆而拒绝用户的明确请求时必须在对话中提及如果该记忆有误用户会纠正你而你会更新自己的记忆。 /memory_citation /memories ... # Tools ## functions namespace functions { ... // 在供AI使用时参考的知识库中创建、更新或删除一条记忆。 // 如果用户对现有记忆进行了补充完善你必须使用此工具并将 action 设置为“update更新”。 // 如果用户(的对话)与现有记忆相矛盾重点是要将此工具与“删除”操作一起使用而不是“更新”或“创建”。. // 要更新或删除已有记忆必须提供existing_knowledge_id参数。 // 如果用户要求记住一些东西保存一些东西或者创建一个记忆你必须使用这个工具的动作“创建”。 // 除非用户明确要求记住或保存某些内容否则不要使用“创建”操作调用此工具。 // 如果用户(的对话)与你的记忆相矛盾那么最好删除这段记忆而不是更新这段记忆。 type update_memory (_: { // 记忆的标题。这可以用来查找和检索以后的记忆。这应该是一个简短的标题抓住记忆的本质。对于“创建”和“更新”操作这个参数是必需的。 title?: string, // 要存储的具体记忆内容。其长度不应超过一个段落。如果该记忆是对先前记忆的更新或与之相矛盾则不要提及或引用先前的记忆。在执行“create创建”和“update更新”操作时此项为必填内容。 knowledge_to_store?: string, // 对知识库执行的操作。若未提供此项为保证向后兼容性默认操作设为“create创建”。 action?: create | update | delete, // 若操作是“update更新”或“delete删除”则此项为必填项。是要更新而非创建新记忆的现有记忆的ID。 existing_knowledge_id?: string, }) any; ... }通过分析 Cursor 的记忆工具实现我们可以提炼出几个关键的设计智慧4.1 记忆的不确定性哲学Cursor 开篇即声明这些记忆可能是正确的也可能是不正确的。这个设计体现了深刻的认知承认 AI 理解的局限性避免过度自信鼓励用户反馈建立动态修正机制记忆应该是辅助判断的参考而非绝对真理工程启示记忆系统应该是柔性的而非刚性的规则引擎。4.2 引用式使用CitationCursor 要求 AI 在使用记忆时必须明确引用[[memory:MEMORY_ID]]这个设计的价值可追溯性用户知道 AI 的决策基于哪条记忆可纠错性用户发现问题时可以精确定位需要修正的记忆透明度增强人机交互的透明度和信任类比就像学术论文的引用机制让知识的来源清晰可查。4.3 避免任务型记忆Cursor 明确禁止创建与实现计划、迁移等特定任务相关的记忆。为什么❌ 错误示例 记忆用户正在将数据库从 MySQL 迁移到 PostgreSQL 这是任务状态会过时 ✅ 正确示例 记忆用户偏好使用 PostgreSQL 作为主数据库 这是长期偏好不易过时任务型信息应该由待办事项TODO系统管理记忆系统专注于持久性的知识和偏好。工程启示明确区分记忆与状态避免系统功能混淆。4.4 冲突处理的删除优先原则Cursor 特别强调如果用户曾经反驳过你的记忆那么最好删除那个记忆而不是更新它。这是一个反直觉但极其明智的设计更新的问题原记忆用户喜欢使用 Vue 框架 用户反驳我现在更喜欢 React 如果更新为用户喜欢使用 Vue 框架但现在更喜欢 React → 产生模糊性AI 可能困惑删除的优势避免记忆内部矛盾让 AI 基于当前上下文重新判断用户可以选择创建新的明确记忆哲学思考有时候遗忘比记住更重要。4.4 工具化的记忆管理在《ClaudeCode为什么这么强大通过解析其系统提示词一探究竟》一文中我们指出应该按照结构化语言组织提示词Cursor系统提示词告诉我们这种“结构化”的形式除了文档还可以使用伪代码。Cursor 将记忆操作封装为标准化的工具接口/* by yours.tools - online tools website : yours.tools/zh/json2get.html */ type update_memory { title?: string, // 记忆标题 knowledge_to_store?: string, // 记忆内容 action?: create | update | delete, // 操作类型 existing_knowledge_id?: string, // 已有记忆 ID }设计优势可控性明确的操作语义避免隐式记忆生成可审计所有记忆变更都通过工具调用可以记录和审计五、Claude Code 的记忆压缩策略精准摘要的艺术在上一节中我们分享了Cursor在记忆维护机制上所带来的不同视角。本节将转向另一个重量级工具 ——Claude Code。相比之下Claude Code面对的是更极端的场景当上下文窗口用尽时如何将过去的对话压缩为精准的摘要既节省 token 又不影响任务的连续性5.1 结构化分析框架Claude Code 的压缩 prompt 首先要求进行结构化的分析你的任务是对到目前为止的对话进行详细总结要密切关注用户的明确请求以及你之前采取的行动。 该总结应全面涵盖技术细节、代码模式和架构决策这些内容对于在不丢失上下文的情况下继续开展开发工作至关重要。 在提供最终总结之前将你的分析包裹在 analysis 标签中以组织你的思路并确保你已涵盖所有必要的要点。在你的分析过程中 1. 按时间顺序分析对话的每条消息和每个部分。对于每个部分请仔细识别 - 用户的明确请求和意图 - 你处理用户请求的方法 - 关键决策、技术概念和代码模式 - 具体细节例如 - 文件名 - 完整的代码片段 - 函数签名 - 文件编辑 - 你遇到的错误以及你如何修复它们 - 特别关注你收到的具体用户反馈尤其是用户要求你以不同方式做某事的情况。 2. 仔细检查技术准确性和完整性彻底处理每个必需的元素。 你的总结应该包括以下几个部分 1. 主要请求和意图详细捕获所有用户明确的请求和意图 2. 关键技术概念列出讨论的所有重要技术概念、技术和框架。 3. 文件和代码部分列举检查、修改或创建的具体文件和代码部分。特别关注最近的消息如果合适的话应当包含完整的代码片段同时总结为什么这个文件读取或编辑很重要。 4. 错误和修复列出你遇到的所有错误以及你如何修复它们。特别关注你收到的具体用户反馈尤其是用户要求你以不同方式做某事的情况。 5. 解决问题: 记录已解决的问题和正在进行的故障排除工作。 6. 用户的所有消息列出所有非工具结果的用户消息。这些对于理解用户的反馈和变化的意图至关重要。 7. 待处理任务概述你被明确要求处理的任何待处理任务。 8. 当前工作详细描述在此总结请求之前正在处理的确切内容特别关注用户和assistant的最新消息。在合适的情况下包含文件名和代码片段。 9. 可选的下一步列出与你最近正在进行的工作相关的下一步操作。重要提示确保这一步与用户的明确请求以及你在此总结请求之前正在处理的任务直接一致。如果你的上一个任务已经完成那么只有在明确符合用户请求的情况下才列出下一步。在未与用户确认之前不要开始处理无关的请求。 如果有下一步操作请包含最近对话中的直接引用准确显示你正在处理什么任务以及你停在哪里。这应该是逐字引用以确保任务解释不会偏离。 你的输出应该是结构化的以下是一个结构化输出的示例 example analysis [你的思考过程确保所有要点都被全面准确地涵盖] /analysis summary 1. 主要请求和意图: [详细描述] 2. 关键技术概念: - [概念 1] - [概念 2] - [...] 3. 文件和代码部分: - [文件名 1] - [总结为什么这个文件很重要] - [对该文件所做更改的总结如果有] - [重要代码段] - [文件名 2] - [重要代码段] - [...] 4. 错误和修复: - [错误1的详细描述]: - [如何修复这个错误] - [用户对错误的反馈如果有] - [...] 5. 解决问题: [描述已解决的问题和正在进行的故障排除] 6. 用户的所有消息: - [详细的用户消息] - [...] 7. 待处理任务: - [Task 1] - [Task 2] - [...] 8. 当前工作: [当前工作的精确描述] 9. 可选的下一步: [可选的下一步要采取的步骤] /summary /example 请根据到目前为止的对话提供你的总结遵循这个结构并确保你的回答准确和彻底。 在所包含的上下文中可能会提供额外的指示。如果是这样请记住在创建上述总结时遵循以下说明。说明的例子包括 example ## Compact Instructions 在总结对话时重点关注 TypeScript 代码更改同时记住你犯的错误以及你如何修复它们。 /example example ## Summary instructions 当你使用compact进行总结时 - 请专注于测试输出和代码更改。包括文件逐字读取。 /example5.2 九维度摘要模型Claude Code 将对话压缩为 9 个维度重点是前8个维度通常称为8段式压缩维度目的示例1. 主要请求和意图捕获用户的核心诉求用户要求实现用户认证系统2. 关键技术概念保留技术决策上下文JWT、OAuth2.0、bcrypt 密码加密3. 文件和代码部分精确定位修改位置auth.py: 实现了hash_password()函数4. 错误和修复避免重复犯错ImportError: 缺少 pyjwt 依赖已添加到 requirements.txt5. 解决问题跟踪问题状态已解决登录超时问题进行中邮件验证功能6. 用户的所有消息保留用户的原始意图用户说密码必须支持特殊字符7. 待处理任务确保任务连续性待实现邮件验证、密码重置功能8. 当前工作精确恢复工作现场正在修改user_model.py的第 45-60 行添加邮箱验证逻辑9. 可选的下一步提供上下文感知的建议下一步测试邮箱验证流程然后实现密码重置5.3 保留用户原始消息的重要性特别值得注意的是第 6 点用户的所有消息。为什么要单独保留用户的原始消息意图的准确性AI 的理解可能有偏差用户原话是最可靠的参考细节的完整性用户可能提到了 AI 认为不重要但实际关键的细节纠错的可能性当发现理解偏差时可以回溯到原始需求案例对比❌ 只保留 AI 的理解 用户要求优化数据库查询性能 ✅ 同时保留用户原话 用户说首页加载太慢了能不能优化一下我看日志里有很多数据库查询。 → 原始消息提供了更丰富的上下文 - 问题表现首页加载慢 - 问题线索日志中的查询 - 用户语气非技术用户5.4 当前工作的精确描述第 8 点当前工作的设计体现了对工作现场的重视。Claude Code 要求详细描述在总结请求之前正在处理的确切内容在合适的情况下包含文件名和代码片段特别关注用户和 assistant 的最新消息实际效果当前工作 正在修改 solve/employee_timegrid_solve.py 文件。 已经添加了 EmployeeTimegridSolver 类第 50-120 行 实现了以下方法 - __init__(): 初始化求解器 - create_model(): 创建 CP-SAT 模型 - add_constraints(): 添加约束条件 最后一步是在第 115 行添加目标函数优化逻辑 用户特别强调要优化员工的工作时间均衡性。 代码片段 python def add_objective(self) - None: # 正在实现中... pass这种精确描述确保了在新的上下文窗口中AI 能够无缝地继续工作不会出现我们刚才做到哪了的困惑。5.5 技术细节的取舍原则Claude Code 强调彻底处理每个必需的元素但什么是必需的保留的细节完整的文件路径solve/employee_timegrid_solve.py具体的函数签名def create_model(self, employees: List[Employee]) - CpModel关键的代码片段实现的核心逻辑精确的错误信息ImportError: No module named ortools可以省略的细节重复性的调试输出中间状态的临时代码已经完全解决且不会再出现的问题取舍原则如果这个细节的缺失会导致后续无法继续工作就必须保留如果只是过程性信息可以概括或省略。5.6 错误驱动的学习机制第 4 点错误和修复是一个被低估但极其重要的设计。AI Agent 在工作中会犯错关键是如何从错误中学习错误和修复 1. ImportError: No module named ortools - 原因requirements.txt 中缺少依赖 - 修复添加 ortools9.6.0 - 用户反馈建议锁定版本避免兼容性问题 2. 求解器返回 INFEASIBLE - 原因员工可用时间约束与需求时间窗口冲突 - 修复放宽了部分软约束改为惩罚项 - 用户反馈满意但要求输出冲突原因 3. 性能问题求解器运行超过 5 分钟 - 原因变量数量过多10000 - 修复引入分层求解先优化关键班次 - 用户反馈运行时间降到 30 秒符合预期这种错误记录的价值避免重复犯错同类问题有了解决模式用户反馈的宝贵性用户的修正意见是最重要的记忆问题诊断的速度遇到类似问题时有历史参考5.7 下一步行动的上下文一致性第 9 点可选的下一步有一个重要的约束重要提示确保这一步与用户的明确请求以及你在此总结请求之前正在处理的任务直接一致。如果你的上一个任务已经完成那么只有在明确符合用户请求的情况下才列出下一步。在未与用户确认之前不要开始处理无关的请求。这个约束防止了 AI 的功能蔓延❌ 错误示例 当前任务实现用户登录功能已完成 下一步实现用户注册、密码重置、邮箱验证、第三方登录... AI 自作主张扩展了任务范围 ✅ 正确示例 当前任务实现用户登录功能已完成 下一步根据用户的原始要求实现基本的用户认证登录功能已满足需求。等待用户确认或提出新的要求。 保持对用户意图的忠实5.8 引用的真实性原则Claude Code 强调如果有下一步操作请包含最近对话中的直接引用准确显示你正在处理什么任务以及你停在哪里。这应该是逐字引用以确保任务解释不会偏离。逐字引用的价值❌ AI 的释义 用户要求优化算法性能 ✅ 用户的原话 能不能让这个排班算法快一点现在 100 个员工需要跑 10 分钟太慢了。 → 原话包含的额外信息 - 具体场景100 个员工 - 性能基准10 分钟 - 用户期望需要更快逐字引用避免了 AI 在多次转述中逐渐偏离用户的原始意图。六 最终思考AI Agent 的记忆系统本质上是在解决连续性和个性化的问题。它让 AI 从一个无状态的函数调用进化为一个有经历、有学习能力的智能体。但我们必须认识到记忆系统不是银弹它不能替代清晰的用户表达和良好的上下文设计它会引入新的复杂度和潜在错误它需要持续的维护和优化真正优秀的记忆系统应该像一个优秀的助手记住该记的关键决策、用户偏好、错误教训忘记该忘的过时信息、临时状态、错误记忆知道何时求助不确定时主动向用户确认从 Cursor 的引用式记忆到 Claude Code 的结构化压缩我们看到了不同场景下的设计智慧。但更重要的是背后的设计哲学以用户为中心以反馈为驱动以透明为原则以价值为导向。在 AI Agent 日益成为我们工作伙伴的今天记忆系统的优劣将直接决定人机协作的效率和体验。希望本文的分析能为你设计或使用 AI Agent 提供有价值的参考。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询