现在做个小实验,打开你的手机,看看通知栏。
大概率堆着几十条红点:外卖的、快递的、群聊的、App 促销的。你早就不点了,但它们照旧勤奋地弹。
把场景换到 AI 时代,情况只会更糟。你的编程 Agent 说 CI 挂了要你看,日历 Agent 说有个会议要你确认,邮件 Agent 说来了封重要邮件,研究 Agent 说资料查完了……每一个都尽了职,每一个都觉得自己重要,而你已经疯了。
我最近就处于这个状态,于是用 Rust 写了个小东西来解决它。这篇文章不讲代码,讲清楚三件事:它怎么思考、它守什么规矩、它怎么记住你是谁。
先想明白:这是个什么问题
一开始我的思路很直接,找个大模型当总管,所有通知先给它过目,由它决定推不推给我。
试下来发现不行。大模型当总管,它自己就是个话痨,每条通知都能给你分析出一段小作文,比通知本身还吵。
后来我想通了一件事。这个问题,电脑其实四十年前就解决过了。
CPU 每秒钟要面对成千上万条硬件请求,网卡说有数据包,硬盘说读完了,鼠标说你动我了。如果全都直接打断 CPU,机器当场瘫痪。所以操作系统里有个专门的角色,叫中断控制器,所有请求先到它那里排队,它按一套写死的规矩决定:谁立刻上报、谁先等等、谁直接忽略。
人的注意力,和 CPU 是同一种资源,都是一分一秒被抢着用的。 缺的就是这个中间人。
所以我造的不是一个更聪明的助手,而是一个保安。AI 们有什么事,先跟保安说。这个工具能替我快速做决策,又有深度思考的能力,还带着长期记忆,自然而然会越用越懂我,越用越会替我决策。
它的思考方式:一个嘴快的,一个稳重的
保安的脑子分两层,整体架构如下:

第一层是个嘴快的小助理。 接的是 Jev,一个专门做快速判断的小模型。它的用法很特别,不让它写作文,让它做选择题。一件事过来了,一次性问它九道题:
这事该归到哪一档(忽略 / 后台处理 / 排队 / 通知 / 打断 / 上报)?多紧急?影响多大?多复杂?风险多高?内容涉不涉密?现在值不值得打断这个人?需不需要请更高级的?
九道题,几百毫秒答完,每道题还自带一个「我有几成把握」。比如它会回答:这事儿该通知你,我 44% 把握,也有 35% 把握该升级处理。这个犹豫本身,后面会派上大用场。
第二层是个稳重的老专家。 只有三种情况会请动他:事情太复杂、风险太高、或者小助理自己都没答利索(某道题把握低于 55%)。老专家是 DeepSeek,会花上两到六秒,认真给你一份分析和建议。
这个搭配就是心理学里说的快思考与慢思考。绝大多数杂事,小助理几百毫秒就打发了,又快又便宜;真正需要动脑的少数事情,才值得请专家出场。

最关键的设计:拍板的不能是 AI
到这里你可能以为,让 AI 判断就行了。恰恰相反,这是整个系统里最重要的一个决定:判断可以交给 AI,拍板的权利,一行都不能给。
原因很朴素。AI 的判断是概率性的,今天说该打断、明天说该等等,你没法跟它讲理,也没法测试它。而「要不要打断一个人」这种事,必须可预期、可审计、出了问题能查。
所以真正的裁决,是一组写死在代码里的规矩,谁来都不变:
- 自己没把握的,就闭嘴。 小助理说该打断你,但把握不到 72%,不许打断,降级成普通通知;把握连 55% 都不到,连通知都不发,进队列等你自己看。
- 十分钟最多叫你三次。 就算是急事,连续打断也有预算上限,超了就排队。轰炸式提醒等于没有提醒。
- 重复的事只说一遍。 同一件事九十秒内再来,直接吞掉。
- 免打扰就是免打扰。 你标了专注、开会、勿扰,打断一律降级。唯一的例外:严重度 98 分以上或者标了紧急的事,才允许硬闯。天塌了还是要叫你的。
- 快截止的事保底。 需要你操作的事马上到截止时间了,至少会保证一条通知,防止它在各种降级规则里被误伤。
这套规矩跑下来有个很妙的副产品:系统会同时记下两个结论,「AI 想干什么」和「最后被允许干什么」。比如 AI 判断该打断你,但你开着勿打扰,最终执行的是普通通知。两个都留着,事后你永远能查到:当时 AI 的意见是什么,规矩又为什么拦了它。
AI 是参谋,规矩是制度。参谋可以换、可以错,制度必须稳定。
它可以帮你做事,但发不发你说了算
老专家(DeepSeek)分析完,可以提议一些动作:帮你建条待办、起草一条回复、给某人发个消息。
但这里有一道铁门。它只能把东西准备好放在桌上,放在一个「待确认」的面板里,你点了按钮,事情才会真的执行。尤其是对外发消息这种收不回来的操作,无条件要你亲手确认,没有任何后门。
它想自动执行也可以,但条件苛刻到近乎苛刻:低风险、可撤销、只在本机、快慢两层判断都很有把握,而且你提前开过开关。五个条件缺一个,回来等确认。
并且每一步都有记录本。一件事从「待确认」到「已执行」还是「被拒绝」,每次变化都写进本地数据库的审计日志,随时可以翻旧账。
道理很简单:AI 可以是个能干的秘书,但不能是一个会替你签字的秘书。
它会记你的习惯,这是最吓人也最动人的部分
前面的能力,说到底还是个更聪明的过滤器。真正让我自己起鸡皮疙瘩的,是后来加上的记性。
它的学习方式是这样的。每轮对话结束,后台悄悄复盘一遍:这段话里有没有值得长期记住的、关于「你」的信息,有就记进本地数据库。而且不是记流水账,是先翻开本子对一遍——跟已有的一条矛盾了,就更新旧的;重复了,就不记。这个思路借鉴了现在很火的开源记忆框架 Mem0,不过我用两百行 Rust 原生实现,没有引入任何外部组件。
检索的时候也没用什么高深技术。你总共就几百条习惯,翻翻本子、做做关键词匹配就够了,犯不着上图书馆级的检索系统。够用的简单,就是最好的简单。
然后是一次真实发生的测试。
第一天,我随口跟它说了句:我习惯上午写代码不排会,对外会议放下午两点以后,沟通尽量用飞书。
就一句闲聊。没有任何设置界面,没填过任何偏好表单。
第二天,我让它处理一个会议邀请,客户想约周二上午十点。它的回复是:客户约的时间跟你的习惯冲突,你的上午是留给写代码的,建议改到当天下午两点半;另外你偏好飞书,我可以先起草一条飞书回复,等你确认再发。
它翻了自己的小本本,然后替我挡了一次上午的会。
当然,规矩也守在这里:涉密的内容一个字都不出这台电脑,标了机密的事件连云端模型都不许碰,更不会进记性。

最后,说几句实话
这个东西现在是什么水平,我说几句实话。
它提前了一步。大多数人手头还没有一堆 Agent 需要管,你现在用不上它。但只要你的微信、邮件、日历还在天天替别人打断你,这个问题的答案对你就是成立的——只是现在替你挡着的,是一个既不懂你、也不分优先级的红点机制。
技术上它不神秘:八千行 Rust、两个模型的接口调用、一个 SQLite。真正的价值在那个视角——AI 时代的入口,拼的不是谁更聪明,而是谁更知道什么时候闭嘴。
项目小群内部开源,本地一行命令就能跑起来。有兴趣的兄弟可以自己拆开看,规矩就在代码里,一行都不含糊。
项目地址: https://github.com/coder-brzhang/AgentOS-Interrupt-Controller-Rust