找回密码
立即注册
搜索
发回帖 发新帖

6494

积分

0

好友

820

主题
发表于 13 小时前 | 查看: 3| 回复: 0

昨晚 DeepSeek 发布了新模型 DeepSeek V4 Pro,过程虽然有些波折,但性能提升并不让人意外。真正让人眼前一亮的是同时推出的 DeepSeek Harness——这也是 DeepSeek 的第一个 Agent 产品。开源才一天,GitHub 上已经涨到 8 万多星,增速比当初 R1 开源时还猛。

不少人以为 DeepSeek Harness 是又一个 Codex 复刻品,但真跑起来就会发现,它和 Codex 这类工具的思路完全不一样。

简单说,Codex 更像一体机,模型、工具、循环、权限全都焊死在一起。想更换模型,只能用 Codex 支持的格式;想移除用不到的工具省点 token,也没有入口。DeepSeek Harness 则是组装机——模型是插件、工具是插件、会话是插件,连 Agent 循环等等,一切皆插件。

为了支撑这套设计,DeepSeek 还专门发了一篇 88 页论文,把插件装卸做成了一套有数学证明的形式化系统。这也是我第一次看到有人用数学证明来定义 Agent Harness 到底该怎么组装。

下面就从安装开始,带你一步步把它跑起来。

一行命令跑起来

首先,机器需要装 Node.js,版本要求 22.19 以上;没有的话,也可以让别的 Agent 帮你装。接着在命令行执行:

npx @deepseek-ai/dsh web

稍等片刻,终端会出现 dsh web: http://127.0.0.1:3080。用浏览器打开这个地址,就进入 DeepSeek Harness 的主界面了。

第一次使用前,它会提示你输入 API Key。先去 DeepSeek 开放平台(platform.deepseek.com)创建一个:

DeepSeek 开放平台 API Keys 管理界面

复制 API Key,回到 Harness 界面粘贴,就能看到下面的主界面:

DeepSeek Harness 主界面预览

这时输入框还不可用。你需要先选择一个工作区,也就是要让 Agent 操作的项目目录;比如我直接选了 deepseek-harness 的源码目录,选好后输入框才解锁。

开始第一个任务

配好之后,我先试了个简单任务:让它总结自己的源码仓库。我发了一句“总结此代码库并识别其主要工作原理”,它读了 AGENTS.md,扫了 packages 目录,又翻了设计文档,一分钟左右就给出一份架构概览,核心包及各自职责列得很清楚。

DeepSeek Harness 总结代码库工作原理的输出

直观用下来,它和 Codex 的区别挺明显:

第一感受是快。用惯了 Codex 再切过来,对比非常明显:响应速度和工具调用周转都很快。这当然和 DeepSeek V4-Flash 本身的推理速度有关,但 Harness 端在开销控制上做得也不错。

另一个亮点是轨迹视图。点开“轨迹”标签页,能看到模型每一步看到了什么、调用了哪个工具、传了什么参数、返回了什么结果;连 system prompt 和 context 注入都能展开查看。

DeepSeek Harness 会话轨迹视图

这些信息都记录在 append-only 的会话日志里,恢复、分叉、回放都从这份日志派生。这种“模型可见即已记录”的做法,在其他 Agent 工具里并不多见。

装备 Agent 预设

DeepSeek Harness 对 Agent 的灵活控制,集中体现在它的 Agent 预设功能。所谓 Agent 预设,就是一个会话的 Agent 实际运行的那组插件组装,包含工具、提示词和能力等。

打开设置里的“Agent 预设”,可以看到内置了四种预设:

DeepSeek Harness Agent 预设设置界面

标准模式是日常默认项,工具组合最完整。PTC 模式让模型用 TypeScript 程序编排多步工具调用,思路跟 Claude Code 的 thinking tool use 类似。极简模式只保留 bash 和编辑器两个工具,适合基准测试。创造模式则在标准模式的基础上,多了自检、插件实验和预设创建能力,专门用来生成新的 Agent 预设。

这四种模式本身就在演示“一切皆插件”的核心思想:不同模式不过是不同的插件组合,你完全可以复制一份再改成自己的。

入门阶段,标准模式已经够用。等你玩熟练了,想针对特定场景或项目做定制,再切换到创造模式,让它帮你装备上特定的工具、Skill、知识库等私有配置。

一切皆插件

前面提到 DeepSeek Harness 是组装机,那它到底能组装哪些部分?翻源码发现,整个项目由 50 多个独立的 Cordis 插件组成,每个插件负责一个具体能力。插件之间没有核心与外围之分,官方原话是 “There is no privileged core to patch”——所有插件地位平等。

下面这张图展示了主要的服务插件,以及各自的可替换选项:

DeepSeek Harness 一切皆插件服务注册表架构图

从图中可以看到,模型、工具、会话、沙箱、技能、子 Agent 这些能力全部挂在同一个 Root Context 下,而且每个都可替换。下面挑几个最实用的场景展开说:

  • 换模型:在设置页添加自定义 OpenAI 兼容端点,指向公司网关或 vLLM,下一次请求直接生效,不用重启。
  • 换沙箱:默认为本地沙箱(Linux Landlock / macOS sandbox-exec),代码里带有 E2B 云端沙箱适配器,换个配置就行。
  • 删工具:Claude Code 每次都会把几十个工具 schema 塞进提示词里白吃 token;DSH 中每个工具是独立插件,在配置里禁用即可。
  • 换 Agent 循环:这是它与现有 Agent 工具最大的不同。Claude Code 和 Codex 的 agent loop 都写死在运行时里,哪怕能在预留的 hook 点做定制,循环本身仍换不了。DSH 的 agent loop 只是一个普通插件,写个新的替换它就行。而且循环里的每个关键节点(模型请求前、工具执行前、轮次结束时)都是 waterfall 事件,写一个审批插件或日志插件,监听这些事件就能拦截和改写,完全不用碰循环代码本身。

说白了,其他 Agent 能做的 DSH 都能做;反过来,agent loop 本身可替换这件事,是其他 Agent 加再多 hook 也做不到的,因为这属于最底层的架构决策。

Cordis 运行时安全装卸

既然一切都是插件,就必须回答一个问题:插件在运行中装上、卸下,怎样才不会把其他插件搞挂?这正是 Cordis 框架要解决的核心问题。

对比一下,VSCode 也有插件系统,但每次卸载插件都要重启整个编辑器。Cordis 的目标则是让插件能随意热插拔,并且用数学证明来保证安全。

下图展示了 DeepSeek Harness 的分层架构,从上到下每一层都可以被上一层覆盖:

DeepSeek Harness 分层架构图

论文把安全装卸拆成两个维度来解决:

  • 时间维度:插件卸载时所有副作用必须可撤销。每个注册的事件监听器、服务、工具 schema 都通过 ctx.effect() 安装,运行时追踪逆操作,卸载时反序执行。
  • 空间维度:插件间依赖自动管理。通过 inject 声明需要哪些服务,框架等依赖就绪再激活。被依赖的服务卸了,依赖它的插件自动暂停。

有了这两个保证,你可以在 Agent 运行时换模型、加工具、改沙箱,既不会丢上下文,也不会丢会话。论文还证明了 confluence 定理:无论以什么顺序装卸插件,最终状态都等价于把最终配置从头加载一次。

还不够好的地方

DeepSeek Harness 刚开源一天,生态却已经相当热闹。内测阶段招募在 Twitter 上引发了一场开发者路演,最终 964 人报名、提交了 897 个项目。开源之后,awesome-deepseek-harness 这样的精选列表也迅速冒了出来。

有意思的是,翻 GitHub commit 历史能发现,不少代码是通过 Codex worktree 提交的。DeepSeek V4 原生支持 Responses API,可以无缝接入 Codex;团队直接拿竞争对手的工具来开发自家产品,确实挺务实。

目前官方暂不接受外部 PR,但可以通过 Discussion 反馈问题,也鼓励社区做独立插件来丰富生态。官方表态很有意思:“我们不认为官方仓库中的包,比社区创建的包更重要。”

不过问题也不少。当前 v0.1 仍处于开发者预览状态,后续大概率会有破坏兼容性的变更。安全方面,已经有研究者发现几个严重漏洞,比如 read-only 沙箱对读操作并不设防、动态插件的 vm 沙箱存在逃逸路径等;在实际使用时一定要留意这些问题。

写在最后

如果把 DeepSeek Harness 当成产品来看,它现在有没有 Codex 好用?UI 成熟吗?体验顺不顺畅?这些问题的答案,恐怕都还是“差得远”。

但 DeepSeek Harness 看重的,可能并不是当下的使用体验。模型能力仍在高速变化,Harness 的最佳范式还远未收敛;这时候过早押注一个封闭产品,等于用一家公司的判断去赌一个仍在移动的终局。DeepSeek 的做法是把门打开,尽量保留选择权,让社区去探索哪种组合更有效。

哪种上下文策略跑赢了,它就能成为默认插件;PTC 如果比传统工具调用更有效,就继续强化;未来模型强到不再需要复杂的多 Agent 编排,那些组件也随时可以卸掉。社区跑出来的问题、插件和经验,会不断暴露模型在真实任务中的短板——这些反馈既推动 Harness 迭代,也能告诉模型团队下一代该朝哪个方向训练。

你现在不必急着把全部任务都切过来,但可以考虑把中文写作、超长上下文任务,以及日常跑量较大的工作先丢给它试试;等后续版本稳定了,再逐步切换更多工作过来。

相关链接:




上一篇:TauGrid 开源实践:Kubernetes 云原生 GPU 训练平台全流程统一 Kueue 与 KubeRay
下一篇:GitHub新项目Jumper:22自由度螃蟹机器人靠PPO自己学会走路跳舞
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-11 19:11 , Processed in 0.066791 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表