DSH的上下文工程没做针对工具的渐进式披露,针对工具的输出日志只做了简单的裁剪/外置,大家有无更好的替换方案? #2597
bjvgukv25842-cmyk
started this conversation in
Ideas
Replies: 2 comments 1 reply
|
你把四层列出来这点挺有用的。不过问题可能不在层数,在触发条件全挂在压力比例上:1M 窗口配 0.8,Layer 3/4 永远等不到那一刻。Claude Code 那套是分级的,budget → snip → micro → auto,前几层每轮都跑,跟窗口剩多少无关,只有最后的语义摘要才看压力。所以可以先在 thresholdRatio 之外加一个绝对回放上限,别让裁剪时机跟窗口大小绑定。工具的渐进式披露是另一件事,全量 Schema 那 10 到 20k 得靠延迟加载解决,跟压缩不是同一层。 另外重注入那块有个坑:替换工具结果的 stub 字符串每次必须一模一样,带时间戳或路径的话前缀一变,后面的 cache 全没了。 这块我用 Python 拆成了教程,GitHub 上 500+ 星:https://github.com/hardness1020/awesome-agent-architecture/tree/main/sections/08-context-management |
1 reply
|
deepseek官方api只支持前缀缓存 如果做了所谓的什么渐进,工具结果剪裁等,会严重拉低缓存命中率 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
如题所示,在这几天个人体验下来,DSH目前底层的上下文工程做的非常简单。
实际使用下来个人感觉它的压缩机制只设定了一个合理的阈值,没有做像Claude code那样的分级压缩,它的生命周期还不够完整,特别是针对于压缩后的重新水合、重注入机制,十分不完善,对话几轮之后上下文窗口全被工具的输出日志还有一些垃圾信息冗余。特别是针对于工具的披露方式,几乎都是完整Schema全量加载进上下文窗口,单次对话固定占据10到20k tokens的上下文窗口。针对工具的输出日志,DAH团队做了裁剪和外置,但是目前机制不够完善,基本都是静态触发,且他们似乎针对工具的输出日志的裁剪做了四层机制
Layer 1:采集期裁剪 + 外置(每会话都生效)
Layer 2:通用 spill policy(dsh-spill-policy,maxInlineBytes)存在但默认未启用,任意超预算纯文本工具结果 → 全文存盘 + 头尾预览 + 取回提示
Layer 3:工具结果裁剪器(dsh-compaction-tool-result-pruner) 已装载但被动
Layer 4:压缩(dsh-compaction-basic)已装载但从未触发
结果是我1M 窗口下 Layer 3/4 基本是摆设;真正每轮在控制上下文增长的只有 Layer 1 的各工具采集上限,所以历史里单次不大的工具结果会原样累积——因此我建议目前的解决方式「长会话及时开新篇」
All reactions