基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
  • 知识卡片碎片时间过考点
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
    • AI 热点每日 AI 资讯与动向
AI 工作台
简历
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-11-08 11:43

用可检索记忆替代不断膨胀的提示词

dev.to · AI#Agent#记忆管理#上下文工程
Editor brief · 编辑速览

作者将审计历史从提示词迁入开源记忆系统 Hindsight,按时间保存事实,并按需召回相关记录。该方案针对历史上下文成本增长、新旧事实冲突和输入难以复现的问题,给出了存储与检索代码示例。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

审计草稿漏掉历史发现,就继续往提示词里塞旧报告,直到没人能准确回答:模型上一次到底看过什么?作者把这视为审计流程里的控制缺口,并将历史信息迁入 Hindsight,让检索成为独立、可记录的步骤。

这篇短文值得读的地方,是它划清了提示词、历史记忆和正式记录的职责。不过,作者展示的是一次改造经验,没有给出成本或准确率的对照数据。

把历史塞进提示词,为什么越补越难管

作者最初的补救方式很直接:模型漏掉一条旧发现,就给提示词构建器加一个加载器。

下面这段代码把最近四个季度的报告,以及当前控制项的历史发现,一起拼进提示词:

parts = [RULES, RUBRIC]
parts += [r.full_text for r in load_reports(last_n_quarters=4)]
parts += [f.to_text() for f in load_findings(control_id)]

要看的是 last_n_quarters=4:它按时间范围装入报告全文,没有先判断每份报告与当前任务的关系。

作者发现,这种方式会同时带来三个问题。成本跟着历史总量增长,而不是跟着当前需要的信息增长;旧结论和修正后的结论挤在同一段文本里,缺少明确的先后关系;事后也难以还原某次生成究竟使用了哪些内容。

作者把它形容为在字符串里搭数据库,却没有结构和顺序。这个比喻很贴切:拼接代码负责把文字送进去,却没有解决历史事实如何更新、如何检索、如何追查的问题。

Hindsight 改的是信息进入模型的路径

作者把历史迁入开源 agent 记忆系统 Hindsight。提示词留下规则、评分准则和新证据,过去发生的事实则作为带日期的事件保存,需要时再取回。

这段代码展示了两个独立动作:先留存历史,再围绕当前控制项检索:

client.retain(bank_id="audit-ops", content=text,
              timestamp=occurred_at.isoformat())

memories = client.recall(bank_id="audit-ops",
    query=f"Prior findings and status for control {control_id}")

要看的是 timestamp=occurred_at.isoformat():顺序来自事件发生时间,不再依赖文字在提示词里的排列位置。

按原文描述,recall 结合语义、关键词、图和时间搜索,既能处理 AC-2 这样的控制项编号,也能处理「上个季度」这样的时间条件。作者还把每次召回的内容与草稿一起记录,让「模型参考了哪些历史」有迹可查。

在备份恢复的例子里,系统能找出 Q2 的历史发现、一次已完成的测试,以及仍缺少的第二次测试。它据此建议按问题复发处理,最终分类仍交给审阅者。

提示词承担当前任务的工作记忆,历史信息通过可检查的检索步骤进入模型。

作者同时保留了边界:记忆系统不能替代正式记录系统,评分准则仍应留在提示词里。

我的判断

我赞同作者把检索显式化。对需要追查依据的生成流程来说,记录召回内容,比只知道「加载过最近几份报告」更有用。把事件时间存成真实时间戳,也比让模型自行猜测哪段文字更新更可靠。

但原文没有证明 Hindsight 优于普通数据库、全文搜索或常见的检索增强生成(RAG)方案。语义、关键词、图和时间搜索是作者描述的能力,检索准确率提高多少、成本下降多少,文章都没给数据。这部分应当按经验之谈看待。

还有两处不能替作者补全:旧事实被纠正后如何处理,原文没说清;记录召回内容能追查历史依据,却不足以保证完整复现一次生成,因为模型版本、提示词和生成参数等是否保存,文中也没交代。

如果历史少、内容稳定,直接放进提示词仍然简单。历史持续增加、修订频繁,又需要审阅依据时,独立检索才更有讨论价值。

能拿来做什么

  • 如果你的 AI 编程流程已经不断向提示词追加旧需求、问题记录或报告,可以先区分当前规则、新证据和历史事实,再判断哪些历史需要按任务检索。
  • 在 Node 编排的生成流程里,把检索结果与本次产物关联保存,让审阅者能查看模型实际取回了哪些内容。
  • 用已知历史检查召回结果,特别验证事件先后、结论修正和未完成事项,不能只看生成文字是否顺畅。
  • 对需要人工分类的任务,让模型提供历史依据和建议,并保留正式记录系统与审阅环节。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
用 Laravel Boost 给编程智能体补齐上下文
下一篇
393个工具背后的MCP接口设计经验

资讯速览

dev.to · AI · 2026-11-08 11:43

AI 评分 8.0 / 10

相关标签

#Agent#记忆管理#上下文工程

继续阅读

  • 停止本地界面不等于取消远程A2A任务
  • 用 Laravel Boost 给编程智能体补齐上下文
  • 393个工具背后的MCP接口设计经验
  • VIDRAFT 开放180B推理模型权重
  • 让编程智能体用本地语音考查代码理解