首页 / 文章 / 实用提示:您的编程助手存在记忆问题,增加存储容量也无法解决此问题。

实用提示:您的编程助手存在记忆问题,增加存储容量也无法解决此问题。

《实用笔记》操作指南:你的编码助手存在记忆问题。增加存储量无法解决这一问题——适用于采用该模式的团队的合同、检查项以及即插即用代码模块。

1862 词

本指南将逐步构建从原始材料到可运行系统的完整流程,适用于“你的编程代理存在记忆问题:增加存储量无法解决该问题”这一场景。重点在于可操作的步骤、明确的检查点,以及无需猜测意图即可直接放入代码仓库的代码。 在概览阶段,应在修改代码之前明确输入参数、各步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行相应步骤,而无需猜测隐藏的状态。 需同时记录正常流程与异常恢复流程。重试机制、人工审核环节以及错误处理都是产品不可或缺的部分,而非后续需要补充的功能。

增加存储只会让情况更糟

在处理“存储更多以进入下一阶段”这一流程时,首先需写下相关契约:所需的输入参数、成功信号,以及部分失败时的处理方式。这样的检查清单能确保后续的代码修改保持一致性。 相比冗长的脚本,应优先选择小型且可测试的单元。当某个步骤失败时,故障应指向单一责任模块,而非复杂的流程链。 在成本较高的步骤之后设置检查点。当操作员重新尝试后续节点时,恢复流程不应再次调用相同的大型语言模型。

首先,简单介绍一下撰写这些笔记的人

在处理“关于阶段的初步说明”时,首先写下契约:所需的输入、成功信号以及部分失败时的处理方式。这样的检查清单能确保后续的代码修改保持透明。 将这一阶段视为输入与经过验证的输出之间的契约。为相关成果命名,明确成功标准,并拒绝默许部分完成的情况。 在成本较高的步骤之后设置检查点。当操作员重新尝试后续节点时,恢复流程不应再次调用相同的大型语言模型。

export function validateNode(input) {
  const e = [];
  // ...every check pushes onto e instead of throwing...
  if (e.length) throw new ValidationError(e);
  return n;
}

规则1:在使用时即可看出数据是否过时

在处理“规则1:过时性”阶段时,首先需明确合同条款:所需输入、成功信号以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 在功能结果旁记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。 在耗时较高的步骤之后设置检查点。当操作员重新尝试后续节点时,恢复流程不应再次收取相同的LLM调用费用。 在处理“规则1:过时性”阶段时,首先需明确合同条款:所需输入、成功信号以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 需同时记录正常流程和故障恢复流程。重试机制、人工审核环节以及死信处理都是产品的一部分,而非后续需要补充的功能。

id: auth-service
type: system
title: Auth uses server sessions
scope: repo
confidence: observed
captured_sha: a1b2c3d      # repo HEAD at capture
repos: [orders-api]
edges:
  - rel: depends-on
    dst: postgres-primary
captured 47 commits ago — verify before trusting
if (Array.isArray(node.repos) && node.repos.length &&
!node.repos.includes(here)) return null;

规则2:内容裁剪采用失败即终止机制

将规则2中的内容裁剪视为可度量的操作流程时效果最佳。在扩大范围之前,需记录一份理想的处理结果、一个失败案例以及回滚说明。 优先选择小型且可测试的单元,而非庞大的脚本。当某一步骤失败时,故障应能指向具体的责任主体,而非复杂的流程链。 保持数据结构的状态简洁且类型明确。嵌套的数据块会掩盖哪个节点负责编写了哪个字段的信息,还会在流程中断后导致无法继续执行。

export function redact(text, opts = {}) {
  if (typeof text !== 'string') {
    throw new TypeError('redact() requires a string; refusing to write unscanned content');
  }
{
  kind: 'assigned-secret',
  re: /\b(?:api[_-]?key|secret|password|token|client[_-]?secret|
access[_-]?key)\b\s*[:=]\s*(?:"[^"\n]{6,}"|'[^'\n]{6,}'|[^\s"'`,;)]{12,})/gi,
}

规则3:截断操作绝不会无声无息

将规则3中的截断处理视为可度量的操作面时,其在阶段化工作中效果最佳。在扩大范围之前,先记录一个成功的案例、一个失败案例以及回滚说明。 将此阶段视为输入与已验证输出之间的契约。为相关成果命名,明确成功标准,绝不允许默默地仅完成部分工作。 保持图结构的状态简洁且类型明确。嵌套的数据块会掩盖哪个节点修改了哪个字段的信息,还会在中断后导致无法继续处理。

3 nodes omitted for budget: legacy-batch-job, vendor-sftp-quirk,
old-retry-policy
.sort((a, b) => b.depth - a.depth || a.degree - b.degree || ...)

规则4:约束条件绝不能被舍弃

根据规则4的约束,将阶段工作视为可度量的对象时效果最佳。在扩大范围之前,需记录一份理想状态下的操作日志、一个故障案例以及回滚说明。 在功能结果旁同时记录执行时间以及令牌或查询成本。提前明确成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。 保持图结构简洁且类型明确。嵌套的数据块会掩盖具体是哪个节点修改了哪个字段,还会在进程中断后导致无法继续执行。 根据规则4的约束,将阶段工作视为可度量的对象时效果最佳。在扩大范围之前,需记录一份理想状态下的操作日志、一个故障案例以及回滚说明。 需同时记录正常流程与恢复流程。重试机制、人工审核环节以及死信处理都是产品的一部分,而非后续需要补充的内容。

const removable = nodes.filter((n) => n.depth > 0 && n.type !== 'constraint');
Note: 9,412 bytes returned, over the 8,192 budget, because constraints
are never dropped.

存储格式为Markdown,索引则为一次性使用。

在进入 Markdown 开发阶段时,应在修改代码之前明确输入参数、该步骤的负责人以及结束标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。相比冗长的脚本,更应优先采用小型、可测试的单元。当某个步骤失败时,故障原因应能指向单一责任模块,而非复杂的流程链。对于涉及资金支出或修改生产数据的操作,必须经过人工审批。编译时的逻辑连接并不等同于业务功能的完整性。

~/.agents/memory/
  notes/<type>/<id>.md     the source of truth
  notes/archive/           superseded and decayed notes; never deleted
  index.db                 disposable SQLite cache
  ROUTING.md               generated map of everything known

你刻意未实现的功能

对于“你刻意设计的阶段”,在修改代码之前需明确输入参数、该步骤的负责人以及结束标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 将这一阶段视为输入与经过验证的输出之间的契约。为相关成果命名,定义成功判定标准,杜绝默许的半完成状态。 对于涉及资金支出或修改生产数据的环节,必须经过人工审批。编译时的连接方式并不等同于业务上的完整性。

值得借鉴的部分

在“值得窃取的部分”阶段,修改代码之前需明确输入参数、该步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 在功能结果旁记录执行时间以及令牌或查询成本。提前显示成本可避免在流程从演示环境转向共享环境时出现意外费用。 对于会耗费资金或修改生产数据的操作,必须经过人工审批。编译时的配置并不等同于业务功能的完整性。 在“值得窃取的部分”阶段,修改代码之前需明确输入参数、该步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 需同时记录正常流程和异常恢复流程。重试机制、人工审核环节以及错误处理都是产品不可或缺的组成部分,而非后续才需要补充的内容。

操作检查清单

将操作检查清单视为可度量的基准,这样使用效果最佳。在扩大范围之前,先记录一份理想的运行日志、一个故障案例以及回滚说明。

将配置与应用程序代码分开。环境文件、密钥存储和功能开关应集中存放于一个位置,以便操作人员无需查看整个系统结构即可进行审计。

保持系统状态结构的扁平化与类型化。嵌套的数据结构会掩盖哪个节点修改了哪个字段的信息,还会在中断后导致恢复失败。

只要预算允许,就在持续集成过程中使用测试用例而非真实的付费 API 来执行关键路径的冒烟测试。

同时记录正常运行流程和故障恢复流程。重试机制、人工审核环节以及错误处理方式都是产品不可或缺的部分,而非后续需要补充的内容。

保持图结构的状态简洁且类型明确。嵌套的数据块会掩盖是哪个节点修改了哪个字段,还会在中断后导致流程无法继续。

在提升栈结构之前,先冻结版本,为关键路径生成标准记录,并确认回滚步骤。共享环境需要设置速率限制、进行租户检查,同时明确密钥轮换的负责人。与其追求花哨的一次性演示,不如注重扎实的可靠性。

b819b7f93447的批注:将提供者密钥置于仓库之外,设定单会话令牌的上限,并将记录存储在评估用示例文件旁边,以便后续模型更换时仍能保持可比性。

在将加固步骤视为可测量的表面时,第0阶段的效果最佳。在扩大范围之前,先记录一份理想的测试用例、一个故障案例以及回滚说明。在功能结果旁同时记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在系统从演示环境过渡到共享环境时出现意外费用。

加固细节0/782:为该步骤测量实际执行时间、错误类型以及令牌消耗情况,然后依据固定的问题集而非个人经验来判断是否保留该变更。

对于加固步骤的第1阶段,在修改代码之前需明确输入参数、该步骤的负责人以及完成标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测系统的隐藏状态。需同时记录正常流程和故障恢复流程。重试机制、人工审核环节以及错误处理方式都是产品的一部分,而非后续需要补充的内容。

强化细节1/782:记录该代码段的运行时间、错误类型以及代币消耗情况,然后依据固定的问题清单而非个人经验来判断是否保留该修改。

在处理强化笔记的第二阶段时,首先写下合约的详细内容:所需的输入参数、成功标志,以及部分失败时的处理方式。这样的检查清单能确保后续的代码修改保持一致性。将这一阶段视为输入与验证后输出之间的契约,为相关组件命名,明确成功判定标准,并杜绝无声的半完成状态。

强化细节2/782:记录该代码段的运行时间、错误类型以及代币消耗情况,然后依据固定的问题清单而非个人经验来判断是否保留该修改。

将加固措施的第3阶段视为可测量的表面时效果最佳。在扩大范围之前,先记录一份理想的运行日志、一个故障案例以及回滚说明。 应将配置与应用程序代码分开。环境文件、密钥存储和功能标志应集中存放于一处,以便操作人员无需查看整个系统结构即可进行审计。

加固细节3/782:针对此措施需测量耗时、错误类型以及令牌使用情况,然后依据固定的问题集而非个人经验来判断是否保留该变更。