先讲一件反直觉的事。
你以为 Agent 跑第 40 步时,是在"接着上次继续"。不是的——第 40 步,是把第 1 步到第 39 步的全部内容,连同系统提示、工具定义、每条消息、每个工具返回结果,原封不动再发一遍。
![]()
模型只有一个本事:文字进,文字出。调用一结束,它什么也不记得。
所以长任务真正的成本结构是这样的:输出是它干的新活,输入是它在重读自己。 输出可能只占一小部分,输入才是那个悄悄膨胀的怪物——每一步都比上一步多读几千 token。
理解了这件事,你才看得懂 8 月 13 日 DeepSeek 开源的那个项目——DeepSeek Harness(dsh)——到底在解决什么。
上线不到 24 小时破 7 万 Star,五天 14.9 万,一周冲破 20 万,目前稳定在 21 万量级。它不是新模型,甚至不是个"AI 编程工具"。它是一个运行时框架。
一、Agent = Model + Harness
官方给的公式就这一行:
Agent = Model + Harness
模型是脑子,负责想;Harness 是那层让脑子能动手的操作系统——工具在哪、命令怎么跑、能写哪些目录、什么时候必须人批准、历史存哪、任务怎么恢复、子代理怎么派、外部模型怎么接、用户从哪看和控制。
这两件事被彻底解耦了。你换模型不用动工具集成,加新能力不用碰模型适配。
这个思路不新鲜,Claude Code 也这么干。真正让 dsh 不一样的是下一层。
二、"一切皆插件":连主循环都能换
Claude Code、Codex 这类产品,你能加工具、能装技能,但那个核心循环——提示 → 模型 → 调工具 → 回模型 → 结束——是厂商写死的。像品牌机,想加内存得等厂商排期。
dsh 是反过来的。它底层是个叫 Cordis 的微内核(北大与 DeepSeek-AI 在 8 月 26 日专门发过论文,讲时空可组合性),然后模型适配器、工具注册表、会话日志、沙箱、存储、调度、UI——甚至 Agent 主循环本身——全是插件,启动时从一份声明式配置挂载。
一条命令就能看你这个 Agent 到底由什么组成:
dsh --profile web --dump-config打出来的那棵插件树,就是你 Agent 能力的完整说明书。改行为 = 改配置,不是改源码。
它甚至不绑 DeepSeek 自己的模型——支持 OpenAI、Anthropic、Google、Kimi 等近 40 家提供方。官方把它定义为对标 Claude Code 的产品,负责人崔添翼是 ACM 金牌得主,项目 5 月立项,8 月 15 日国家超算互联网就上线了它,QQ Bot 也接了进去。
三、最硬的一招:不改写历史
现在说它最惊艳、也最少被人讲透的工程细节——append-only(只追加,不修改)。
回到开头那个问题:每步都要重发全部历史,输入越来越贵。于是各家都上了 前缀缓存(prefix caching):只要你这次请求开头那段字节,和上次的完全一样,供应商就能从书签处接着算,命中的部分按远低于标准的价格计费。
DeepSeek V4-Flash 的高峰价:缓存命中 0.10 元/百万 token,未命中 3.00 元——差 30 倍。
但缓存有个很"粗鲁"的前提:从请求第一个字节起,必须逐字逐句和上次相同。
差一个字符,书签就作废,后面的全部重读,你为全文买单。
于是那些平时不起眼的动作,全在偷偷烧钱:工具按注册先后排,每次启动顺序还不一样;系统提示里塞了当前时间戳;压缩上下文时回头改写了旧消息;同一份 schema 序列化时字段顺序飘了。
dsh 的答案简单到近乎笨:一旦发过给模型的内容,就永不回头改它。
一个错误的文件路径留在日志里?留在那儿。你要做的,是在后面追加一行"顺带说,刚才那个路径是错的"。
听起来像记账。但正是这本账,让它不再为"重读自己的日记"付费。公开测试里出现过 99% 的缓存命中率(Pi 调 V4-Flash 的另一个案例也是 99.x%)——输入成本压到原来的约 1/23。
⚠️ 但必须说清楚:99% 是样本,不是承诺。 DeepSeek 官方文档明确写了缓存是 best-effort、不保证百分百;dsh 自己的源码也只是"测到了命中",没测"99%"这个数。它真正的价值是——把"这一次到底向模型发了什么"变成了一件可组装、可记录、可重建、可比较的事。命中率跌了,你能回答具体问题:换模型了吗?system prompt 哪段变了?工具是少了还是只换了顺序?是不是压缩过?
它本质上是一台"请求编译器"。
四、每一步都能回看
append-only 顺手解决了另一件事:可观测性。
系统提示、推理状态、工具调用、结果、子代理派发,全进追加式会话日志。Web UI 里有个 Trajectory 视图,能按来源检查、搜索、分叉、重放整条运行轨迹。
Agent 在复杂任务中途崩了,能回放它当时"看到了什么、在想什么"——这是"可修的 bug"和"不透明失败"之间的全部区别。多数框架把可观测当补丁,dsh 把它当底座。
它还有四种预设模式:标准(全功能:shell、检索、编辑、规划)、Code/PTC(用 TypeScript 把多步工具调用并成一批,省往返)、极简(只留 bash + 编辑器,用于官方跑分,保证可复现)、创造(诊断环境,在内存里试新插件配置)。
上手只要一条:
npx @deepseek-ai/dsh web浏览器开 http://127.0.0.1:3080,配模型、选工作区、开会话。
五、几盆该泼的冷水
它是开发者预览版。 根目录 package.json 版本还停在 0.1.2-rc.1,README 用大写字母警告会有破坏兼容性的变更。20 万 Star 代表关注度,不代表稳定性——三周内发了三个 tag,每个版本的命令和配置都可能不通用。现在适合研究和实验,不适合押上生产。
权限给得很宽。 它能读文件、改文件、跑命令。在本地跑 Agent,攻击面是真实存在的——提示词注入、误删、秘钥泄露。沙箱、审批策略、工作区隔离,一个都别省。
缓存不是免费的魔法。 命中率由请求结构、任务形态、供应商策略共同决定。以为换上 dsh 就自动省 30 倍,是想多了。
最后
dsh 最动人的地方,不是"又一个能干活的 Agent"。
是它用一套近乎偏执的设计——不改写历史、一切可插拔、每步可回放——回答了一个正在变得致命的问题:
当模型越来越像黑箱,我们靠什么来保证 Agent 的行为是可解释、可复现、可负担的?
它的答案是:把运行时本身,变成一本不可篡改的账本。
模型负责聪明,账本负责让你赔得起、查得到、改得动。这大概就是 Harness 这个词,在 2026 年真正的分量。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.