Wei Wang — 

Agent Andon:给人工智能编码 agent 的状态看板

同时运行几个人工智能编码 agent 时,最先不够用的是注意力,而不是算力。堆算力很容易,但人的精力有限,盯不过来这么多终端窗口。agent 经常停顿:要么在等授权,要么刚跑完一轮在等新指令,而且停下来时毫无动静。没人盯着终端,它就白白闲置。

Agent Andon 就是为了解决这个问题。它的作用很明确:指出此刻哪个 agent 需要处理。看板上每个会话占一行,需要干预的高亮,其余的保持灰暗。这个名字来自工厂生产线上的 “安灯”,也就是挂在产线上方、用来指示哪里需要帮忙的信号灯。

状态呈现

会话状态不少,但真正需要处理的只有两种:报错,以及等待输入或授权。运行中、已结束或空闲状态会被隐入背景。需要处理的状态则通过颜色和微动效果凸显。人不在屏幕前时,这些状态变化可以直接推送至手机。

某一轮跑完了,并不代表任务彻底结束。agent 交还控制权时,后台可能还有没跑完的任务,因此 Andon 将状态标记为 “已交还” 而非 “已完成”。看板还会故意延迟几秒状态更新,防止 agent 只是短暂间歇后又自己继续跑。

远程通知

默认情况下,看板只保留在本地网络中。如果想在外面用手机接收推送,需要通过中继服务器。传统的托管服务通常需要将原始数据上传,并指望服务商“不作恶”。Andon 拒绝这种信任假设:数据在本机加密,只在浏览器中解密。中继只负责传输打不开的密文,项目名和日志内容对它完全封闭。中继只能看到流量元数据(会话数、时间戳、来源地址),看不到任何实际内容。

这里有一个无法避开的漏洞:中继服务器在分发密文的同时,也分发了展示看板的网页代码,而解密密钥正是由该网页处理的。因此,加密无法完全防御恶意中继。最纯粹的办法是使用默认的本地运行或自托管。对于官方托管版本,系统提供了一个校验机制,将中继下发的网页与公开源码仓库进行比对。这只是个静态快照,算不上绝对的安全保证,但它让悄悄替换网页代码的行为变得极难隐藏。

部署与上手

默认的自托管完全免费,代码极简,易于审计。如果想在外接收推送,可以自己跑中继,或者直接用公开的托管服务。项目还很早期。

AGPL-3.0。

ZH / EN