abc小站

2026-11-01

agent 能写库,谁来兜底?Backenly 给出的答案是一道乘法

Backenly 给 coding agent 配一个会自修的后端:能验证、能撤销的自己修,有风险的留给人批;Product Hunt 名次以 10 月 31 日当日榜为准。

Backenly 官网分享图:Your coding agent builds it. Backenly keeps it running.
来源:Backenly

“兜底”这个词,很有意思。

它的原意,是把口袋的底兜住,东西就不会漏出去。

后来引申为:不管前面出了什么事,最后总有一个人、一个机制,替你接住。

银行有存款保险兜底,电商有七天无理由兜底,公司有财务复核兜底。

那么,agent 写的后端,谁来兜底?

这个问题,过去不太重要。因为后端是人写的,写错了,找写的人。

现在不一样了。

写得快,和兜得住,是两件事

我们先看一条传导链。

coding agent 写代码越来越快 → 后端变更越来越频繁 → 每一次变更都可能留下隐患 → 隐患积累的速度,超过人检查的速度。

这条链的最后一环,就是问题所在。

agent 能在几分钟内建好一张表、配好登录、接上存储。但它会不会忘了加索引?会不会留下一个权限漏洞?会不会顺手删掉一列“看起来没用”的数据?

都有可能。

Backenly 就是冲着这个问题来的。

据 Product Hunt 10 月 31 日的当日榜,它排第 6,我 11 月 1 日查看时得分是 111,这个分数还会变。

它的定位,是给 coding agent 用的后端平台。agent 通过 MCP 连上来,就能构建 Postgres 数据库、登录鉴权、文件存储、函数和实时订阅。

这部分不稀奇,很多平台都能做。

稀奇的是它怎么兜底。

一个公式

官网的说法是,能验证、能撤销的,它自己修,有风险的,留给你。看完 Backenly 的设计,我把这句话改写成一个公式,这是我的概括,不是官网原话:

能自动做 = 能验证 × 能撤销

为什么是乘法,而不是加法?

因为任何一项为零,结果就是零。

能验证但不能撤销,做错了回不去,不能自动做。

能撤销但不能验证,做没做对都不知道,也不能自动做。

只有两项都成立,才可以放手让机器去干。

人会犹豫,agent 不会

你可能会问:以前的后端平台,不也能删表吗?为什么到了 agent 这里,就要专门设计兜底?

因为使用者变了。

人在点“删除”按钮之前,会犹豫。会想一想,这张表是不是还有人在用?会去问一句同事。这一点犹豫,就是一道看不见的保险。

agent 不会犹豫。

它接到“清理一下没用的表”这个指令,就会认真地、高效地、毫不迟疑地去执行。它没有恶意,但也没有犹豫。

所以,以前藏在人脑子里的那道保险,现在必须写进平台里。

这就是 Backenly 这类产品存在的理由:把“犹豫”从人的习惯,变成系统的规则。

每分钟一次的体检

先看“能自动做”的部分。

Backenly 每分钟跑一次自愈循环:

Observe → Detect → Propose → Apply → Verify

观察、发现、提出方案、执行、验证。

它修的是三类问题:缺失的索引、RLS 权限漏洞、失效的 realtime 触发器。修完还要当场验证。

每一次自动修复之前,先打快照,可以一键 Undo。

你看,“验证”有了,“撤销”也有了。两项都不为零,所以可以自动做。

还有一个细节很重要:官网说,自愈修复是规则驱动的,不靠模型。

为什么?

因为规则是可预测的。同样的情况,规则每次给出同样的处理。而兜底的东西,最怕的就是“这次心情好,处理得不一样”。

哪些事,永远等人

再看“不能自动做”的部分。

删表、清表、删列、删文件、吊销密钥,Backenly 一律不执行。

这些操作会挂到一个叫“Waiting on you”的队列里,并且告诉你影响有多大:涉及多少活跃行、能不能恢复。

更关键的是两条规矩。

第一,agent 的 key 只能申请和轮询,不能批准。也就是说,agent 可以举手,但不能自己给自己签字。

第二,鉴权相关的变更、破坏性和不可逆的变更,在任何模式下都要人来批。

而普通的行增删改,照常执行,不打扰你。

这就是边界。

打个比方。你请人来家里做保洁,擦桌子、拖地、整理书架,不用每一步都问你。但要把一箱旧东西扔掉,一定得先问你。

为什么?因为桌子擦错了可以重擦,东西扔了就回不来了。

三个例子,一条线

官网举了几个例子,正好可以用公式检验一下。

例子一:orders.customer_id 缺索引。

加索引,能验证(查询有没有变快、有没有报错),也能撤销(删掉索引即可)。所以自动补上。

例子二:加一个外键。

外键会改变数据库接受哪些写入。今天加上,明天某个正常的写入就可能被拒绝。它影响的是未来的规则,不只是当下的状态。所以列出来,等人批准。

例子三:拆表。比如把退款相关的列,拆到一张新的 order_refunds 表里。

这是最复杂的情况。Backenly 的做法是:先在真实数据行的副本上演练一遍,然后回滚;人批准以后,新旧两张表双向同步,旧列不删。

你会发现,它是在想办法把“不能撤销”变成“能撤销”。演练让它“能验证”,保留旧列让它“能撤销”。公式的两项都补上了,人才放心点头。

底座:隔离、分支、开源

兜底能力,最后要落在架构上。

每个项目一个独立的 PostgreSQL schema,隔离靠数据库的 grant 权限,而不是靠查询里的 WHERE 条件。前者是墙,后者是一条画在地上的线。

另外有 PostgREST、pgvector、SSE 实时推送、S3 兼容存储。还有分支功能,agent 可以在分支上实验,看完 diff 再合并。

开源方面,官网自述:平台本身是 Apache-2.0,SDK、CLI、MCP 和 skill 是 MIT,可以自托管。

价格方面,Cloud 免费版不需要信用卡,Pro 版 $25/月,自愈不限量。区域有 Mumbai、Frankfurt、US East、US West、Singapore。

站内写过的 GitHub Agentic Workflows,做的是同一道题的另一半:把 agent 的权限减到刚好够用。

给用 agent 的团队,三个检查

如果你的团队已经在让 agent 改后端,不管用不用 Backenly,都可以拿这个公式自查一下。

第一,列出 agent 能做的所有操作,逐项问:能验证吗?能撤销吗?两个都答“能”的,才放进自动执行的清单。

第二,检查 agent 有没有“自己批准自己”的路径。申请权和批准权,必须在两个人手里。

第三,找出那些“看起来能撤销、其实撤销不了”的操作。比如外键这种改变未来规则的变更,比如已经同步到下游的数据。它们最容易被误判。

结语

agent 让“写”变得越来越便宜。

但“错”的代价,一点都没有变便宜。

以前,一个后端出了事,影响的是一个项目。以后,一个 agent 同时维护几十个项目,一次误判,就可能在几十个地方同时出事。

所以,真正值钱的不是写得多快,而是兜得多稳。

让机器去做能撤销的事,让人来做不能撤销的决定。

来源:Backenly 官网;Product Hunt 产品页;Product Hunt 2026-10-31 当日榜。功能、定价与许可证据官网;Product Hunt 排名为 10 月 31 日当日榜第 6,得分 111 为 11 月 1 日查看时的数值,会变动;“能自动做 = 能验证 × 能撤销”是作者对官网说法的改写,不是官网原话。