Skip to content

DeepSeek 给自主 Agent 定的三条铁律 ​

一句话结论:看 DeepSeek 开源的 dsh-superagent,架构值得学,但最打动我的是文档开头那句底气很足的话——尽量少占用人的注意力,尽量多给人价值。一个能替整个团队干活的 Agent,也能浪费整个团队的注意力。所以它能动,但有节制。

我做 Lyncore 这几年,反复在同一个坑里栽:总想让 Agent "更主动一点",结果它开始抢话、打断、在没人问的时候自说自话。用户不是觉得"它真能干",而是觉得"它好吵"。DeepSeek 把这事写成了三条铁律,我读的时候有点被戳中。

三条铁律:行动边界、开口边界、规则边界

铁律一:只在被请求、或规则允许时才行动 ​

dsh-superagent 监听 GitHub 和飞书,但它不会自作主张。一个请求要么是人明确 @它,要么命中团队事先写好的规则(比如"每天凌晨的 CI 失败归它处理")。除此之外,它安静。

这点特别关键,因为"主动"和"打扰"之间只差一条线。没有这条线,Agent 会在每个 Issue 下面冒出来刷存在感,把信号变成噪声。我们做 Lyncore 的异步双工时也是同一道坎:长任务可以在后台跑、边干边聊不阻塞主会话固然好,但"能随时插话"不等于"要随时插话"。

铁律二:只在"有人必须行动、或能用上结果"时才开口 ​

它能跑完一整轮调研、把活干完,但回不回复、回复什么,取决于"这事是不是非人不可"——需要人拍板的,交回去;只是进度,先记着,等人问再给。

这背后是一种克制:Agent 的价值不在于"它说了什么",而在于"它省下了人的哪段时间"。一个每天发十条"我正在处理"的 Agent,和一个只在出结果时出现的 Agent,后者省下的注意力才是真价值。Lyncore 的在场感知(PresenceThinker)也是这个方向——不是"它能不能打断你",而是"它知不知道现在该不该出声"。

铁律三:你写下的规则,它照做;你没写的,它不猜 ​

dsh-superagent 把"谁能让它干活""能跑到哪一步"做成显式的 Policy(准入白名单 + 模型研判 + 不可变的授权书 Mandate)。界限是写出来的,不是它临场发挥的。

这点对我很有启发。很多 Agent 产品喜欢宣传"它自己会判断",但把判断权完全交给模型,等于把边界交给了每一次随机性。我们倾向于把"能不能做、做到哪"做成确定的护栏,模型只在不越界的地方发挥。判断权留在调度层,不在干活的那个会话里——这句话我越想越对。

为什么这三条让我想写下来 ​

不是因为 DeepSeek 说了什么惊人之语,而是因为它把"自主"这件事的分寸感讲清楚了:自主不是"什么都替你干了",是"该干的干、不该吵的闭嘴、边界写明白"。

一个 Agent 替整个团队干活,和一个人替整个团队干活,面对的是同一道题——信任来自分寸,不来自存在感。

我们做 Lyncore 时,异步双工、在场感知、任务挂起等人拍板(waiting_approval),其实都在回答同一道题。DeepSeek 用一份开源文档把它说成了铁律,挺好。

想看工程侧怎么落地这些克制,可以读技术侧的几篇:《主会话 + 工作会话》、《把"等人"做成一等公民状态》、《先决定、后动手》。Lyncore 的产品思路见 lyncore.top。


本文是 DeepSeek 开源 dsh-superagent(MIT,研究原型、非官方产品)的阅读笔记,掺杂了一点我们做 Lyncore 时的同类取舍。不褒不贬,只记分寸。