<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[说一下为了输出速度忽略缓存命中的一些感受]]></title><description><![CDATA[<p dir="auto">我在买7900xtx之后，用的是qwen3.8Q4非审查版本。这个版本用在DSH网页端，运行效果是很不错的，我也没觉得速度太慢。</p>
<p dir="auto">在DSH桌面版出来之后，想尝鲜，安装了桌面版，导致桌面版和网页端数据互通，污染了网页端的128K上下文。<br />
影响的效果是：网页端本身可以跑软件修改几十轮200多步，100+Mtok，一些小问题都可以修改。但是桌面版安装之后上下文经常超，说不了两句话就报错上下文不够了。而且用AI修，最多只有64K上下文，这个是DSH桌面版的限制，修不了的。<br />
因为对话任务很多还需要，我没办法清空，所以一直忍着。</p>
<p dir="auto">在半个月前，OpenRouter上有了太空兔这个模型免费用，就用了一周。这期间看strata架构的速度不错，所以也测试了一下，但是内存占用太多，而且也没有非审核模型就没有使用，只做了测试能跑，但我觉得不适合我这种只有一台电脑的用户。</p>
<p dir="auto">现在免费羊毛的太空兔没有了，回归本地模型，我就是感觉本地这个特别慢，我开始的时候以为是我用习惯了API，所以阈值变高了，导致现在看不上本地模型。但是这几天下来我总觉得不对。终于发现了问题，我看到我DSH里面的缓存命中只有30%+，但是我印象应该没有这么低，具体多少我看归档的对话发现之前都是90%+。所以这个时候我意识到慢的原因就在缓存命中上。</p>
<p dir="auto">今天用了10块钱左右的DeepSeek专门重新搞strata和本地llama，最终得到的结果就是，strata的速度在我的机器上45t/s+（不到50），缓存命中50%，没有特别高。<br />
删除strata退回到我之前刚安装llama+qwen3.8 27BQ4，缓存命中在95%+。效果明显了，速度也快了，就是能直接出结果了，不用一宿一宿的跑什么都跑不出来了。</p>
<p dir="auto">最终是缓存命中真的是太TMD重要了!!!</p>
<p dir="auto">所有的性能都要在缓存命中高的前提下再搞速度。</p>
<p dir="auto">贴几张我的图<br />
<img src="https://upload.lcz.me/uploads/4e34c4ec-c1f5-4c50-9c6f-2a7cb18c29f1.jpeg" alt="image.jpeg" class="img-markdown  img-fluid" /><br />
<img src="https://upload.lcz.me/uploads/22606f1d-ff3b-425e-a1f5-da58a26006da.jpeg" alt="image.jpeg" class="img-markdown  img-fluid" /><br />
<img src="https://upload.lcz.me/uploads/ce32c608-749a-42cf-b09d-a86421b41c06.jpeg" alt="image.jpeg" class="img-markdown  img-fluid" /></p>
<p dir="auto">前几张是慢的，最后一张是修改后在95%+的，效率一下就上来了。</p>
<p dir="auto">AI告诉我的几个原因贴在这里，供大家参考。<br />
<img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f3af.png?v=ec85ec55bc1" class="not-responsive emoji emoji-android emoji--dart" style="height:1.4em;width:auto;vertical-align:middle" title="🎯" alt="🎯" /> 为什么换模型后缓存命中率会暴跌？<br />
在本地 llama.cpp 环境中，缓存机制比云端 API 更加“脆弱”，核心原因有两点：</p>
<p dir="auto">缓存域隔离：DSH 的设计是每个模型（甚至每个提供商）拥有独立的缓存域。当你从本地 Qwen 模型切换到 OpenRouter 的模型时，DSH 会认为你进入了一个全新的缓存域。当你再切回本地模型时，之前的缓存前缀已经作废，KV Cache 需要从头重建。</p>
<p dir="auto">llama.cpp 的“全量重算”特性：llama.cpp 的 prompt cache 是基于最长公共前缀的精确匹配。一旦前缀中任何字节发生变化（例如系统提示词中注入了不同的模型名或提供商信息），整个对话历史都会被强制全量重算，而不是只重算变化的部分。在长会话中，这意味着一次模型切换可能触发数万甚至数十万 token 的重新处理，首轮响应会变得极慢，命中率显示也自然暴跌。</p>
<p dir="auto"><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f50d.png?v=ec85ec55bc1" class="not-responsive emoji emoji-android emoji--mag" style="height:1.4em;width:auto;vertical-align:middle" title="🔍" alt="🔍" /> 分步排查与恢复指南<br />
你可以按照以下顺序逐步操作，通常能恢复到接近之前的命中率：</p>
<p dir="auto">第一步：确认是否用回了同一个“缓存域”<br />
检查你的 DSH 配置，确认当前会话使用的本地模型路径、量化版本、上下文长度参数与之前完全一致。如果之前用的是 qwen3.8-q4-long，切回来时也必须用同一个标识符，而不是新建一个类似的。</p>
<p dir="auto">第二步：检查 resume 会话的副作用<br />
如果你是恢复（resume） 了之前的旧会话，可能会触发 DSH 的一个已知 bug：在 cordis（创造）模式下，会话恢复时 system prompt 的 section 排序可能发生漂移，导致缓存命中率从 ~99% 暴跌到 0.3%~3%。解决方法：尝试新开一个会话，而不是 resume 旧会话，观察第一轮之后的命中率是否恢复正常。</p>
<p dir="auto">第三步：检查是否有“后台请求”在踢掉缓存<br />
这是本地部署中最隐蔽的杀手。DSH 的子代理（subagent）会继承父会话创建时的模型，而不是当前模型。如果你在切换模型期间，某些后台任务或子代理仍然在向 llama.cpp 发送对其他模型的请求，llama.cpp 会驱逐（evict）已加载的本地模型，导致 prompt cache 丢失。请检查终端日志或 DSH 的 /logs，看是否有频繁的模型重新加载记录。</p>
<p dir="auto">第四步：用 dsh-model-pin 插件锁死本地模型（强烈推荐）<br />
安装 dsh-model-pin 插件，强制所有请求（包括子代理和后台任务）只能使用你指定的本地模型。配置为单模型模式后，任何“越界”的请求都会被重定向或拒绝，彻底杜绝因意外模型切换导致的缓存丢失。</p>
<p dir="auto">bash</p>
<h1>安装插件</h1>
<p dir="auto">dsh plugin --profile web add dsh-model-pin</p>
<h1>在 ~/.dsh/profiles/web/cordis.patch.yml 中添加配置</h1>
<ul>
<li>id: model-pin<br />
config:<br />
providers:<br />
llamacpp:<br />
allow: [qwen3.8-q4-long]   # 只允许这一个模型<br />
fallback: qwen3.8-q4-long<br />
action: redirect<br />
warnOnSwitch: true</li>
</ul>
<p dir="auto">最后还有一个我的结论，一台电脑不是服务器还是不适合strata，即使速度快，但是影响电脑自身性能很多，只适合服务器调用。</p>
<p dir="auto">如果有人有新的方法，可以介绍给我，贴给我，万分感谢。</p>
]]></description><link>https://lcz.me/topic/2262</link><generator>RSS for Node</generator><lastBuildDate>Sun, 25 Oct 2026 06:43:07 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/2262.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 Oct 2026 06:41:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 说一下为了输出速度忽略缓存命中的一些感受 on Sun, 11 Oct 2026 06:52:25 GMT]]></title><description><![CDATA[<p dir="auto">dsh 在之前0.15版本里面有一个非常严重的Pi ai bug....不懂怎么搞，他不会一直出来，然而之前我搞一个48小时不间断的1000亿Input output ，使用0.15反而没问题，我有特别留意缓存，他是不断不断用完了就马上压缩，再继续，没卡断，我以为可以一直用，</p>
<p dir="auto">然而最近不懂怎么，卡在类似的缓存问题， 有时候我设定130k, 他用到150k 都还不要压缩，然后就Hang着等我。。。。</p>
<p dir="auto">我现在升级0.2.0版本，类似的问题已经减少很多</p>
]]></description><link>https://lcz.me/post/23932</link><guid isPermaLink="true">https://lcz.me/post/23932</guid><dc:creator><![CDATA[imbiplaza ASUS]]></dc:creator><pubDate>Sun, 11 Oct 2026 06:52:25 GMT</pubDate></item></channel></rss>