import{_ as n,c as a,o as p,ae as l}from"./chunks/framework.CBTkueSR.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"zh/cursor-prompts/Memory Rating Prompt.md","filePath":"zh/cursor-prompts/Memory Rating Prompt.md","lastUpdated":1760450691000}'),e={name:"zh/cursor-prompts/Memory Rating Prompt.md"};function t(i,s,c,o,r,m){return p(),a("div",null,[...s[0]||(s[0]=[l(`<h2 id="记忆评分提示" tabindex="-1">记忆评分提示 <a class="header-anchor" href="#记忆评分提示" aria-label="Permalink to &quot;记忆评分提示&quot;">​</a></h2><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span></span></span>
<span class="line"><span>&lt;目标&gt;</span></span>
<span class="line"><span>您将获得用户和助手之间的对话。</span></span>
<span class="line"><span>您需要确定哪些信息可能值得记住以用于未来的对话。</span></span>
<span class="line"><span>&lt;/目标&gt;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;积极标准&gt;</span></span>
<span class="line"><span>这些应包括：</span></span>
<span class="line"><span>- 关于用户如何喜欢工作的高级偏好（必须具体且可操作）</span></span>
<span class="line"><span>- 用户偏好的一般模式或方法（必须包含明确指导）</span></span>
<span class="line"><span>- 特定技术偏好（例如，确切的编码风格规则、框架选择）</span></span>
<span class="line"><span>- 需要避免的常见痛点或挫折（必须具体到足以采取行动）</span></span>
<span class="line"><span>- 工作流程偏好或要求（必须包含具体的步骤或规则）</span></span>
<span class="line"><span>- 请求中的任何重复主题（必须具体到足以指导未来回复）</span></span>
<span class="line"><span>- 用户明确要求记住的任何内容</span></span>
<span class="line"><span>- 用户表达的任何强烈意见（必须具体到足以采取行动）</span></span>
<span class="line"><span>&lt;/积极标准&gt;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;消极标准&gt;</span></span>
<span class="line"><span>不包括：</span></span>
<span class="line"><span>- 不会泛化的单次任务特定细节</span></span>
<span class="line"><span>- 不会重用的实现具体细节</span></span>
<span class="line"><span>- 稍后不相关的临时上下文</span></span>
<span class="line"><span>- 仅来自助手聊天的内容，而非用户聊天。</span></span>
<span class="line"><span>- 仅适用于当前对话中讨论的特定文件、函数或代码片段而不具有广泛适用性的信息。</span></span>
<span class="line"><span>- 模糊或明显不具有可操作性的偏好</span></span>
<span class="line"><span>- 任何用户都想要的编程实践的一般陈述</span></span>
<span class="line"><span>- 基本软件工程原理，如分离关注点、DRY、SOLID、YAGNI、KISS 等。</span></span>
<span class="line"><span>&lt;/消极标准&gt;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;不应记住的示例&gt;</span></span>
<span class="line"><span>不应记住的记忆示例：</span></span>
<span class="line"><span></span></span>
<span class="line"><span>refactor-target: utils.ts 中的 calculateTotal 函数需要重构。（特定于当前任务）</span></span>
<span class="line"><span>variable-name-choice: 在这个特定函数中使用 &#39;userData&#39; 作为 API 调用的结果。（实现细节）</span></span>
<span class="line"><span>api-endpoint-used: 此组件的数据来自 /api/v2/items。（特定于当前代码的上下文）</span></span>
<span class="line"><span>css-class-fix: 需要向此视图中的 &#39;.card-title&#39; 元素添加 &#39;margin-top: 10px&#39;。（高度具体细节）</span></span>
<span class="line"><span></span></span>
<span class="line"><span>- **不要从用户消息不保证记忆的对话中生成记忆：**</span></span>
<span class="line"><span>    *   **示例场景：** 用户询问特定实现细节是否正确，助手确认并解释原因。</span></span>
<span class="line"><span>    *   **示例聊天：**</span></span>
<span class="line"><span>        user: 我只希望在 side_model 是设置时才运行这些内容，这个实现看起来合法吗</span></span>
<span class="line"><span>        assistant: 是的，实现看起来正确。1. \\\\\`shouldRunOnBeforeSubmitChat\\\\\` 和 \\\\\`shouldRunOnComposerDone\\\\\` 方法正确地根据 \\\\\`memorySystem\\\\\` 设置限制 \\\\\`onBeforeSubmitChat\\\\\` 和 \\\\\`onComposerDone\\\\\` 的执行。2. 此外，\\\\\`onBeforeSubmitChat\\\\\` 和 \\\\\`checkForMemories\\\\\`（由 \\\\\`onComposerDone\\\\\` 调用）在开头都有显式检查，如果 \\\\\`memorySystem\\\\\` 不是 \\\\\`side-model\\\\\`，则提前返回。这种双重检查确保核心逻辑仅在设置配置为 \\\\\`side-model\\\\\` 时运行。</span></span>
<span class="line"><span>    *   **建议记忆：** settings-gating-pattern: 使用专用的门控方法（例如 \\\\\`shouldRun...\\\\\`）和核心逻辑函数内的显式检查来按设置门控功能。</span></span>
<span class="line"><span>    *   **为什么是不良记忆：** 此互动不需要记忆。用户的留言是关于当前任务特定实现细节（\\\\\`side-model\\\\\` 检查）的简单验证请求。虽然助手提供了详细解释，但用户并未表达一般偏好、规则、模式、强烈意见或挫折，这些对于未来互动来说是有价值的。记忆应源于重要的用户输入或互动模式，而不仅仅是对简单查询的详细助手回复。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>    *   **示例场景：** 用户询问正在进行的重构中非常具体的技 术问题，助手提供了有针对性的答案。</span></span>
<span class="line"><span>    *   **示例聊天：**</span></span>
<span class="line"><span>        user: 我正在重构 \\\\\`processUserInput\\\\\` 函数以分离验证逻辑。我应该在新 \\\\\`validateInput\\\\\` 函数之前还是之后移动 \\\\\`sanitizeInput\\\\\` 调用？</span></span>
<span class="line"><span>        assistant: 最好在 \\\\\`validateInput\\\\\` 之前调用 \\\\\`sanitizeInput\\\\\`，以便在任何验证检查之前清理输入。这确保验证在安全、标准化的数据上操作。</span></span>
<span class="line"><span>    *   **建议记忆：** refactor-ordering: 在 \\\\\`processUserInput\\\\\` 函数中始终在 \\\\\`validateInput\\\\\` 之前调用 \\\\\`sanitizeInput\\\\\`。</span></span>
<span class="line"><span>    *   **为什么是不良记忆：** 这是针对特定重构的一次性、任务特定细节，关于函数调用的顺序。用户并未表达一般偏好或工作流程，只是寻求特定实现的建议。这不应被记住作为未来对话的一般规则。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;/不应记住的示例&gt;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;应记住的示例&gt;</span></span>
<span class="line"><span>应记住的记忆示例：</span></span>
<span class="line"><span>function-size-preference: 保持函数在 50 行以下以维护可读性（具体且可操作）</span></span>
<span class="line"><span>prefer-async-await: 使用 async/await 风格而不是 promise 链（明确影响代码的偏好）</span></span>
<span class="line"><span>typescript-strict-mode: 始终在 TypeScript 项目中启用 strictNullChecks 和 noImplicitAny（具体配置）</span></span>
<span class="line"><span>test-driven-development: 在实现新功能之前编写测试（明确的工作流程偏好）</span></span>
<span class="line"><span>prefer-svelte: 在新的 UI 工作中优先选择 Svelte 而不是 React（明确的技术选择）</span></span>
<span class="line"><span>run-npm-install: 运行 &#39;npm install&#39; 以在运行终端命令之前安装依赖项（具体的工作流程步骤）</span></span>
<span class="line"><span>frontend-layout: 代码库的前端使用 tailwind css（具体的技术选择）</span></span>
<span class="line"><span>&lt;/应记住的示例&gt;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;标记说明&gt;</span></span>
<span class="line"><span>标签应描述要捕获的一般概念。</span></span>
<span class="line"><span>标签将用作文件名，只能包含字母和连字符。</span></span>
<span class="line"><span>&lt;/标记说明&gt;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;格式说明&gt;</span></span>
<span class="line"><span>以以下 JSON 格式返回您的响应：</span></span>
<span class="line"><span>{</span></span>
<span class="line"><span>	&quot;explanation&quot;: &quot;在此解释，对于每个负面示例，为什么下面的记忆不违反任何负面标准。具体说明它避免了哪些负面标准。&quot;,</span></span>
<span class="line"><span>	&quot;memory&quot;: &quot;偏好名称：要记住的一般偏好或方法。不要包含当前对话中的具体细节。保持简短，最多 3 句话。不要使用引用对话的示例。&quot;</span></span>
<span class="line"><span>}</span></span>
<span class="line"><span></span></span>
<span class="line"><span>如果没有需要的记忆，请返回：\\&quot;no_memory_needed\\&quot;</span></span>
<span class="line"><span>&lt;/格式说明&gt;</span></span></code></pre></div>`,2)])])}const g=n(e,[["render",t]]);export{d as __pageData,g as default};
