作者读完 Claude 团队「Building always-on agents」架构说明后,总结出五个要点:始终在线是使用体验而非一直开机,Agent 平时休眠、由事件唤醒。
同一件事,精选收录的是《Anthropic 发布始终在线 Agent 架构指南,拆解五类组件如何组成循环》
读完 Claude「Building always-on agents」值得学习的五个要点
1. 「始终在线」是一种使用体验,不是一直开机
Agent 大部分时间在休眠,有事件或到点了才醒来跑一次:收到事件、做完任务、把状态存下来,然后接着睡。单次运行很短,但循环一直在转。它的核心循环和普通 Agent 一样,真正的区别在外围架构。
2. 事件收件箱是整个系统的事实来源
用户消息、webhook、定时任务产生的事件,都先写进一张持久化的表,再由 worker 去领取,不让每个来源直接调用 Agent。同一个收件箱同时只放一个活跃 worker,按事件来源的唯一标识去重,用户连发的几条消息合并成一次运行。这样才扛得住重试、并发和崩溃。
3. 计时器让 Agent 显得主动
计时器分两类:一类是 Agent 给自己定的跟进时间,比如过一阵去看对方有没有回复;另一类是固定节奏的任务,比如每日简报。计时器单独存放,到期后不直接启动运行,而是往收件箱里投一条事件,走同一套流程。
4. 记忆只存下次查不到的东西
用户对 Agent 行为的指令、关于用户的笔记、已经对用户说过的话、每项任务的进度,这四类要写进记忆;外部系统里查得到的信息只存一个指针。每次运行都会先加载这部分上下文,所以要精简,并配合提示缓存控制成本。
5. 权限是最大的风险,发件箱要先少说话
凭证放在 Agent 环境之外,由代理注入到请求里。高风险动作交给分类器审查,最关键的决定仍由人来做。需要审批时就延期这次工具调用,结束当前运行,等用户的回答作为事件回到收件箱再继续,Agent 不会卡住。结果通过发件箱交给用户,节奏上先少发,再慢慢争取用户的注意力。
Claude 团队发布了一份可以照着搭的架构说明 收件箱、计时器、记忆、权限、发件箱单独看都不新,很多团队早已用队列加定时任务拼出过类似的东西 它真正有价值的地方,是把每个部件的职责划清楚,并明确一点:始终在线是一种使用体验,并不是让模型一直挂在线上消耗 token https://x.com/i/article/2121421287063179264在 X 查看被引用的帖子
来源:meng shao · x.com