<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI Agent on CAO ZUOHUA</title><link>https://caozuohua.github.io/categories/ai-agent/</link><description>Recent content in AI Agent on CAO ZUOHUA</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 29 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://caozuohua.github.io/categories/ai-agent/index.xml" rel="self" type="application/rss+xml"/><item><title>Agent 系列日记 5：为什么 Skill 路由比 ReAct 控制器更适合个人助理</title><link>https://caozuohua.github.io/posts/2026-06-29-skill-routing-vs-react/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://caozuohua.github.io/posts/2026-06-29-skill-routing-vs-react/</guid><description>&lt;blockquote&gt;
&lt;p&gt;从 luck-agent 到 Hermes-lite，我花了两年时间才想清楚这个问题：80% 的请求不需要&amp;quot;思考&amp;quot;，只需要&amp;quot;路由&amp;quot;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="回顾react-控制器模式的困境"&gt;回顾：ReAct 控制器模式的困境&lt;/h2&gt;
&lt;p&gt;2024 年做 luck-agent 的时候，我采用的是经典的 &lt;strong&gt;ReAct 模式&lt;/strong&gt;（Reasoning + Acting）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;用户输入 → 大模型推理（意图识别 → 规划 → 工具选择 → 执行）→ 输出
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;所有请求，不管简单还是复杂，都走同一个推理链。一个&amp;quot;查 QPC 里有没有 VPS 相关的记录&amp;quot;的请求，也要经过：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;理解自然语言&lt;/li&gt;
&lt;li&gt;判断意图类别&lt;/li&gt;
&lt;li&gt;选择工具（search_qpc）&lt;/li&gt;
&lt;li&gt;构造查询参数&lt;/li&gt;
&lt;li&gt;执行并解释结果&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;问题很明显&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Token 消耗大&lt;/strong&gt;：每次推理要带上完整的 system prompt + 工具定义，光上下文就吃掉 3000-5000 token&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;延迟高&lt;/strong&gt;：一个简单查询要等模型完成完整推理链，响应时间 3-8 秒&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;上下文窗口压力&lt;/strong&gt;：随着工具数量增加（现在 Hermes-lite 有 20+ 个工具），system prompt 越来越大&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我当时就在知识库里记了一条：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;对于个人助理场景，相比最初的 ReAct 控制器模式，Skill 技能路由更适合当前 luckagent：80% 请求是固定模式，不需要复杂推理，技能比 Agent 更稳定，成本更低，响应更快。&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="skill-路由的核心思想"&gt;Skill 路由的核心思想&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;一句话&lt;/strong&gt;：预定义技能映射，轻量分类先路由，只加载需要的工具和 prompt。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;用户输入 → 轻量路由（关键词/意图 → 技能）→ 加载专用 prompt + 工具 → 执行
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="路由表设计"&gt;路由表设计&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 简化版路由逻辑&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ROUTING_RULES &lt;span style="color:#f92672"&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;qpc&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;QPC&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;知识库&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;记一下&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;记录&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;skill&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;qpc&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;tools&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;feishu_bitable_read&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;feishu_bitable_write&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;prompt&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;qpc_skill_prompt&amp;#34;&lt;/span&gt; &lt;span style="color:#75715e"&gt;# 只加载 QPC 相关的 prompt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;vps&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;VPS&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;服务器&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;防火墙&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;Docker&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;skill&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;gcp-vps-ops&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;tools&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;terminal&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;read_file&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;prompt&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;vps_skill_prompt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; },
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;blog&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;keywords&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;博客&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;文章&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;Hugo&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;发布&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;skill&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;hugo-blog&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;tools&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;terminal&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;read_file&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;write_file&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;prompt&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;blog_skill_prompt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="对比同样查-qpc操作"&gt;对比：同样&amp;quot;查 QPC&amp;quot;操作&lt;/h3&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;指标&lt;/th&gt;
					&lt;th&gt;ReAct 模式&lt;/th&gt;
					&lt;th&gt;Skill 路由&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;上下文 token&lt;/td&gt;
					&lt;td&gt;~4000（全量工具定义）&lt;/td&gt;
					&lt;td&gt;~800（仅 QPC 相关）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;首次响应延迟&lt;/td&gt;
					&lt;td&gt;3-8s&lt;/td&gt;
					&lt;td&gt;0.5-1.5s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;工具调用次数&lt;/td&gt;
					&lt;td&gt;2-3 次（推理+执行）&lt;/td&gt;
					&lt;td&gt;1 次（直接执行）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;准确率&lt;/td&gt;
					&lt;td&gt;92%（模型可能选错工具）&lt;/td&gt;
					&lt;td&gt;98%（路由确定性高）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="hermes-lite-的-skill-实现"&gt;Hermes-lite 的 Skill 实现&lt;/h2&gt;
&lt;p&gt;Hermes-lite 的 skill 系统是这样工作的：&lt;/p&gt;</description></item></channel></rss>