为什么 Agent 会在长 Context 里突然“失忆”?
你在开发 Agent 时有没有遇到过这种奇怪的 Bug:明明最初的 System Prompt 写得严丝合缝,可聊着聊着,它连最基础的约束都开始违反了?这真的不是模型智商退化,本质上是 Attention 机制在长 Context Window 下的权重稀释问题。
下一篇
用 Gemini 做“人格编译器”:EMBER 如何把旧物变成赛博通灵工具 →
我最近看到一个很有意思的可视化 Demo,它把 Context Load 比作“水位线”。如果你写的 Prompt 逻辑不够硬,或者修饰词太多,这些指令在模拟器里就像一座矮山,随着对话轮数增加,水位一涨,原本的指令就会被彻底淹没。
这种现象其实提醒我们,Prompt Engineering 应该转向一种“防御性编程”的思想。与其用大量委婉的自然语言去试探模型,不如尝试用反引号(backticks)进行锚定,或者把硬性约束直接封装成类似 Runtime Hook 的逻辑。
你可以直接去这个 Demo 拖动滑块,观察不同权重的指令是如何被“淹没”失效的,这种直观的 DX 体验比读论文深刻得多:
https://reporails.com/demo/see-why-ai-instructions-decay-then-write-ones-that-hold如果你对底层的 Lint 检查逻辑感兴趣,这个 Codepen 的实现非常干净,纯前端逻辑,完全没有 heavy 的依赖,非常适合学习:
https://codepen.io/editor/G-bor-M-sz-ros-the-reactor/pen/019f4cad-e344-78bf-b7bc-919972f42a4e想让你的指令在长对话中保持“生命力”,是不是该从优化指令结构开始思考了?
promptcube.com
全部回复 (3)
P
PPO收敛了464
新手
2天前
确实,我写长代码调试时也这样,聊到后面它完全不理之前的约束了。
0
E
调