<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Benchmark on CAO ZUOHUA</title><link>https://caozuohua.github.io/tags/benchmark/</link><description>Recent content in Benchmark on CAO ZUOHUA</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 25 Aug 2026 11:30:00 +0800</lastBuildDate><atom:link href="https://caozuohua.github.io/tags/benchmark/index.xml" rel="self" type="application/rss+xml"/><item><title>极简 Agent 实用测试基准：别再只看能不能跑起来</title><link>https://caozuohua.github.io/posts/2026-08-25-minimal-agent-practical-benchmark/</link><pubDate>Tue, 25 Aug 2026 11:30:00 +0800</pubDate><guid>https://caozuohua.github.io/posts/2026-08-25-minimal-agent-practical-benchmark/</guid><description>&lt;p&gt;很多项目把“轻量”写在 README 里，但这个词经常只代表安装命令短、核心代码少，或者演示时能在一台小机器上启动。&lt;/p&gt;&#10;&lt;p&gt;对一个需要 24 小时在线的个人助理来说，这些都不够。真正的问题是：它空闲时占多少资源？连续调用工具后会不会涨内存？断网、重启、模型限额和审批暂停之后还能不能回来？&lt;/p&gt;&#10;&lt;p&gt;因此我给“极简 Agent”定义了一套实用测试基准。它不评模型知识，也不追求实验室里的漂亮分数，只回答一个工程问题：&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;这个 Agent 能不能在低资源 VPS 上，长期、稳定、安全地替一个人处理真实任务？&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="极简不是一个内存数字"&gt;极简不是一个内存数字&lt;/h2&gt;&#10;&lt;p&gt;一个个人 Agent 至少包含四层：&lt;/p&gt;&#10;&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-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;消息入口 → Agent Runtime → 外部模型 → 工具与状态&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;只统计 Agent 主进程的 RSS，会漏掉浏览器、Node bridge、MCP 子进程、后台 worker 和模型代理。只统计空闲内存，也会漏掉长上下文、文件解析和工具输出带来的峰值。&lt;/p&gt;&#10;&lt;p&gt;所以“轻量”应该同时满足：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;常驻资源低；&lt;/li&gt;&#10;&lt;li&gt;任务峰值有上限；&lt;/li&gt;&#10;&lt;li&gt;空闲后能够回落；&lt;/li&gt;&#10;&lt;li&gt;不产生孤儿进程；&lt;/li&gt;&#10;&lt;li&gt;重启后能恢复必要状态；&lt;/li&gt;&#10;&lt;li&gt;失败不会演变成无限重试；&lt;/li&gt;&#10;&lt;li&gt;高风险动作不会绕过审批。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="测试环境必须先固定"&gt;测试环境必须先固定&lt;/h2&gt;&#10;&lt;p&gt;不同机器、Python/Node 版本和模型端点会显著影响结果。每次测试至少记录：&lt;/p&gt;&#10;&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-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;host&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;cpu&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;vCPU&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;memory&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;GiB&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;swap&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;GiB&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;os&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Ubuntu 24.04&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;runtime&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;version&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;git commit / release tag&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;language&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Python 3.12 / Node 26 / Go 1.x&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;model&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;endpoint&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;remote OpenAI-compatible&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;model&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;fixed model id&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;context_window&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;fixed&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;features&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;channel&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Lark WebSocket&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;memory&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;SQLite or files&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;mcp_servers&lt;/span&gt;: [&lt;span style="color:#ae81ff"&gt;luck-ops]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;browser&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;disabled&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不要一边测 Agent A 的最小配置，一边给 Agent B 打开浏览器、语音和十个插件。功能集合必须一致，模型也必须一致。&lt;/p&gt;</description></item><item><title>DeepSeek Harness 解读（四）：minimal 真的是最小 Agent 吗？</title><link>https://caozuohua.github.io/posts/2026-08-18-deepseek-harness-series-4-minimal-agent-framework-contracts/</link><pubDate>Tue, 18 Aug 2026 10:30:00 +0800</pubDate><guid>https://caozuohua.github.io/posts/2026-08-18-deepseek-harness-series-4-minimal-agent-framework-contracts/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;这是 DSH 系列的最后一篇。我们之前问过：minimal preset 只有两个工具，它是否已经是最小化 Agent？答案是：对模型可见能力来说接近最小，对真实运行时来说并不是。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="dsh-的四种-preset-不是四个产品"&gt;DSH 的四种 preset 不是四个产品&lt;/h2&gt;&#10;&lt;p&gt;DSH 当前把 Agent 能力组合成几类 preset：&lt;/p&gt;&#10;&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-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;standard 完整 Coding Agent&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ptc TypeScript Code Mode / PTC&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;minimal persistent bash + str_replace_editor&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;creator 运行时检查和插件实验&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;它们不是四个独立程序，而是同一个 Cordis Runtime 上的不同能力组合。&lt;/p&gt;&#10;&lt;p&gt;这一区分很重要：preset 决定的是某个 Agent Scope 可以看到和使用哪些能力，而不是重新启动一套完全不同的 Agent 实现。&lt;/p&gt;&#10;&lt;h2 id="minimal-为什么看起来很小"&gt;minimal 为什么看起来很小&lt;/h2&gt;&#10;&lt;p&gt;DSH 的 minimal 配置对模型暴露的主要能力只有：&lt;/p&gt;&#10;&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-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. persistent bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;2. str_replace_editor&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同时它关闭或抑制了很多额外上下文：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;不加载完整 Coding Agent 的复杂工具集；&lt;/li&gt;&#10;&lt;li&gt;不注入运行时上下文；&lt;/li&gt;&#10;&lt;li&gt;不使用默认的复杂压缩能力；&lt;/li&gt;&#10;&lt;li&gt;使用固定、短的系统提示；&lt;/li&gt;&#10;&lt;li&gt;让 Bash 在多个 step 之间保持状态。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;相关实现可以直接看 &lt;a href="https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/config/agent-presets/minimal/agent.cordis.yml"&gt;minimal agent preset&lt;/a&gt; 和 &lt;a href="https://github.com/deepseek-ai/deepseek-harness/blob/master/.agents/notes/implemented/feature/2026-08-11-minimal-profiles-bare-two-tool-runtime.md"&gt;minimal runtime 设计记录&lt;/a&gt;。&lt;/p&gt;</description></item></channel></rss>