<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Smilex 的技术博客</title><link>https://smilex-blog.pages.dev/</link><description>Recent content on Smilex 的技术博客</description><generator>Hugo -- 0.165.0</generator><language>zh-cn</language><lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://smilex-blog.pages.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Hermes Agent v0.16 Kanban Swarm 功能深度解析(面向 AI 开发者)</title><link>https://smilex-blog.pages.dev/posts/hermes-v016-kanban-swarm/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate><guid>https://smilex-blog.pages.dev/posts/hermes-v016-kanban-swarm/</guid><description>&lt;blockquote&gt;
&lt;p&gt;写作日期:2026-09-03。本文描述的系统行为均基于 2026-09-03 在作者本机正在运行的 Hermes Agent(任务上下文标注为 v0.16)上的&lt;strong&gt;现场观察与第一手工具面&lt;/strong&gt;,而非照抄宣传材料——作者写作时正作为 dispatcher 派生的 worker 运行在该系统的看板上。凡未能现场核验的时效性内容(版本号、变更日志、外部系统细节)均已标注,并统一列入附录 A 核验清单,引用前请以官方仓库与文档为准。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="hermes-agent-v016-kanban-swarm-功能深度解析面向-ai-开发者"&gt;Hermes Agent v0.16 Kanban Swarm 功能深度解析(面向 AI 开发者)&lt;/h1&gt;
&lt;p&gt;你写过这样的代码吗:一个 Agent 会话跑长任务,中途断网、进程被杀、上下文爆炸,一切归零;或者你想让&amp;quot;调研 Agent&amp;quot;和&amp;quot;写作 Agent&amp;quot;接力,却发现它们活在各自的进程里,谁也看不见谁。&lt;/p&gt;
&lt;p&gt;Hermes Agent v0.16 的 &lt;strong&gt;Kanban Swarm&lt;/strong&gt; 解决的就是这件事:用一块&lt;strong&gt;持久化的 SQLite 看板&lt;/strong&gt;,把多个独立 Agent(每个是一个 &lt;em&gt;profile&lt;/em&gt;,各自有独立的配置、会话、技能与记忆)组织成一支能接力、能并行、能失败重试、能跨进程存活的&amp;quot;工人队伍&amp;quot;。看板是它们唯一的共识层——任务状态、依赖关系、交接产物,全部落在磁盘上,进程死了看板还在。&lt;/p&gt;
&lt;p&gt;这篇文章不打算复述 README。作者写作时正被 dispatcher 派生、以 worker 身份跑在这块看板上(任务 &lt;code&gt;t_b1e3c641&lt;/code&gt;),文中的状态机、工具面、调度语义来自对现场事件日志的直接观察与本文写作时实时可用的工具 schema;配置项与 CLI 动词来自随环境安装的官方 skill 参考(v3.2.0)。我们从数据模型讲起,一路拆到调度器、worker 协议与编排模式。&lt;/p&gt;
&lt;h2 id="1-为什么-agent-需要一块看板"&gt;1. 为什么 Agent 需要一块&amp;quot;看板&amp;quot;&lt;/h2&gt;
&lt;p&gt;先给 Kanban Swarm 一个坐标系。Hermes 的多智能体能力按&amp;quot;存活时间&amp;quot;分成三层:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;系统&lt;/th&gt;
&lt;th&gt;形态&lt;/th&gt;
&lt;th&gt;存活&lt;/th&gt;
&lt;th&gt;典型用途&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;delegate_task&lt;/code&gt;(委托)&lt;/td&gt;
&lt;td&gt;同一进程内派生子代理,隔离上下文&lt;/td&gt;
&lt;td&gt;分钟级,&lt;strong&gt;进程退出即丢&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;并行推理子任务、短时侦察&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cronjob&lt;/code&gt;(定时)&lt;/td&gt;
&lt;td&gt;独立会话按调度触发,结果投递&lt;/td&gt;
&lt;td&gt;跨进程、持久&lt;/td&gt;
&lt;td&gt;周期巡检、定时报告&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Kanban Swarm&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;跨 profile 的任务队列 + 工作区 + 事件账本&lt;/td&gt;
&lt;td&gt;跨进程、持久、&lt;strong&gt;可接力&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;多 Agent 流水线、长任务、需要人工/评审介入的工作流&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;关键分界在&amp;quot;接力&amp;quot;:delegate 的子代理不知道彼此的产出,父进程一死全部蒸发;cron 只解决&amp;quot;到点跑一次&amp;quot;。Kanban Swarm 解决的是&lt;strong&gt;分工与交接&lt;/strong&gt;——任务卡在板上流转,任何 profile 派生出的 worker 都能认领、执行、写回结构化交接信息,下游任务在上游 &lt;code&gt;done&lt;/code&gt; 之前不会启动。&lt;/p&gt;</description></item><item><title>在浏览器里跑大模型:WebLLM 端侧推理深度解析</title><link>https://smilex-blog.pages.dev/posts/webllm-browser-inference/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate><guid>https://smilex-blog.pages.dev/posts/webllm-browser-inference/</guid><description>&lt;blockquote&gt;
&lt;p&gt;写作日期:2026-09-03。文中所有时效性信息(版本号、模型清单、性能数字)均标注了官方核验入口,引用前请以官方仓库最新状态为准。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="在浏览器里跑大模型webllm-端侧推理深度解析"&gt;在浏览器里跑大模型:WebLLM 端侧推理深度解析&lt;/h1&gt;
&lt;p&gt;打开一个网页,等上十几秒,就能和一个完全运行在你电脑里的 80 亿参数模型对话——提示词不出设备、没有服务器账单、断网也能用。这不是演示动画,而是 WebLLM 这类项目已经做到的日常。&lt;/p&gt;
&lt;p&gt;这篇文章从编译器一路拆到浏览器 API,讲清楚三件事:&lt;strong&gt;模型是怎么被&amp;quot;编译&amp;quot;进浏览器的、推理时 GPU 上到底发生了什么、以及它离&amp;quot;替代云 API&amp;quot;还有多远&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id="1-为什么要把大模型塞进浏览器"&gt;1. 为什么要把大模型塞进浏览器&lt;/h2&gt;
&lt;p&gt;大模型推理的主流形态是服务器端:你的输入上传到数据中心的 GPU,生成结果再传回来。它成熟、强大,但有四个结构性代价:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;隐私&lt;/strong&gt;:提示词与输出都经过第三方服务器,敏感数据(医疗、法律、代码)天然不适合;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;成本&lt;/strong&gt;:按 token 计费,长会话、批量任务会持续产生费用;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;延迟&lt;/strong&gt;:每一轮都要走网络往返,且受服务器负载影响;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可用性&lt;/strong&gt;:离线场景(飞机、偏远地区、内网)完全不可用。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;端侧推理(On-Device Inference)是这些问题的答案——把模型放在用户自己的设备上跑。而&lt;strong&gt;浏览器是覆盖面最大的&amp;quot;端&amp;quot;&lt;/strong&gt;:无需安装、天然跨平台、自动获得沙箱安全边界,用户只要打开一个 URL。过去浏览器推理是痴人说梦,因为缺一块拼图:&lt;strong&gt;GPU 通用计算能力&lt;/strong&gt;。这块拼图在 2023 年补齐了,名字叫 WebGPU。&lt;/p&gt;
&lt;h2 id="2-为什么是现在webgpu-补齐的拼图"&gt;2. 为什么是现在:WebGPU 补齐的拼图&lt;/h2&gt;
&lt;p&gt;浏览器跑神经网络的尝试由来已久,技术路线经历了三个阶段:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;纯 WASM 时代&lt;/strong&gt;:把推理代码编译成 WebAssembly 在 CPU 上跑。可行,但只能吃 CPU,跑大模型慢得没有实用价值。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WebGL2 时代&lt;/strong&gt;:WebGL 本质是图形 API,要拿它做通用计算,得把数据编码成纹理、把计算伪装成渲染,别扭且低效。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WebGPU 时代(2023 起)&lt;/strong&gt;:WebGPU 是现代图形 API(如 Vulkan/Metal/DX12)在浏览器里的投影,提供了真正的 &lt;strong&gt;compute shader(计算着色器)&lt;/strong&gt; 和通用 buffer,让浏览器能直接、高效地驱动 GPU 做大规模并行数值计算——这正是 LLM 推理的核心形态。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;对 LLM 推理而言,WebGPU 的三个特性缺一不可:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Compute shader&lt;/strong&gt;:矩阵乘法、注意力计算等核心算子可以直接写成 WGSL 计算内核,在 GPU 上大规模并行执行;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;通用 buffer + 显式内存管理&lt;/strong&gt;:权重可以驻留在 GPU 显存里反复读取,而不是每次从 CPU 拷贝;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;低开销、贴近现代 GPU 抽象&lt;/strong&gt;:相比 WebGL 的纹理解码绕路,性能损失小得多。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;浏览器支持方面,Chrome/Edge 自 2023 年 5 月的 Chrome 113 起在桌面默认启用 WebGPU,是最稳妥的目标平台;Safari 自 18 起随系统提供 WebGPU;Firefox 也在 2025 年年中起逐步默认启用(先 Windows,后扩展到其他平台,具体版本以 Firefox 发布说明为准)。&lt;strong&gt;移动端与各浏览器实现细节差异较大,落地前务必用 webgpureport.org 或 caniuse 复核目标用户群的浏览器版本。&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>