<?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[# Hermes Telegram 瘦身總結（本地模型版）AMD 7900XTX 24GB&#96; + 本地 &#96;Qwen3.6 27B q4&#96;]]></title><description><![CDATA[<p dir="auto">以下是讓codex cli直接連進ubumtu幫我優化本地模型qwen3.6 27b q4km 跑hermes agent使用telgram對話速度的優化，跑完真的飛起了，我128k上下文，平常查台股跟幣價K線分析幾乎可以做到與雲端API秒級回應的速度，建議大家都去優化，我另外裝一張rtx3060 12g跑 9B模型 讓他專職壓縮,這樣0.5到了壓縮幾乎也是30-40秒內跑完,可以玩的飛飛起以下文章請codex做的總結,分享給大家,晚點再補截圖</p>
<h1>Hermes Telegram 瘦身總結（本地模型版）</h1>
<p dir="auto">日期：2026-06-03<br />
環境：<code>AMD 7900XTX 24GB</code> + 本地 <code>Qwen3.6 27B q4</code><br />
目標：<strong>讓 Hermes 在 Telegram 上回應更快、更穩，不要每次先背一大包提示詞和工具 schema。</strong></p>
<p dir="auto">這份整理只講 <strong>Telegram 方向的 Hermes 瘦身</strong>。<br />
<strong>不討論幣價分析腳本本身的策略與演算法</strong>，只講 Hermes 怎麼變瘦、怎麼減少工具/skill/prompt 負擔。</p>
<hr />
<h2>一、先說結論</h2>
<p dir="auto">我這次做的不是單一小改動，而是把 Telegram 用到的 Hermes 執行面拆成更小、更乾淨的版本。</p>
<p dir="auto">重點有 5 類：</p>
<ol>
<li><strong>縮 Telegram 可用工具集</strong></li>
<li><strong>減少 system prompt 會自動注入的內容</strong></li>
<li><strong>關掉對本地 27B 性價比不高的附加功能</strong></li>
<li><strong>處理 skill 撞名與 skill 繞路</strong></li>
<li><strong>把新聞查詢統一路由，避免模型自己亂選入口</strong></li>
</ol>
<p dir="auto">這些調整的目的都一樣：</p>
<ul>
<li>減少首輪輸入 token</li>
<li>減少工具 schema 體積</li>
<li>減少 skill 搜索/歧義/繞路</li>
<li>減少不必要的工具決策回合</li>
<li>讓 Telegram 問句更常直接進 terminal 跑腳本</li>
</ul>
<hr />
<h2>二、Telegram 工具面瘦身</h2>
<h3>1. Telegram 平台工具集縮到最小</h3>
<p dir="auto">目前 <code>config.yaml</code> 已調成：</p>
<pre><code class="language-yaml">platform_toolsets:
  telegram:
    - terminal
    - no_mcp
</code></pre>
<p dir="auto">也就是 Telegram 這邊 <strong>只保留</strong>：</p>
<ul>
<li><code>terminal</code></li>
<li><code>no_mcp</code></li>
</ul>
<h3>2. 砍掉 Telegram 不需要的工具面</h3>
<p dir="auto">原本這類工具都可能一起進場，增加 schema 與判斷成本：</p>
<ul>
<li><code>web</code></li>
<li><code>file</code></li>
<li><code>skills</code></li>
<li><code>clarify</code></li>
<li><code>messaging</code></li>
<li><code>cronjob</code></li>
<li>各種 browser / image / tts / mcp 相關能力</li>
</ul>
<p dir="auto">現在 Telegram 這邊都先不帶。</p>
<h3>3. 這樣做的效果</h3>
<p dir="auto">對雲端大模型來說，這種工具面膨脹有時還撐得住。<br />
但對本地 <code>27B q4</code>，每次多帶一批工具定義，模型都要先理解：</p>
<ul>
<li>有哪些工具</li>
<li>每個工具做什麼</li>
<li>參數格式是什麼</li>
<li>這題要不要叫工具</li>
</ul>
<p dir="auto">所以縮工具集的收益很直接：</p>
<ul>
<li><strong>首輪思考更快</strong></li>
<li><strong>比較不會亂繞工具</strong></li>
<li><strong>比較少出現「先想一堆，晚點才跑 terminal」</strong></li>
</ul>
<hr />
<h2>三、System Prompt / Context 瘦身</h2>
<h3>1. 關掉 skills prompt index 注入</h3>
<p dir="auto">我改了：</p>
<ul>
<li><a href="/home/jaran/.hermes/config.yaml">config.yaml</a></li>
<li><a href="/home/jaran/.hermes/hermes-agent/agent/prompt_builder.py">prompt_builder.py</a></li>
</ul>
<p dir="auto">新增了這個控制：</p>
<pre><code class="language-yaml">skills:
  prompt_index_enabled: false
</code></pre>
<p dir="auto">並在 <code>prompt_builder.py</code> 裡讓它真的生效：</p>
<ul>
<li>當 <code>skills.prompt_index_enabled: false</code></li>
<li>直接 <strong>不把 skills 索引注入 system prompt</strong></li>
</ul>
<h3>2. 這件事為什麼重要</h3>
<p dir="auto">你本機 <code>~/.hermes/skills</code> 裡 skill 很多。<br />
如果每輪都把一大串 skills index 塞進 system prompt，本地 27B 會先浪費大量 prefill 在讀這些資訊。</p>
<p dir="auto">這次等於直接砍掉：</p>
<ul>
<li>一整段 skills 目錄說明</li>
<li>一大包 skill 名稱 / 描述 / 可用項</li>
</ul>
<h3>3. 精簡 <a href="http://SOUL.md" rel="nofollow ugc">SOUL.md</a></h3>
<p dir="auto">我把 <a href="/home/jaran/.hermes/SOUL.md">SOUL.md</a> 改成 <strong>Telegram 實戰版</strong>，只保留：</p>
<ul>
<li>身份</li>
<li>路由原則</li>
<li>新聞 / 技術分析 / BSB 常見問句的執行邏輯</li>
</ul>
<p dir="auto">拿掉或大幅縮短了：</p>
<ul>
<li>Windows Task Scheduler 相關內容</li>
<li>舊版 Windows 路徑</li>
<li>冗長版本歷史</li>
<li>過長腳本欄位解說</li>
<li>不屬於 Telegram 日常對話必需的說明</li>
</ul>
<p dir="auto">目的很單純：</p>
<ul>
<li><strong>SOUL 只保留每輪真的要用的高優先級規則</strong></li>
<li>不讓本地模型反覆重讀無關說明</li>
</ul>
<h3>4. 關掉額外 prompt 區塊</h3>
<p dir="auto">在 <a href="/home/jaran/.hermes/config.yaml">config.yaml</a> 關掉了：</p>
<pre><code class="language-yaml">agent:
  task_completion_guidance: false
  environment_probe: false
</code></pre>
<p dir="auto">這兩塊都會讓每輪 prompt 變更長。<br />
對 Telegram 這種短問短答，收益不高，成本比較明顯。</p>
<hr />
<h2>四、關掉對本地 27B 不划算的附加功能</h2>
<h3>1. memory 關掉</h3>
<pre><code class="language-yaml">memory:
  memory_enabled: false
  user_profile_enabled: false
</code></pre>
<p dir="auto">理由：</p>
<ul>
<li>本地 27B 先把眼前問題答快，比長期個人化更重要</li>
<li>memory 相關內容會增加上下文與管理成本</li>
</ul>
<h3>2. curator 關掉</h3>
<pre><code class="language-yaml">curator:
  enabled: false
</code></pre>
<p dir="auto">理由：</p>
<ul>
<li>你當前需求不是技能自動維護</li>
<li>對 Telegram 即時回應幫助不大</li>
</ul>
<h3>3. lsp 關掉</h3>
<pre><code class="language-yaml">lsp:
  enabled: false
</code></pre>
<p dir="auto">理由：</p>
<ul>
<li>Telegram 上主要不是在做 repo 級語義編輯</li>
<li>LSP 對這條使用路徑是額外負擔</li>
</ul>
<hr />
<h2>五、Skill 層瘦身</h2>
<h3>1. 解掉 skill 撞名</h3>
<p dir="auto">之前 Hermes 會遇到這種情況：</p>
<ul>
<li>同名 skill 出現兩份</li>
<li>模型先去 <code>skills_list</code></li>
<li>再去 <code>skill_view</code></li>
<li>然後報 ambiguous</li>
<li>最後才進入真正任務</li>
</ul>
<p dir="auto">這會讓首輪甚至前幾輪都浪費在 skill 系統裡。</p>
<p dir="auto">我處理掉的重名入口包括：</p>
<ul>
<li><code>crypto-ceo-trading-agent</code></li>
<li><code>bsb-analysis</code></li>
<li><code>orderbook-analysis</code></li>
<li><code>crypto-multiframe-trend-analysis</code></li>
</ul>
<p dir="auto">內層重複副本改成 <code>*-internal</code>，避免 Hermes 在公開 skill 名稱上撞名。</p>
<h3>2. 驗證結果</h3>
<p dir="auto">我重新掃過整棵 <code>~/.hermes/skills</code> 的 frontmatter <code>name:</code>，<br />
目前 <strong>沒有重複的真實 skill name</strong>。</p>
<h3>3. 為什麼這對速度有感</h3>
<p dir="auto">這種問題不會讓腳本變慢，<br />
但會讓模型在真正跑腳本前先經歷：</p>
<ul>
<li>skill 搜尋</li>
<li>skill 檢視</li>
<li>skill 錯誤</li>
<li>再重試</li>
</ul>
<p dir="auto">對本地模型來說，這類「前置繞路」很傷。</p>
<hr />
<h2>六、新聞查詢路由瘦身</h2>
<p dir="auto">這部分雖然是功能更新，但本質上也是 <strong>Hermes 路由瘦身</strong>。</p>
<h3>1. 統一成單一入口</h3>
<p dir="auto">新增：</p>
<ul>
<li><a href="/home/jaran/.hermes/skills/tw-news/scripts/news_router.py">news_router.py</a></li>
</ul>
<p dir="auto">現在新聞類都先走：</p>
<pre><code class="language-bash">~/.hermes/hermes-agent/venv/bin/python3 ~/.hermes/skills/tw-news/scripts/news_router.py "完整問題或關鍵字"
</code></pre>
<p dir="auto">它會自動判斷：</p>
<ul>
<li>即時新聞</li>
<li>原因型查詢</li>
<li>事件 / 事實型查詢</li>
</ul>
<h3>2. 為什麼要統一入口</h3>
<p dir="auto">以前模型可能在這幾個概念之間搖擺：</p>
<ul>
<li><code>tw-news.py</code></li>
<li><code>news_search.py</code></li>
<li>舊文案裡殘留的 <code>web-search.py</code></li>
</ul>
<p dir="auto">入口越多，模型越容易：</p>
<ul>
<li>想太久</li>
<li>選錯</li>
<li>先問或先繞</li>
</ul>
<p dir="auto">現在改成單一路由，模型只要先判斷：</p>
<ul>
<li>這是不是新聞問題</li>
</ul>
<p dir="auto">一旦是，就走同一入口。</p>
<h3>3. universal_news.py 也做了提速</h3>
<p dir="auto">我改了：</p>
<ul>
<li><a href="/home/jaran/.hermes/skills/tw-news/scripts/universal_news.py">universal_news.py</a></li>
</ul>
<p dir="auto">主要提速手段：</p>
<ul>
<li>timeout：<code>12s -&gt; 6s</code></li>
<li>查詢組數：<code>8 -&gt; 4</code></li>
<li>改成 <strong>並行抓 Google News RSS</strong></li>
</ul>
<p dir="auto">這樣做的效果是：</p>
<ul>
<li>查新聞時比較不容易整串卡很久</li>
<li>失敗時也比較快回退</li>
</ul>
<hr />
<h2>七、orderbook 路徑瘦身</h2>
<p dir="auto">這段雖然跟幣價流程接壤，但這裡只講 Hermes 路由與工具負擔，不講分析邏輯。</p>
<h3>1. 舊問題</h3>
<p dir="auto">舊的 orderbook skill 還留著這類做法：</p>
<ul>
<li><code>curl ...</code></li>
<li><code>python -c</code></li>
<li><code>python3 -c</code></li>
</ul>
<p dir="auto">而你的 Hermes 設定裡，對這類 <code>-c / -e</code> 腳本執行是敏感的。<br />
結果就是：</p>
<ul>
<li>模型一旦選到這條路</li>
<li>terminal 可能被 guard/approval 擋住</li>
<li>白白卡掉約 60 秒</li>
</ul>
<h3>2. 新做法</h3>
<p dir="auto">新增正式腳本：</p>
<ul>
<li><a href="/home/jaran/.hermes/skills/crypto-ceo-trading-agent/orderbook-analysis/scripts/analyze_okx_orderbook.py">analyze_okx_orderbook.py</a></li>
</ul>
<p dir="auto">現在 orderbook skill 改成：</p>
<ul>
<li>直接跑正式腳本</li>
<li>不再依賴 inline python</li>
</ul>
<h3>3. 這對 Telegram 有什麼幫助</h3>
<p dir="auto">很直接：</p>
<ul>
<li>少掉被攔截的命令模式</li>
<li>少掉 60 秒級的假卡頓</li>
<li>模型也比較容易理解「這題有專用腳本可以直接跑」</li>
</ul>
<hr />
<h2>八、實際效果</h2>
<h3>1. 首輪延遲改善</h3>
<p dir="auto">之前曾出現：</p>
<ul>
<li>首輪 API call 80 秒以上</li>
<li>甚至 100 秒以上才開始跑工具</li>
</ul>
<p dir="auto">做完 prompt / tool / skill 瘦身後，近期測到的首輪常見區間已經降很多：</p>
<ul>
<li>約 <code>3s ~ 12s</code></li>
</ul>
<h3>2. Telegram 類型問句更常直接進 terminal</h3>
<p dir="auto">這次調整後，模型對短問句比較容易：</p>
<ul>
<li>先判斷類型</li>
<li>直接跑 terminal</li>
<li>再整理回答</li>
</ul>
<p dir="auto">而不是：</p>
<ul>
<li>先找 skill</li>
<li>先想要不要叫別的工具</li>
<li>先繞新聞入口</li>
</ul>
<h3>3. 實測例子</h3>
<p dir="auto">Hermes 本體測試：</p>
<ul>
<li>
<p dir="auto"><code>今天幣圈有什麼新聞</code></p>
<ul>
<li>wall time 約 <code>35s</code></li>
<li>無 blocked terminal</li>
</ul>
</li>
<li>
<p dir="auto"><code>BSB 壓力點到了沒</code></p>
<ul>
<li>wall time 約 <code>25s</code></li>
<li>無 blocked terminal</li>
</ul>
</li>
</ul>
<p dir="auto">這代表這次不是只改文案，<br />
而是把 <strong>原本會慢、會卡、會被攔的實際路徑</strong> 拆掉了。</p>
<hr />
<h2>九、這次改過的關鍵檔案</h2>
<h3>設定 / Prompt</h3>
<ul>
<li><a href="/home/jaran/.hermes/config.yaml">config.yaml</a></li>
<li><a href="/home/jaran/.hermes/SOUL.md">SOUL.md</a></li>
<li><a href="/home/jaran/.hermes/hermes-agent/agent/prompt_builder.py">prompt_builder.py</a></li>
</ul>
<h3>新聞</h3>
<ul>
<li><a href="/home/jaran/.hermes/skills/tw-news/SKILL.md">tw-news/SKILL.md</a></li>
<li><a href="/home/jaran/.hermes/skills/tw-news/scripts/news_router.py">news_router.py</a></li>
<li><a href="/home/jaran/.hermes/skills/tw-news/scripts/universal_news.py">universal_news.py</a></li>
</ul>
<h3>Skills / 路由</h3>
<ul>
<li><a href="/home/jaran/.hermes/skills/crypto-ceo-trading-agent/SKILL.md">crypto-ceo-trading-agent/SKILL.md</a></li>
<li><a href="/home/jaran/.hermes/skills/crypto-ceo-trading-agent/bsb-analysis/SKILL.md">bsb-analysis/SKILL.md</a></li>
<li><a href="/home/jaran/.hermes/skills/crypto-ceo-trading-agent/orderbook-analysis/SKILL.md">orderbook-analysis/SKILL.md</a></li>
<li><a href="/home/jaran/.hermes/skills/crypto-ceo-trading-agent/orderbook-analysis/scripts/analyze_okx_orderbook.py">analyze_okx_orderbook.py</a></li>
</ul>
<hr />
<h2>十、適合分享給網友的重點一句話版</h2>
<p dir="auto">如果你的 Hermes 跑在本地中大型模型上，<br />
<strong>最有效的優化通常不是改一點 prompt，而是把平台工具集縮小、關掉 skills index 注入、解掉 skill 撞名、把多入口路由收成單一路徑。</strong></p>
<p dir="auto">對 Telegram 這種短問短答場景，這比加更多功能更重要。</p>
<hr />
<h2>十一、目前還可以再優化的地方</h2>
<p dir="auto">雖然這次已經瘦很多，但還有兩個方向還能繼續做：</p>
<ol>
<li>
<p dir="auto"><strong>再瘦 crypto 主 skill</strong></p>
<ul>
<li>目前它仍然偏長</li>
<li>可以再拆成 Telegram 極簡版</li>
</ul>
</li>
<li>
<p dir="auto"><strong>把 Telegram 和 CLI profile 分更乾淨</strong></p>
<ul>
<li>現在已經有平台級工具差異</li>
<li>再往前可以做 profile 級的 prompt / skills 分流</li>
</ul>
</li>
</ol>
<hr />
<h2>十二、備份</h2>
<p dir="auto">這次相關備份包含：</p>
<ul>
<li><a href="/home/jaran/.hermes/SOUL.md.bak-20260603-before-soul-rewrite-faster-news">SOUL.md.bak-20260603-before-soul-rewrite-faster-news</a></li>
<li><a href="/home/jaran/.hermes/config.yaml.bak-20260603-before-telegram-fast-tuning">config.yaml.bak-20260603-before-telegram-fast-tuning</a></li>
<li><a href="/home/jaran/.hermes/skills/tw-news/SKILL.md.bak-20260603-before-universal-news-refresh">SKILL.md.bak-20260603-before-universal-news-refresh</a></li>
</ul>
<hr />
<h2>十三、給網友的實務建議</h2>
<p dir="auto">如果你也在本地跑 Hermes，尤其是 20B~30B 級模型，建議優先做這些：</p>
<ol>
<li>Telegram 只留真的會用到的 toolset</li>
<li>關掉 skills index 注入</li>
<li>關掉 memory / curator / lsp 這類非當前必要功能</li>
<li>把同類查詢收成單一路由入口</li>
<li>清掉 skill 撞名</li>
<li>避免 inline python / 臨時拼命令 / 多層工具繞路</li>
</ol>
<p dir="auto">這些通常比「再換一版 prompt」更有效。</p>
]]></description><link>https://lcz.me/topic/401/hermes-telegram-瘦身總結-本地模型版-amd-7900xtx-24gb-本地-qwen3.6-27b-q4</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 07:04:23 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/401.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Jun 2026 04:39:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to # Hermes Telegram 瘦身總結（本地模型版）AMD 7900XTX 24GB&#96; + 本地 &#96;Qwen3.6 27B q4&#96; on Wed, 03 Jun 2026 13:02:38 GMT]]></title><description><![CDATA[<p dir="auto">非常详细，感谢感谢！！！ 可以抄作业了</p>
]]></description><link>https://lcz.me/post/4843</link><guid isPermaLink="true">https://lcz.me/post/4843</guid><dc:creator><![CDATA[kylin_Zaki]]></dc:creator><pubDate>Wed, 03 Jun 2026 13:02:38 GMT</pubDate></item><item><title><![CDATA[Reply to # Hermes Telegram 瘦身總結（本地模型版）AMD 7900XTX 24GB&#96; + 本地 &#96;Qwen3.6 27B q4&#96; on Wed, 03 Jun 2026 05:01:31 GMT]]></title><description><![CDATA[<p dir="auto">很好的总结, 文件链接都丢了, 可以打一个包上传上来, 如果没有什么隐私的话.</p>
]]></description><link>https://lcz.me/post/4755</link><guid isPermaLink="true">https://lcz.me/post/4755</guid><dc:creator><![CDATA[Tony Wang]]></dc:creator><pubDate>Wed, 03 Jun 2026 05:01:31 GMT</pubDate></item><item><title><![CDATA[Reply to # Hermes Telegram 瘦身總結（本地模型版）AMD 7900XTX 24GB&#96; + 本地 &#96;Qwen3.6 27B q4&#96; on Wed, 03 Jun 2026 04:53:01 GMT]]></title><description><![CDATA[<p dir="auto">本质上就是删掉了楼主场景不需要的hermes系统提示词。从而：<br />
1、缩短了提示词，也就缩短了prefill的延时时间。<br />
2、防止LLM调用非最短路径的工具，浪费token。从而节省decode输出时间。</p>
<p dir="auto">需要坛友注意的是，如此操作之后，Hermes Agent在某一个message gateway下，就变成了类似“专用语义化处理工具”的定位。相当于是一种定制性优化。</p>
<p dir="auto">btw：感谢楼主的分享，如果楼主的内容不是纯AI生成，或人工进行一系列的精简，阅读体验会更好。</p>
]]></description><link>https://lcz.me/post/4754</link><guid isPermaLink="true">https://lcz.me/post/4754</guid><dc:creator><![CDATA[kop wang]]></dc:creator><pubDate>Wed, 03 Jun 2026 04:53:01 GMT</pubDate></item></channel></rss>